:root{
  --bg:#0a0a0c;
  --text:#f4f1ea;
  --muted:#a7a196;
  --gold:#d8b26a;
  --line:rgba(216,178,106,.28);
  --serif:"Songti SC","STSong","SimSun",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.8;
  letter-spacing:.12em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px;}

/* 导航 */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:0;
  transition:padding .45s ease;
}
.nav-inner{
  width:100%;max-width:1200px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 32px;
  transition:all .45s ease;
}
.nav.scrolled{padding:14px 24px;}
.nav.scrolled .nav-inner{
  background:rgba(12,12,15,.82);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--line);
  box-shadow:0 18px 44px rgba(0,0,0,.55);
  padding:12px 26px;
  border-radius:4px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:32px;width:32px;object-fit:contain;}
.brand span{font-family:var(--serif);font-size:18px;letter-spacing:.3em;color:var(--text);}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{
  font-size:13px;letter-spacing:.22em;color:var(--muted);
  position:relative;padding:4px 0;transition:color .3s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;
  background:var(--gold);transition:width .35s ease;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a.active::after{width:100%;}
.nav-dl{
  border:1px solid var(--gold);color:var(--gold);
  font-size:13px;letter-spacing:.22em;padding:8px 22px;
  transition:all .3s;margin-left:8px;
}
.nav-dl:hover{background:var(--gold);color:var(--bg);}
.nav-toggle{display:none;width:26px;height:20px;position:relative;}
.nav-toggle span{position:absolute;left:0;right:0;height:1px;background:var(--text);transition:.3s;}
.nav-toggle span:nth-child(1){top:0;}
.nav-toggle span:nth-child(2){top:9px;}
.nav-toggle span:nth-child(3){top:18px;}

/* 主视觉 */
.hero{
  position:relative;height:100svh;min-height:560px;overflow:hidden;
  background:#000;
}
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;pointer-events:none;
}
.hero-slide.active{opacity:1;pointer-events:auto;}
.hero-slide img{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;
  transform:scale(1.14);
}
.hero-slide.active img{animation:kenburns 9s linear forwards;}
@keyframes kenburns{from{transform:scale(1.14);}to{transform:scale(1);}}
.hero-shade{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 50% 45%,rgba(0,0,0,0) 20%,rgba(10,10,12,.55) 80%),
    linear-gradient(to right,rgba(8,8,10,.92) 0%,rgba(8,8,10,.55) 38%,rgba(8,8,10,.05) 70%),
    linear-gradient(to top,rgba(8,8,10,.96) 0%,rgba(8,8,10,0) 45%);
}
.hero-content{
  position:absolute;left:0;right:0;bottom:0;z-index:5;
  padding:0 24px 120px;
}
.hero-content-inner{max-width:1200px;margin:0 auto;}
.hero-kicker{
  color:var(--gold);font-size:12px;letter-spacing:.5em;margin-bottom:18px;
}
.hero-title{
  font-family:var(--serif);font-weight:400;font-size:clamp(34px,5.4vw,68px);
  letter-spacing:.18em;line-height:1.2;margin-bottom:12px;
}
.hero-sub{
  color:var(--muted);font-size:12px;letter-spacing:.4em;text-transform:uppercase;margin-bottom:20px;
}
.hero-desc{
  max-width:520px;color:var(--muted);font-size:14px;line-height:2;margin-bottom:34px;letter-spacing:.16em;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.btn-solid{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--text);color:var(--bg);
  padding:14px 34px;font-size:14px;letter-spacing:.24em;
  transition:all .35s;
}
.btn-solid:hover{background:var(--gold);color:var(--bg);}
.btn-ghost{
  display:inline-flex;align-items:center;
  border:1px solid rgba(244,241,234,.45);color:var(--text);
  padding:14px 34px;font-size:14px;letter-spacing:.24em;transition:all .35s;
}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.hero-pager{
  position:absolute;right:40px;bottom:120px;z-index:6;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  color:var(--muted);font-size:12px;letter-spacing:.3em;
}
.hero-pager .progress{width:120px;height:1px;background:rgba(244,241,234,.18);position:relative;overflow:hidden;}
.hero-pager .progress i{
  position:absolute;left:0;top:0;height:100%;width:0;background:var(--gold);
}
.hero-dots{
  position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:6;
  display:flex;gap:12px;align-items:center;
}
.hero-dots button{
  width:26px;height:3px;background:rgba(244,241,234,.25);transition:all .4s ease;padding:0;
}
.hero-dots button.active{width:56px;background:var(--gold);}

/* 通用节 */
section{padding:120px 0;position:relative;}
.sec-head{margin-bottom:56px;}
.sec-tag{
  color:var(--gold);font-size:12px;letter-spacing:.5em;margin-bottom:16px;
}
.sec-title{
  font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.4vw,40px);
  letter-spacing:.2em;line-height:1.4;
}
.sec-sub{color:var(--muted);font-size:14px;margin-top:18px;max-width:640px;letter-spacing:.14em;}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease;}
.reveal.show{opacity:1;transform:translateY(0);}

