@layer utilities {
    .text-shadow {
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    .bg-gradient-primary {
        background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
    }
    .bg-gradient-accent {
        background: linear-gradient(135deg, #f97316 0%, #fb923c 100%);
    }
    .transition-all-300 {
        transition: all 0.3s ease;
    }
    .animate-float {
        animation: float 3s ease-in-out infinite;
    }
    @keyframes float {
        0% { transform: translateY(0px); }
        50% { transform: translateY(-10px); }
        100% { transform: translateY(0px); }
    }
    .scrollbar-hide::-webkit-scrollbar {
        display: none;
    }
    .scrollbar-hide {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
}

/* 自定义样式 */
html {
    scroll-behavior: smooth;
}
body {
    font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.hero-section {
    background-image: url('https://p3-flow-imagex-sign.byteimg.com/tos-cn-i-a9rns2rl98/rc/pc/super_tool/bf6234f77cb54bdb9f5f0d95e2647dc8~tplv-a9rns2rl98-image.image?lk3s=8e244e95&rcl=20260122073927DE4CE2FABB847702DDE4&rrcfp=f06b921b&x-expires=1771630781&x-signature=gIkxYZ0EUrL4UFC1qk3xOwS637Q%3D');
    background-size: cover;
    background-position: center;
    position: relative;
}
.hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(30, 64, 175, 0.7);
    z-index: 1;
}
.hero-content {
    position: relative;
    z-index: 2;
}
.feature-card:hover {
    transform: translateY(-5px);
}
.faq-item.active .faq-answer {
    max-height: 500px;
    opacity: 1;
    padding-top: 1rem;
}
.faq-item.active .faq-icon {
    transform: rotate(180deg);
}
.faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}
.news-card:hover .news-image {
    transform: scale(1.05);
}
.news-image {
    transition: transform 0.5s ease;
}
.mobile-menu {
    transform: translateX(-100%);
    transition: transform 0.3s ease-in-out;
}
.mobile-menu.active {
    transform: translateX(0);
}
.fixed-bottom-menu {
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}