@layer utilities {
    .content-auto {
        content-visibility: auto;
    }
    .text-shadow {
        text-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    .transition-custom {
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .scrollbar-hide::-webkit-scrollbar {
        display: none;
    }
    .scrollbar-hide {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
}

/* 全局动画 */
.animate-zoom {
    animation: zoomIn 20s ease-in-out infinite alternate;
}

@keyframes zoomIn {
    from { transform: scale(1); }
    to { transform: scale(1.1); }
}

/* 页面过渡动画 */
.animate-fade-in {
    animation: fadeIn 0.8s ease-in-out;
}

.animate-slide-up {
    animation: slideUp 0.8s ease-out;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* 修改后 */
.animate-zoom {
    animation: zoomIn 20s ease-in-out infinite alternate;
    will-change: transform; /* 提示浏览器优化动画 */
    transform: translateZ(0); /* 启用GPU加速 */
}

/* 添加触摸反馈样式 */
@media (hover: none) {
    .menu-item, .btn-primary {
        -webkit-tap-highlight-color: rgba(255, 193, 7, 0.3);
    }
}

@media (max-width: 640px) {
    h1 { font-size: clamp(1.5rem, 5vw, 2.5rem); }
    h2 { font-size: clamp(1.3rem, 4vw, 2rem); }
    .partner-card h3 { font-size: 1.5rem; }
    .contact-info { font-size: 0.9rem; }
}

@media (max-width: 640px) {
    .timeline-item { flex-direction: column; }
    .partner-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 1.5rem;
    }
    
    @media (max-width: 640px) {
        .partner-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
        .product-card { min-height: auto; }
        .timeline-item { flex-direction: column; margin-bottom: 2rem; }
    }
    .product-card p { font-size: 0.9rem; line-height: 1.5; }
}

@media (max-width: 768px) {
    .navbar-brand { flex-direction: column; align-items: center; text-align: center; }
    .nav-link { padding: 0.5rem 0.75rem; font-size: 0.9rem; }
    .mobile-menu { width: 90%; left: 5%; transform: translateX(-5%); border-radius: 8px; }
}
#menu-toggle {
    padding: 12px 16px;
    z-index: 50;
    cursor: pointer;
}