/* 正在热映 */
.now-section{background:var(--bg);}
.now-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.now-scroll{
  display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:22px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.now-scroll::-webkit-scrollbar{height:2px;}
.now-scroll::-webkit-scrollbar-thumb{background:var(--line);}
.show-card{
  flex:0 0 260px;scroll-snap-align:start;position:relative;
  aspect-ratio:3/4;overflow:hidden;background:#141416;
}
.show-card img{
  width:100%;height:100%;object-fit:cover;transition:transform 1s ease;
}
.show-card:hover img{transform:scale(1.06);}
.show-card .num{
  position:absolute;left:14px;top:10px;z-index:2;
  font-family:var(--serif);font-size:34px;color:rgba(244,241,234,.7);
  letter-spacing:.05em;
}
.show-card .info{
  position:absolute;left:0;right:0;bottom:0;padding:26px 18px 18px;z-index:2;
  background:linear-gradient(to top,rgba(6,6,8,.94),rgba(6,6,8,0));
}
.show-card .info h3{
  font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:.16em;margin-bottom:6px;
}
.show-card .info p{font-size:11px;color:var(--gold);letter-spacing:.3em;}

/* 数据 */
.data-section{border-top:1px solid rgba(244,241,234,.1);border-bottom:1px solid rgba(244,241,234,.1);padding:76px 0;}
.data-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;
}
.data-grid .num{
  font-family:var(--serif);font-size:clamp(26px,3.4vw,38px);color:var(--gold);
  letter-spacing:.1em;margin-bottom:8px;
}
.data-grid .lab{font-size:12px;color:var(--muted);letter-spacing:.3em;}

/* 幕后手记 */
.behind-grid{
  display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;
}
.behind-figure{position:relative;overflow:hidden;}
.behind-figure img{width:100%;aspect-ratio:16/11;object-fit:cover;}
.behind-figure::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(125deg,rgba(216,178,106,.22) 0%,transparent 42%,transparent 60%,rgba(216,178,106,.10) 100%);
  pointer-events:none;
}
.behind-body h2{margin-bottom:26px;}
.behind-body p{color:var(--muted);margin-bottom:18px;font-size:14.5px;line-height:2.05;}
.behind-stats{display:flex;gap:44px;margin-top:38px;flex-wrap:wrap;}
.behind-stats .num{
  font-family:var(--serif);font-size:30px;color:var(--gold);letter-spacing:.06em;
}
.behind-stats .lab{font-size:12px;color:var(--muted);letter-spacing:.24em;margin-top:4px;}

/* 开场前必读 */
.guide-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center;}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:34px 44px;}
.step{padding-bottom:22px;border-bottom:1px solid rgba(244,241,234,.12);}
.step .no{
  font-family:var(--serif);color:var(--gold);font-size:16px;letter-spacing:.2em;margin-bottom:10px;
}
.step h3{font-size:15px;font-weight:500;letter-spacing:.18em;margin-bottom:8px;}
.step p{font-size:13px;color:var(--muted);line-height:1.9;}
.phone-shot{
  position:relative;width:100%;max-width:320px;margin:0 auto;
  aspect-ratio:9/16;overflow:hidden;border:1px solid rgba(244,241,234,.15);
}
.phone-shot img{width:100%;height:100%;object-fit:cover;}
.phone-shot::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,6,8,.92),rgba(6,6,8,.12) 45%,rgba(6,6,8,.45));
}
.phone-shot .play{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:2;
  width:74px;height:74px;border-radius:50%;border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
}
.phone-shot .play::before{
  content:"";display:block;margin-left:5px;
  border-left:16px solid var(--gold);border-top:10px solid transparent;border-bottom:10px solid transparent;
}
.phone-shot .cap{
  position:absolute;left:0;right:0;bottom:26px;text-align:center;z-index:2;
}
.phone-shot .cap strong{
  display:block;font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:.2em;margin-bottom:6px;
}
.phone-shot .cap em{font-style:normal;font-size:10px;color:var(--gold);letter-spacing:.4em;}

/* 用户答疑 */
.faq-list{border-top:1px solid rgba(244,241,234,.13);}
.faq-item{border-bottom:1px solid rgba(244,241,234,.13);transition:background .4s;}
.faq-item.open{background:rgba(244,241,234,.035);}
.faq-q{
  width:100%;display:flex;align-items:center;gap:26px;text-align:left;
  padding:26px 20px;font-size:15px;letter-spacing:.14em;
}
.faq-q .no{font-family:var(--serif);color:var(--gold);font-size:13px;min-width:30px;}
.faq-q .qtext{flex:1;}
.faq-q .sign{
  font-size:20px;color:var(--gold);min-width:22px;text-align:center;line-height:1;transition:transform .3s;
}
.faq-a{
  display:none;padding:0 20px 28px 76px;color:var(--muted);font-size:13.5px;line-height:2;
}
.faq-item.open .faq-a{display:block;}

