/* 通用的基础样式，适用于中英文页面 */
body {
    /* 提供多个字体备选，优先使用适用于中文的字体，英文也能正常显示 */
    font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    /* 同样提供多个字体备选 */
    font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
    margin-top: 0;
    margin-bottom: 0.5em;
}

p {
    margin-top: 0;
    margin-bottom: 1em;
}

a {
    color: #1E40AF;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #3B82F6;
}

@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);
    }
    .bg-gradient-custom {
        background: linear-gradient(135deg, #1E40AF 0%, #3B82F6 100%);
    }
    .card-hover {
        @apply transition-all duration-300 hover:shadow-xl hover:-translate-y-1;
    }
    .form-error {
        @apply border-red-500 focus:ring-red-500;
    }
    .hero-gradient {
        background: linear-gradient(120deg, rgba(30, 64, 175, 0.9), rgba(59, 130, 246, 0.9));
    }
    .feature-card {
        @apply bg-white rounded-xl p-6 shadow-md hover:shadow-xl transition-all duration-300;
    }
    .service-highlight {
        @apply relative overflow-hidden;
    }
    .service-highlight::before {
        content: '';
        @apply absolute top-0 left-0 w-full h-full bg-primary/5 transform -skew-y-3 z-0;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.animate-fade-in {
    animation: fadeIn 0.8s ease forwards;
}

.animate-float {
    animation: float 3s ease-in-out infinite;
}