/**
 * 超高级字体系统
 * 多层次排版，奢华感
 */

/* 引入顶级字体 */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700;800;900&family=Cormorant+Garamond:wght@300;400;500;600;700&family=Cinzel:wght@400;500;600;700;800;900&family=Inter:wght@100;200;300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

/* 字体变量系统 */
:root {
    /* 标题家族 */
    --font-display: 'Playfair Display', Georgia, serif;
    --font-elegant: 'Cormorant Garamond', 'Times New Roman', serif;
    --font-luxury: 'Cinzel', Georgia, serif;
    
    /* 正文家族 */
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    
    /* 数字家族 */
    --font-mono: 'JetBrains Mono', 'SF Mono', 'Menlo', monospace;
    
    /* 字重 */
    --weight-light: 300;
    --weight-normal: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;
    --weight-black: 900;
}

/* ============================================
   品牌标识 - 超奢华
   ============================================ */
.brand-title,
.logo-text {
    font-family: var(--font-luxury);
    font-weight: var(--weight-bold);
    letter-spacing: 6px;
    text-transform: uppercase;
    font-size: clamp(24px, 4vw, 48px);
}

/* ============================================
   页面大标题 - 优雅
   ============================================ */
h1,
.page-title,
.hero-title {
    font-family: var(--font-display);
    font-weight: var(--weight-bold);
    font-size: clamp(32px, 5vw, 64px);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* ============================================
   副标题 - 精致
   ============================================ */
h2,
.section-title {
    font-family: var(--font-elegant);
    font-weight: var(--weight-semibold);
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.3;
    letter-spacing: 0.02em;
}

/* ============================================
   小标题 - 现代
   ============================================ */
h3,
.card-title {
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    font-size: clamp(18px, 2vw, 24px);
    letter-spacing: 0.01em;
}

/* ============================================
   正文 - 清晰易读
   ============================================ */
p,
.body-text {
    font-family: var(--font-body);
    font-weight: var(--weight-normal);
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.01em;
}

/* ============================================
   按钮文字 - 强调
   ============================================ */
button,
.btn,
.button-text {
    font-family: var(--font-body);
    font-weight: var(--weight-semibold);
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ============================================
   数字 - 专业
   ============================================ */
.price,
.numbers,
.stat-value,
.balance-amount {
    font-family: var(--font-mono);
    font-weight: var(--weight-semibold);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.05em;
}

/* ============================================
   VIP专属字体效果
   ============================================ */
.vip-text {
    font-family: var(--font-luxury);
    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #f1c40f 25%,
        #d4af37 50%,
        #f1c40f 75%,
        #ffffff 100%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: goldenTextShine 3s linear infinite;
}

@keyframes goldenTextShine {
    to { background-position: 200% center; }
}

/* ============================================
   特殊排版效果
   ============================================ */

/* 大数字强调 */
.display-number {
    font-family: var(--font-display);
    font-size: clamp(48px, 8vw, 96px);
    font-weight: var(--weight-black);
    line-height: 1;
    letter-spacing: -0.03em;
}

/* 优雅引用 */
.elegant-quote {
    font-family: var(--font-elegant);
    font-size: 20px;
    font-style: italic;
    font-weight: var(--weight-normal);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.8);
}

/* 小标签 */
.label-text {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--weight-semibold);
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.6;
}

/* ============================================
   响应式字体大小
   ============================================ */
@media (max-width: 768px) {
    h1, .page-title { font-size: clamp(28px, 6vw, 48px); }
    h2, .section-title { font-size: clamp(20px, 4vw, 32px); }
    h3, .card-title { font-size: clamp(16px, 3vw, 20px); }
    p, .body-text { font-size: 15px; }
}

/* ============================================
   文字动画效果
   ============================================ */

/* 渐入效果 */
.fade-in-text {
    opacity: 0;
    animation: fadeInText 1s ease-out forwards;
}

@keyframes fadeInText {
    to { opacity: 1; }
}

/* 波浪效果 */
.wave-text span {
    display: inline-block;
    animation: wave 1.5s ease-in-out infinite;
}

@keyframes wave {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* 打字机效果 */
.typewriter {
    overflow: hidden;
    border-right: 2px solid #2ecc71;
    white-space: nowrap;
    animation: 
        typing 3s steps(40) 1s forwards,
        blink 0.75s step-end infinite;
}

@keyframes typing {
    from { width: 0; }
    to { width: 100%; }
}

@keyframes blink {
    50% { border-color: transparent; }
}

