@layer utilities {
    .text-shadow {
        text-shadow: 0 2px 5px rgba(0,0,0,0.3);
    }
    .transition-all-500 {
        transition: all 500ms ease-in-out;
    }
    .scroll-animate {
        opacity: 0;
        transform: translateY(40px);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }
    .scroll-animate.is-visible {
        opacity: 1;
        transform: translateY(0);
    }
    .modal.open {
        display: flex;
    }
}

@keyframes kenburns-effect {
    0% {
        transform: scale(1.1) translate(0, 0);
    }
    100% {
        transform: scale(1) translate(-3%, 3%);
    }
}

.ken-burns-active {
    animation: kenburns-effect 20s ease-out forwards;
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}

.text-gradient-gold {
    background: linear-gradient(135deg, #fff 0%, #ffd700 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

@keyframes bounce-x {
    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(6px);
    }
}

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

.animate-bounce-x {
    animation: bounce-x 1s infinite;
}

/* 核心功能：隐藏滚动条 */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* 引导箭头动画 */
@keyframes bounce-x {
    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(8px);
    }
}

.animate-bounce-x {
    animation: bounce-x 1.2s infinite ease-in-out;
}

/* 移动端卡片宽度微调 */
@media (max-width: 767px) {
    #policy-container {
        padding-right: 40px;
    }
}