/* 观众短评 */
.review-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start;}
.quote-block{
  border-left:2px solid var(--gold);padding-left:30px;
}
.quote-block blockquote{
  font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);line-height:1.85;letter-spacing:.14em;
  margin-bottom:22px;
}
.quote-block cite{font-style:normal;font-size:12px;color:var(--muted);letter-spacing:.3em;}
.review-list{display:flex;flex-direction:column;gap:26px;}
.review-item{border-top:1px solid rgba(244,241,234,.12);padding-top:20px;}
.review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.review-top .name{font-size:13px;letter-spacing:.2em;}
.review-top .stars{color:var(--gold);font-size:12px;letter-spacing:.3em;}
.review-item p{color:var(--muted);font-size:13.5px;line-height:1.95;}

/* 下载 */
.download-section{padding:100px 0 120px;}
.dl-box{
  border:1px solid var(--line);padding:64px 56px;
  display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;
  background:linear-gradient(150deg,rgba(216,178,106,.05),rgba(216,178,106,0) 55%);
}
.dl-box h2{
  font-family:var(--serif);font-weight:400;font-size:clamp(24px,3vw,36px);
  letter-spacing:.2em;line-height:1.5;max-width:460px;
}
.dl-box .note{font-size:13px;color:var(--muted);margin-top:16px;letter-spacing:.16em;}
.dl-actions{display:flex;gap:16px;flex-wrap:wrap;}
.btn-gold{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--gold);color:var(--gold);
  padding:16px 40px;font-size:14px;letter-spacing:.26em;transition:all .35s;
}
.btn-gold:hover{background:var(--gold);color:var(--bg);}

/* 页脚 */
footer{
  border-top:1px solid rgba(244,241,234,.1);padding:40px 0 46px;
  font-size:11.5px;color:rgba(167,161,150,.62);letter-spacing:.18em;line-height:2;
}
.foot-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;}
footer a{color:rgba(167,161,150,.62);transition:color .3s;}
footer a:hover{color:var(--gold);}
.foot-meta{display:flex;gap:26px;flex-wrap:wrap;}

/* 响应式 */
@media (max-width:1024px){
  .behind-grid{gap:44px;}
  .guide-grid{gap:48px;}
  .review-grid{gap:44px;}
  .dl-box{padding:48px 36px;}
}
@media (max-width:768px){
  body{font-size:14px;letter-spacing:.08em;}
  .wrap{padding:0 20px;}
  .nav-inner{padding:16px 20px;}
  .nav.scrolled{padding:10px 14px;}
  .nav.scrolled .nav-inner{padding:10px 18px;}
  .nav-toggle{display:block;}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;
    background:rgba(10,10,12,.97);backdrop-filter:blur(14px);
    flex-direction:column;align-items:flex-start;gap:0;
    border-top:1px solid rgba(244,241,234,.1);
    max-height:0;overflow:hidden;transition:max-height .4s ease;
  }
  .nav-links.open{max-height:400px;}
  .nav-links a{width:100%;padding:16px 24px;font-size:13px;border-bottom:1px solid rgba(244,241,234,.06);}
  .nav-links a::after{display:none;}
  .nav-dl{margin:16px 24px;display:inline-block;}
  .hero-content{padding:0 20px 130px;}
  .hero-desc{max-width:100%;font-size:13px;}
  .hero-pager{right:20px;bottom:112px;}
  .hero-pager .progress{width:80px;}
  .hero-dots{bottom:34px;}
  .hero-actions{gap:12px;}
  .btn-solid,.btn-ghost{padding:12px 24px;font-size:13px;}
  section{padding:80px 0;}
  .sec-head{margin-bottom:38px;}
  .data-grid{grid-template-columns:repeat(2,1fr);gap:34px 12px;}
  .behind-grid,.guide-grid,.review-grid{grid-template-columns:1fr;gap:38px;}
  .steps{grid-template-columns:1fr;gap:26px;}
  .behind-stats{gap:28px;}
  .quote-block{padding-left:20px;}
  .faq-q{padding:20px 10px;font-size:14px;gap:16px;}
  .faq-a{padding:0 10px 24px 56px;}
  .dl-box{padding:38px 24px;gap:30px;}
  .dl-actions{width:100%;}
  .btn-gold{flex:1;padding:14px 16px;text-align:center;}
  .foot-inner{flex-direction:column;align-items:flex-start;gap:10px;}
  .show-card{flex:0 0 210px;}
}
@media (max-width:420px){
  .show-card{flex:0 0 180px;}
  .hero-title{font-size:30px;}
  .hero-pager{display:none;}
}