:root{
  --ink:#0A0F1A;          /* 幕黑：放映前一刻 */
  --panel:#101725;        /* 深蓝面板 */
  --panel-2:#0D1420;
  --white:#F2EDE3;        /* 放映白：暖白 */
  --gold:#C8A356;         /* 钟金：敲钟的金 */
  --gold-dim:#8f7440;
  --mist:#8B99AE;         /* 雾蓝：次级文字 */
  --line:rgba(200,163,86,.18);
  --serif:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong","SimSun",serif;
  --sans:"Noto Sans SC","Source Han Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"IBM Plex Mono","SF Mono","Cascadia Mono",Consolas,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--ink);color:var(--white);font-family:var(--sans);font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--gold);color:var(--ink)}

/* ---------- 导航 ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:20px 48px;background:linear-gradient(to bottom,rgba(10,15,26,.92),rgba(10,15,26,0));backdrop-filter:blur(2px);transition:background .3s}
.nav.scrolled{background:rgba(10,15,26,.95);border-bottom:1px solid var(--line)}
.logo{font-family:var(--serif);font-weight:900;font-size:22px;letter-spacing:.35em}
.logo em{font-style:normal;color:var(--gold)}
.nav-links{display:flex;gap:36px;font-size:14px;letter-spacing:.12em;color:var(--mist)}
.nav-links a:hover{color:var(--white)}
.nav-cta{font-size:13px;letter-spacing:.14em;color:var(--gold);border:1px solid var(--gold-dim);padding:9px 22px;transition:all .25s}
.nav-cta:hover{background:var(--gold);color:var(--ink)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:0 48px}
/* 放映机光束 —— 本站签名 */
.beam{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 90% 55% at 78% -10%, rgba(200,163,86,.14), transparent 60%),
    conic-gradient(from 118deg at 82% -6%, transparent 0deg, rgba(242,237,227,.075) 7deg, rgba(200,163,86,.10) 13deg, transparent 22deg);
  animation:beamIn 2.4s ease-out both}
