.gsap-video-wrapper {
    position: relative;
    width: 100%;
}
[data-gsap-animation="video-fullscreen"] {
    overflow: hidden;
    will-change: width, height, transform;
    isolation: isolate;
}

[data-gsap-animation="video-fullscreen"] video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

[data-gsap-animation="fade-in"] {
    will-change: opacity, transform;
}

[data-gsap-animation="slide-in"] {
    will-change: opacity, transform;
}

[data-gsap-animation="scale"] {
    will-change: transform, opacity;
}

[data-gsap-animation="parallax"] {
    will-change: transform;
}
.gsap-video-fullscreen,
.gsap-video-fullscreen video {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.gsap-video-fullscreen.gsap-video-active {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
}

@media (max-width: 768px) {
    .gsap-video-fullscreen {
        margin: 1rem auto;
    }
}

.gsap-video-fullscreen.loading {
    opacity: 0.5;
    pointer-events: none;
}

.gsap-video-fullscreen.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: gsap-spin 0.8s linear infinite;
}

@keyframes gsap-spin {
    to { transform: rotate(360deg); }
}
