/* ========== 全局重置与根变量开始 ========== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
}

html, body {
    height: 100%;
    font-family: 'Inter', sans-serif;
    background-color: #ffffff;
    color: #1e293b;
    line-height: 1.5;
    scroll-behavior: smooth;
    box-sizing: border-box;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    -webkit-text-size-adjust: 100%;
}

/* 移动端动态根字体 */
@media screen and (max-width: 1024px) {
    html {
        font-size: calc(100vw / 39);
    }
}

/* PC端固定根字体 */
@media screen and (min-width: 1025px) {
    html {
        font-size: 16px !important;
    }
}

:root {
    --blue: #0052cc;
    --primary: #0F52BA;
    --primary-dark: #0a3e8a;
    --primary-light: #eef4ff;
    --primary-gradient: linear-gradient(135deg, #0F52BA 0%, #1a6dd4 100%);
    --secondary: #2c5f8a;
    --accent: #3b82f6;
    --text-main: #0f172a;
    --text-secondary: #334155;
    --text-light: #5b6e8c;
    --border-light: #eef2f8;
    --border-medium: #e2e8f0;
    --bg-gray: #f8fafd;
    --gray-100: #f1f5f9;
    --white: #ffffff;
    --shadow-sm: 0 4px 8px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.03);
    --shadow-md: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 4px 6px -4px rgba(0, 0, 0, 0.02);
    --shadow-lg: 0 20px 35px -10px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 24px 36px -12px rgba(0, 0, 0, 0.12);
    --radius-card: 28px;
    --radius-element: 20px;
    --transition: all 0.25s ease;
}

/* ========== 全局重置与根变量结束 ========== */

a {
    text-decoration: none;
}

/* ========== 容器样式开始 ========== */
.container {
    width:80vw;
    margin: 0 auto;
    padding: 0 2rem;
}

/* ========== 容器样式结束 ========== */

/* ========== 卡片动画基类开始 ========== */
.vc-card-animate {
    opacity: 0;
    transform: translateY(16px);
    transition: var(--transition);
}

.vc-card-animate.show {
    opacity: 1;
    transform: translateY(0);
}

/* ========== 卡片动画基类结束 ========== */