@keyframes beamIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.32em;color:var(--gold);margin-bottom:34px;animation:rise .9s .3s ease-out both}
.hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(40px,6.2vw,84px);line-height:1.28;letter-spacing:.04em;max-width:14em;animation:rise .9s .5s ease-out both}
.hero h1 .lit{color:var(--gold);position:relative;text-shadow:0 0 42px rgba(200,163,86,.45)}
.hero h1 .hero-line{display:block;white-space:nowrap}
.hero-sub{margin-top:34px;font-size:15px;letter-spacing:.14em;color:var(--mist);animation:rise .9s .75s ease-out both}
.hero-sub b{color:var(--white);font-weight:400}
.hero-sub .sep{color:var(--gold-dim);margin:0 10px}
.hero-ctas{display:flex;gap:18px;margin-top:52px;animation:rise .9s .95s ease-out both}
.btn{font-size:14px;letter-spacing:.18em;padding:15px 34px;border:1px solid var(--gold);transition:all .25s}
.btn.solid{background:var(--gold);color:var(--ink);font-weight:500}
.btn.solid:hover{background:var(--white);border-color:var(--white)}
.btn.ghost{color:var(--gold)}
.btn.ghost:hover{background:rgba(200,163,86,.1)}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ---------- 行情带（信任条） ---------- */
.ticker-wrap{position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--line);background:rgba(13,20,32,.72);backdrop-filter:blur(6px);overflow:hidden}
.ticker-label{position:absolute;left:0;top:0;bottom:0;z-index:2;display:flex;align-items:center;gap:9px;padding:0 26px;background:var(--ink);border-right:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--gold)}
.dot{width:7px;height:7px;border-radius:50%;background:#E4472E;animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.25}}
.ticker{display:flex;width:max-content;animation:scroll 46s linear infinite;padding:16px 0}
.ticker:hover{animation-play-state:paused}
.tk{display:flex;align-items:baseline;gap:10px;padding:0 34px;white-space:nowrap;font-size:14px}
.tk .code{font-family:var(--mono);color:var(--gold);font-size:12.5px;letter-spacing:.06em}
.tk .name{color:var(--white);letter-spacing:.1em}
.tk .board{font-size:11px;color:var(--mist);letter-spacing:.14em}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- 通用段落 ---------- */
.section{padding:130px 48px;max-width:1280px;margin:0 auto}
.sec-head{margin-bottom:70px}
.sec-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.32em;color:var(--gold);margin-bottom:18px}
.sec-title{font-family:var(--serif);font-weight:700;font-size:clamp(28px,3.4vw,44px);letter-spacing:.06em;line-height:1.4}
.sec-desc{margin-top:20px;color:var(--mist);font-size:15.5px;max-width:640px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- 数据条 ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.stat{padding:44px 36px;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat .num{font-family:var(--serif);font-weight:900;font-size:46px;color:var(--gold);line-height:1}
.stat .num small{font-size:20px;letter-spacing:.1em;margin-left:4px}
.stat .lbl{margin-top:14px;font-size:13.5px;letter-spacing:.16em;color:var(--mist)}

/* ---------- 服务 ---------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.svc{background:var(--panel);padding:52px 40px;position:relative;transition:background .3s}
.svc:hover{background:var(--panel-2)}
.svc::before{content:"";position:absolute;top:0;left:40px;right:40px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s ease}
.svc:hover::before{transform:scaleX(1)}
.svc .tag{font-family:var(--mono);font-size:11px;letter-spacing:.28em;color:var(--gold);margin-bottom:24px}
.svc h3{font-family:var(--serif);font-weight:700;font-size:25px;letter-spacing:.08em;margin-bottom:20px}
.svc p{color:var(--mist);font-size:14.5px}
.svc .deliver{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;letter-spacing:.08em;color:var(--white);opacity:.85}
.svc .deliver span{color:var(--gold);margin-right:8px;font-family:var(--mono);font-size:11px;letter-spacing:.2em}

/* ---------- LIGHT 五幕 ---------- */
.light-sec{background:var(--panel-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.acts{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--line);counter-reset:act}
.act{background:var(--ink);padding:46px 30px 42px;position:relative;transition:background .3s}
.act:hover{background:#0D1526}
.act .letter{font-family:var(--serif);font-weight:900;font-size:74px;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--gold-dim);transition:all .35s}
.act:hover .letter{color:var(--gold);-webkit-text-stroke:1.5px var(--gold);text-shadow:0 0 34px rgba(200,163,86,.35)}
.act .scene{font-family:var(--mono);font-size:11px;letter-spacing:.26em;color:var(--mist);margin:26px 0 10px}
.act h4{font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:.1em;margin-bottom:6px}
.act .en{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--gold);margin-bottom:16px}
.act p{font-size:13px;color:var(--mist);line-height:1.85}
.light-note{margin-top:46px;font-size:13.5px;color:var(--mist);letter-spacing:.06em}
.light-note a{color:var(--gold);border-bottom:1px solid var(--gold-dim)}

/* ---------- 案例（分镜框） ---------- */
.cases{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
.case{position:relative;border:1px solid var(--line);background:var(--panel);aspect-ratio:16/9.4;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:border-color .3s}
.case:hover{border-color:var(--gold-dim)}
.case .frame-meta{position:absolute;top:22px;left:28px;right:28px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--mist)}
.case .frame-meta .b{color:var(--gold)}
.case .glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 110%,rgba(200,163,86,.10),transparent 65%);opacity:0;transition:opacity .4s}
.case:hover .glow{opacity:1}
.case h3{font-family:var(--serif);font-size:30px;font-weight:700;letter-spacing:.1em;margin-bottom:12px;position:relative}
.case .hook{font-size:14.5px;color:var(--mist);position:relative;max-width:26em}
.case .watch{margin-top:22px;font-family:var(--mono);font-size:11.5px;letter-spacing:.24em;color:var(--gold);opacity:0;transform:translateY(6px);transition:all .35s;position:relative}
.case:hover .watch{opacity:1;transform:none}
.case-more{margin-top:56px;text-align:center}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:none;color:var(--white);text-align:left;cursor:pointer;
  font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.06em;padding:30px 60px 30px 0;position:relative;line-height:1.6}
