/* ========================================
   首页专用样式
   ======================================== */

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 36px;font-size:.875rem;font-weight:500;letter-spacing:.1em;border:1px solid transparent;transition:all .4s var(--transition-smooth);cursor:pointer}
.btn-primary{background-color:var(--color-accent);color:var(--color-black);border-color:var(--color-accent)}
.btn-primary:hover{background-color:var(--color-accent-light);border-color:var(--color-accent-light);transform:translateY(-2px)}
.btn-outline{background-color:transparent;color:var(--color-text);border-color:rgba(255,255,255,.3)}
.btn-outline:hover{background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6)}
.btn-light{background-color:var(--color-black);color:var(--color-text);border-color:var(--color-black)}
.btn-light:hover{background-color:#333}
.btn-text{display:inline-flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:400;color:var(--color-accent);transition:gap .3s ease}
.btn-text:hover{gap:14px}
.btn-text .arrow{transition:transform .3s ease}
.btn-text:hover .arrow{transform:translateX(4px)}
.text-accent{color:var(--color-accent)}

/* Hero */
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-video-container{position:absolute;inset:0;z-index:0}
.hero-video{width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.hero-video-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.3) 0%,rgba(10,10,11,.5) 50%,rgba(10,10,11,.9) 100%)}
.hero-content{position:relative;z-index:1;text-align:center;padding:0 24px;max-width:900px}
.hero-subtitle{font-family:var(--font-sans);font-size:.875rem;font-weight:400;letter-spacing:.3em;color:var(--color-accent-light);text-transform:uppercase;margin-bottom:24px;opacity:0;transform:translateY(20px);animation:fadeInUp 1s var(--transition-smooth) .5s forwards}
.hero-title{font-family:var(--font-serif);font-weight:300;line-height:1.2;margin-bottom:32px}
.hero-title-line{display:block;font-size:clamp(2.5rem,8vw,5.5rem);letter-spacing:.1em;opacity:0;transform:translateY(30px)}
.hero-title-line:nth-child(1){animation:fadeInUp 1.2s var(--transition-smooth) .8s forwards}
.hero-title-line:nth-child(2){animation:fadeInUp 1.2s var(--transition-smooth) 1.1s forwards;color:var(--color-accent)}
.hero-desc{font-size:1.125rem;font-weight:300;color:var(--color-text-secondary);letter-spacing:.15em;line-height:1.8;opacity:0;transform:translateY(20px);animation:fadeInUp 1s var(--transition-smooth) 1.5s forwards;max-width:500px;margin:0 auto 40px}
.hero-cta{display:flex;gap:20px;justify-content:center;opacity:0;transform:translateY(20px);animation:fadeInUp 1s var(--transition-smooth) 1.8s forwards}
.hero-scroll{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:fadeIn 1s ease 2.5s forwards;cursor:pointer}
.hero-scroll span{font-size:.75rem;letter-spacing:.15em;color:var(--color-text-muted);text-transform:uppercase}
.hero-scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,var(--color-accent),transparent);animation:scrollLine 2s ease-in-out infinite}

/* Intro */
.intro{padding:160px 0;background-color:var(--color-bg)}
.intro-content{max-width:800px;margin:0 auto;text-align:center}
.intro-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:300;line-height:1.6;letter-spacing:.03em;margin-bottom:32px;color:var(--color-text)}
.intro-desc{font-size:1.0625rem;font-weight:300;color:var(--color-text-secondary);line-height:2;max-width:640px;margin:0 auto 40px}
.intro-actions{margin-top:48px}

/* Stats */
.stats{padding:0 0 120px;background-color:var(--color-bg)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background-color:var(--color-border)}
.stat-card{background-color:var(--color-bg);padding:48px 24px;text-align:center;transition:background-color .4s ease}
.stat-card:hover{background-color:var(--color-bg-light)}
.stat-card-num{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--color-accent);display:block;margin-bottom:12px;line-height:1}
.stat-card-label{font-size:.875rem;color:var(--color-text-muted);letter-spacing:.05em}

/* Preview */
.preview{padding:120px 0;background-color:var(--color-bg-light)}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.preview-card{background-color:var(--color-surface);border:1px solid var(--color-border);padding:48px 36px;transition:transform .5s var(--transition-smooth),box-shadow .5s var(--transition-smooth),border-color .3s ease}
.preview-card:hover{transform:translateY(-8px);box-shadow:0 24px 64px rgba(0,0,0,.4);border-color:rgba(201,169,110,.2)}
.preview-card-icon{color:var(--color-accent);margin-bottom:28px;opacity:.8;transition:opacity .3s ease,transform .3s ease}
.preview-card:hover .preview-card-icon{opacity:1;transform:scale(1.05)}
.preview-card h3{font-family:var(--font-serif);font-size:1.375rem;font-weight:500;margin-bottom:16px;color:var(--color-text)}
.preview-card p{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);line-height:1.8;margin-bottom:28px}
.preview-card-link{font-size:.875rem;font-weight:500;color:var(--color-accent);letter-spacing:.05em;transition:gap .3s ease}
.preview-card:hover .preview-card-link{letter-spacing:.08em}

/* Closing Preview */
.closing-preview{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-bg)}
.closing-preview-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-light) 30%,#e8e4de 70%,#f5f3ef 100%);opacity:0;transition:opacity 2.5s cubic-bezier(.25,.46,.45,.94)}
.closing-preview.in-view .closing-preview-bg{opacity:1}
.closing-preview-content{position:relative;z-index:1;text-align:center;padding:120px 40px;max-width:900px}
.closing-preview-text{font-family:var(--font-serif);font-size:clamp(1.25rem,3.5vw,2.25rem);font-weight:300;line-height:2.2;color:var(--color-text);transition:color 2.5s cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateY(30px)}
.closing-preview.in-view .closing-preview-text{opacity:1;transform:translateY(0);color:#3a3a3a}
.closing-preview.in-view .closing-preview-text:nth-child(1){transition:color 2.5s ease,opacity 1.2s ease .3s,transform 1.2s ease .3s}
.closing-preview.in-view .closing-preview-text:nth-child(2){transition:color 2.5s ease,opacity 1.2s ease .8s,transform 1.2s ease .8s}
.closing-preview.in-view .closing-preview-text:nth-child(3){transition:color 2.5s ease,opacity 1.2s ease 1.3s,transform 1.2s ease 1.3s}
.closing-preview-highlight{font-weight:500;color:var(--color-accent);transition:color 2.5s ease}
.closing-preview.in-view .closing-preview-highlight{color:#1a1a1a}
.closing-preview-final{font-size:clamp(1.5rem,4vw,2.75rem);font-weight:500;margin:16px 0 48px;color:var(--color-text);transition:color 2.5s ease}
.closing-preview.in-view .closing-preview-final{color:#1a1a1a}

/* Responsive */
@media(max-width:1024px){
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .preview-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}
}
@media(max-width:768px){
    .hero{min-height:600px}
    .hero-cta{flex-direction:column;align-items:center}
    .intro{padding:100px 0}
    .stats-grid{grid-template-columns:1fr 1fr}
    .stat-card{padding:32px 16px}
    .preview{padding:80px 0}
    .preview-grid{grid-template-columns:1fr}
    .closing-preview{min-height:70vh}
    .closing-preview-content{padding:80px 24px}
}