.faq-q::after{content:"＋";position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:22px;font-weight:300;transition:transform .3s}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.faq-a p{padding:0 0 32px;color:var(--mist);font-size:14.5px;max-width:56em}
.faq-more{margin-top:44px;font-size:13.5px;letter-spacing:.1em}
.faq-more a{color:var(--gold);border-bottom:1px solid var(--gold-dim)}

/* ---------- 结尾CTA ---------- */
.final{position:relative;text-align:center;padding:170px 48px;overflow:hidden;border-top:1px solid var(--line)}
.final .beam2{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 65% 70% at 50% 115%,rgba(200,163,86,.13),transparent 65%)}
.final h2{font-family:var(--serif);font-weight:900;font-size:clamp(28px,4vw,52px);letter-spacing:.08em;line-height:1.5;position:relative}
.final .sub{margin:26px auto 50px;color:var(--mist);font-size:15px;letter-spacing:.1em;position:relative}
.contact-line{margin-top:56px;font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--mist);position:relative}
.contact-line b{color:var(--white);font-weight:500}

/* ---------- 页脚 ---------- */
footer{border-top:1px solid var(--line);padding:52px 48px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;color:var(--mist);font-size:12.5px;letter-spacing:.1em}
footer .f-links{display:flex;gap:28px}
footer a:hover{color:var(--gold)}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .services,.acts{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}
}
@media (max-width:720px){
  .nav{padding:16px 24px}
  .nav-links{display:none}
  .hero,.section,.final{padding-left:24px;padding-right:24px}
  .section{padding-top:90px;padding-bottom:90px}
  .services,.acts,.cases{grid-template-columns:1fr}
  .hero h1{font-size:32px;letter-spacing:.01em;max-width:none}
  .hero h1 .hero-line{white-space:nowrap}
  .hero-ctas{flex-direction:column;align-items:flex-start}
  .case{aspect-ratio:auto;min-height:260px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- 悬浮联系件 ---------- */
.fc{position:fixed;right:22px;bottom:96px;z-index:60;display:flex;flex-direction:column;gap:10px}
.fc a{display:flex;align-items:center;gap:0;background:rgba(16,23,37,.96);border:1px solid var(--gold-dim);
  color:var(--gold);height:46px;width:46px;justify-content:center;overflow:hidden;white-space:nowrap;
  transition:width .28s ease,background .2s;cursor:pointer;backdrop-filter:blur(4px)}
.fc a svg{flex:0 0 46px;width:46px;height:18px}
.fc a .v{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--white);padding-right:16px;opacity:0;transition:opacity .2s .05s}
.fc a:hover{width:auto;min-width:190px;background:rgba(16,23,37,1);border-color:var(--gold)}
.fc a:hover .v{opacity:1}
.fc-toast{position:fixed;right:22px;bottom:44px;z-index:61;background:var(--gold);color:var(--ink);
  font-size:12.5px;letter-spacing:.08em;padding:9px 18px;opacity:0;transform:translateY(6px);
  transition:all .3s;pointer-events:none;font-weight:500}
.fc-toast.show{opacity:1;transform:none}
.fc-bar{display:none}
@media (max-width:720px){
  .fc{display:none}
  .fc-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;border-top:1px solid var(--gold-dim);background:rgba(10,15,26,.97);backdrop-filter:blur(6px)}
  .fc-bar a{flex:1;text-align:center;padding:13px 0;font-size:13px;letter-spacing:.1em;color:var(--gold);border-right:1px solid var(--line)}
  .fc-bar a:last-child{border-right:none}
  body{padding-bottom:48px}
  .fc-toast{right:50%;transform:translate(50%,6px);bottom:64px}
  .fc-toast.show{transform:translate(50%,0)}
}
/* ---------- 新页脚 ---------- */
footer{display:block;padding:0}
.foot-grid{max-width:1280px;margin:0 auto;padding:56px 48px 40px;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap}
.foot-contact .f-label{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--gold);margin-bottom:20px}
.foot-contact a{display:flex;align-items:baseline;gap:14px;margin-bottom:12px;color:var(--mist);font-size:14px;letter-spacing:.06em;transition:color .2s;cursor:pointer}
.foot-contact a b{font-family:var(--mono);font-size:15px;color:var(--white);font-weight:500;letter-spacing:.04em}
.foot-contact a:hover b{color:var(--gold)}
.foot-legal{border-top:1px solid var(--line);max-width:1280px;margin:0 auto;padding:24px 48px 30px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;color:var(--mist);font-size:12px;letter-spacing:.08em}
.foot-legal .f-links{display:flex;gap:24px}
.foot-legal a:hover{color:var(--gold)}
@media (max-width:720px){
  .foot-grid{padding:44px 24px 30px;flex-direction:column}
    .foot-legal{padding:20px 24px 26px}
}


/* ---------- 关注我们：链接卡+视频号码 ---------- */
.foot-follow{display:flex;gap:30px;align-items:flex-start}
.follow-links{display:flex;flex-direction:column;gap:12px}
.follow-links .f-label,.follow-qr .f-label{font-family:var(--mono);font-size:11px;letter-spacing:.3em;color:var(--gold);margin-bottom:8px}
.follow-card{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--line);
  padding:13px 20px;min-width:196px;font-size:13.5px;letter-spacing:.1em;color:var(--white);transition:all .2s}
.follow-card .ar{font-family:var(--mono);font-size:13px;color:var(--gold-dim);transition:transform .2s}
.follow-card:hover{border-color:var(--gold);color:var(--gold)}
.follow-card:hover .ar{color:var(--gold);transform:translate(2px,-2px)}
.follow-qr{text-align:center}
.follow-qr img{width:96px;height:96px;display:block;border:1px solid var(--line);padding:5px;background:#fff;margin:0 auto}
.follow-qr span{display:block;margin-top:9px;font-size:11.5px;letter-spacing:.12em;color:var(--mist)}
@media (max-width:720px){.foot-follow{flex-direction:column;gap:24px}}


/* ---------- 联系方式弹窗 ---------- */
.cmodal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px}
.cmodal[hidden]{display:none}
.cmodal-bg{position:absolute;inset:0;background:rgba(6,9,16,.82);backdrop-filter:blur(4px)}
.cmodal-box{position:relative;background:var(--panel);border:1px solid var(--gold-dim);max-width:520px;width:100%;padding:44px 44px 38px}
.cmodal-x{position:absolute;top:14px;right:18px;background:none;border:none;color:var(--mist);font-size:26px;cursor:pointer;line-height:1}
.cmodal-x:hover{color:var(--gold)}
.cm-title{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:.08em;margin-bottom:8px}
.cm-sub{color:var(--mist);font-size:13px;letter-spacing:.08em;margin-bottom:28px}
.cm-list{display:flex;flex-direction:column;gap:12px}
.cm-list a{display:flex;justify-content:space-between;align-items:baseline;border:1px solid var(--line);padding:14px 20px;transition:all .2s;cursor:pointer}
.cm-list a span{font-size:12.5px;letter-spacing:.14em;color:var(--mist)}
.cm-list a b{font-family:var(--mono);font-size:14.5px;color:var(--white);font-weight:500}
.cm-list a:hover{border-color:var(--gold)}
.cm-list a:hover b{color:var(--gold)}
.cm-qr{display:flex;align-items:center;gap:18px;border:1px solid var(--line);padding:14px 20px;margin-top:12px}
.cm-qr img{width:84px;height:84px;background:#fff;padding:4px;border:1px solid var(--line)}
.cm-qr div{font-size:12.5px;letter-spacing:.1em;color:var(--mist);line-height:2}
.cm-qr div b{display:block;color:var(--white);font-size:13.5px;letter-spacing:.08em}
@media (max-width:520px){.cmodal-box{padding:34px 26px 30px}}

/* Keyboard accessibility */
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

@media (max-width:360px){.hero h1{font-size:29px}}
