/* ================= 长云记账官网 ================= */
:root{
  --bg:#05080F; --bg2:#080D18; --bg3:#0C1322;
  --gold:#D9B37A; --gold2:#F3DCAE; --gold-d:#A9803C;
  --cyan:#63D8FF;
  --txt:#EAF0FF; --txt2:#98A5BF; --txt3:#6B7793;
  --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.14);
  --card:rgba(255,255,255,.035); --card2:rgba(255,255,255,.055);
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --grad:linear-gradient(135deg,#F3DCAE 0%,#D9B37A 55%,#B98F4E 100%);
  --maxw:1200px;
}
*{box-sizing:border-box}
/* 注意：下面的 img{display:block} 会盖掉浏览器对 [hidden] 的 display:none，
   导致「没放二维码时 alt 文字露出来」，所以这里必须显式兜一层 */
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--txt);
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.75; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
h1,h2,h3,h4{margin:0; font-weight:800; letter-spacing:.02em; line-height:1.28}
p{margin:0}
a{color:inherit; text-decoration:none}
img{display:block; max-width:100%}
ul{margin:0; padding:0; list-style:none}
em{font-style:normal}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
.sprite{position:absolute; width:0; height:0; overflow:hidden}
.ic{width:22px; height:22px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round}

/* ---------- 背景光晕 ---------- */
.bg-glow{position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none}
.bg-glow span{position:absolute; border-radius:50%; filter:blur(90px); opacity:.55}
.g1{width:720px; height:720px; top:-260px; left:-160px; background:radial-gradient(circle,#1B3A6B 0%,transparent 70%)}
.g2{width:640px; height:640px; top:120px; right:-220px; background:radial-gradient(circle,#5A4318 0%,transparent 70%)}
.g3{width:820px; height:820px; bottom:-320px; left:30%; background:radial-gradient(circle,#123049 0%,transparent 70%)}
.grid-lines{position:absolute; inset:0; opacity:.25;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 72%)}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:42px; padding:0 20px;
  border-radius:999px; font-size:15px; font-weight:700; white-space:nowrap; cursor:pointer;
  transition:.25s cubic-bezier(.2,.7,.3,1); border:1px solid transparent}
.btn.gold{background:var(--grad); color:#241A08; box-shadow:0 8px 24px rgba(217,179,122,.28)}
.btn.gold:hover{transform:translateY(-2px); box-shadow:0 14px 34px rgba(217,179,122,.4)}
.btn.line{border-color:var(--line2); color:var(--txt); background:rgba(255,255,255,.03)}
.btn.line:hover{border-color:var(--gold); color:var(--gold2); transform:translateY(-2px)}
.btn.ghost{color:var(--txt2)}
.btn.ghost:hover{color:var(--txt)}
.btn.lg{height:54px; padding:0 30px; font-size:16px}
.btn.sm{height:38px; padding:0 16px; font-size:14px}
.btn.disabled{opacity:.5; cursor:default; pointer-events:none}
.btn .ar{transition:.25s}
.btn:hover .ar{transform:translateX(3px)}

/* ---------- 导航 ---------- */
.nav{position:fixed; top:0; left:0; right:0; z-index:60; transition:.3s}
.nav.on{background:rgba(6,10,18,.82); backdrop-filter:blur(16px); border-bottom:1px solid var(--line)}
.nav-in{display:flex; align-items:center; gap:24px; height:70px}
.brand{display:flex; align-items:center; gap:10px; flex:none}
.logo{width:36px; height:36px; border-radius:10px; background:var(--grad); color:#241A08;
  display:flex; align-items:center; justify-content:center; font-weight:900; font-size:14px; letter-spacing:.5px;
  box-shadow:0 6px 18px rgba(217,179,122,.28)}
.b-name{display:flex; flex-direction:column; font-weight:800; font-size:17px; line-height:1.2}
.b-name i{font-style:normal; font-size:11px; font-weight:600; color:var(--gold); letter-spacing:.14em}
.nav-menu{display:flex; gap:6px; margin-left:auto}
.nav-menu a{position:relative; padding:8px 14px; border-radius:10px; font-size:15px; color:var(--txt2); transition:.2s}
.nav-menu a:hover{color:var(--txt); background:rgba(255,255,255,.05)}
.nav-menu .m-only{display:none}
.nav-act{display:flex; align-items:center; gap:10px; flex:none}
.burger{display:none; width:40px; height:40px; border:1px solid var(--line); background:transparent;
  border-radius:10px; cursor:pointer; padding:0}
.burger i{display:block; width:18px; height:1.6px; margin:3.5px auto; background:var(--txt); border-radius:2px}

/* ---------- Hero ---------- */
.hero{position:relative; padding:148px 0 46px}
.hero-in{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center}
.badge{display:inline-flex; align-items:center; gap:8px; height:34px; padding:0 16px; border-radius:999px;
  border:1px solid var(--line2); background:rgba(255,255,255,.04); font-size:13px; color:var(--txt2)}
.badge .dot{width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(217,179,122,.18)}
.hero h1{margin:22px 0 0; font-size:clamp(34px,4.4vw,58px); letter-spacing:.01em}
.hero h1 .sep{color:var(--gold)}
.hero h1 em{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  font-size:.76em; white-space:nowrap}
.sub{margin-top:20px; font-size:17px; color:var(--txt2); max-width:560px}
.hero-btns{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap}
.hero-tags{display:flex; gap:20px; margin-top:26px; flex-wrap:wrap; font-size:13.5px; color:var(--txt3)}
.hero-tags span{display:flex; align-items:center; gap:6px}
.hero-tags .ic{width:16px; height:16px; color:var(--gold)}

/* 手机壳 */
.hero-shot{position:relative; display:flex; justify-content:center}
.phone{position:relative; width:300px; padding:12px; border-radius:38px;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.03));
  border:1px solid var(--line2); box-shadow:var(--shadow)}
.phone::after{content:''; position:absolute; inset:-1px; border-radius:38px; pointer-events:none;
  background:linear-gradient(160deg,rgba(217,179,122,.35),transparent 40%,rgba(99,216,255,.25));
  -webkit-mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  -webkit-mask-composite:xor; mask-composite:exclude; padding:1px}
.phone-top{height:26px; display:flex; align-items:center; justify-content:center}
.phone-top i{width:74px; height:6px; border-radius:6px; background:rgba(255,255,255,.18)}
.phone-screen{position:relative; height:520px; border-radius:28px; overflow:hidden; background:#0E1526}
.phone-screen img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center;
  opacity:0; transition:opacity .7s ease}
.phone-screen img.on{opacity:1}
/* 只有首屏手机壳是轮播（多张叠着淡入淡出）；其它单图手机壳直接显示 */
.phone.mini .phone-screen img{opacity:1}
.phone-dots{display:flex; justify-content:center; gap:6px; padding:12px 0 2px}
.phone-dots b{width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.22); cursor:pointer; transition:.25s}
.phone-dots b.on{width:18px; border-radius:4px; background:var(--gold)}
.phone.mini{width:230px; padding:10px}
.phone.mini .phone-screen{height:400px}
.float-card{position:absolute; display:flex; align-items:center; gap:11px; padding:12px 16px; border-radius:16px;
  background:rgba(14,20,34,.86); border:1px solid var(--line2); backdrop-filter:blur(12px);
  box-shadow:0 14px 34px rgba(0,0,0,.5); animation:float 5.5s ease-in-out infinite}
.float-card b{display:block; font-size:14px; font-weight:800}
.float-card i{display:block; font-style:normal; font-size:11.5px; color:var(--txt3)}
.float-card .ic{color:var(--gold)}
.fc1{left:-46px; top:96px}
.fc2{right:-52px; bottom:112px; animation-delay:1.6s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* 数据条 */
.stats{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:54px;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px 24px}
.stat{text-align:center}
.stat b{font-size:38px; font-weight:900; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  font-variant-numeric:tabular-nums}
.stat i{font-style:normal; font-size:17px; font-weight:800; color:var(--gold); margin-left:2px}
.stat span{display:block; font-size:13.5px; color:var(--txt3); margin-top:2px}

/* ---------- 区块通用 ---------- */
.sec{padding:96px 0; position:relative}
.sec.tight{padding:0 0 40px}
.sec.alt{background:linear-gradient(180deg,transparent,rgba(255,255,255,.022),transparent)}
.sec-head{max-width:760px; margin:0 auto 52px; text-align:center}
.kicker{display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.18em; color:var(--gold);
  padding:6px 14px; border:1px solid rgba(217,179,122,.3); border-radius:999px; background:rgba(217,179,122,.07)}
.sec-head h2{margin-top:18px; font-size:clamp(26px,3.2vw,40px)}
.sec-head h2 em{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.sec-head p{margin-top:16px; color:var(--txt2); font-size:16px}

/* 亮点四卡 */
.hl-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:8px}
.hl{padding:26px 22px; border-radius:18px; background:var(--card); border:1px solid var(--line); transition:.3s}
.hl:hover{background:var(--card2); border-color:rgba(217,179,122,.32); transform:translateY(-4px)}
.hl-ico{width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(217,179,122,.12); color:var(--gold); margin-bottom:16px}
.hl h3{font-size:17px}
.hl p{margin-top:10px; font-size:14px; color:var(--txt2)}

/* AI */
.ai-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
.ai-card{padding:28px; border-radius:20px; background:linear-gradient(160deg,rgba(217,179,122,.09),rgba(255,255,255,.03));
  border:1px solid var(--line); transition:.3s; position:relative; overflow:hidden}
.ai-card::before{content:''; position:absolute; width:220px; height:220px; right:-90px; top:-90px; border-radius:50%;
  background:radial-gradient(circle,rgba(217,179,122,.18),transparent 70%)}
.ai-card:hover{transform:translateY(-4px); border-color:rgba(217,179,122,.4)}
.ai-ico{width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center;
  background:var(--grad); color:#241A08; margin-bottom:16px}
.ai-card h3{font-size:20px}
.ai-card p{margin-top:12px; color:var(--txt2); font-size:14.5px}
.demo{margin-top:16px; padding:12px 14px; border-radius:12px; background:rgba(0,0,0,.32); border:1px dashed var(--line2);
  font-size:13.5px; color:var(--gold2); display:flex; flex-direction:column; gap:4px}
.demo span{color:var(--txt3); font-size:12.5px}

.ai-strip{margin-top:24px; display:grid; grid-template-columns:.8fr 1.2fr; gap:44px; align-items:center;
  padding:38px; border-radius:24px; background:var(--card); border:1px solid var(--line)}
.as-txt h3{font-size:24px}
.as-txt>p{margin-top:14px; color:var(--txt2)}
.tick{margin-top:20px; display:grid; gap:11px}
.tick li{display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--txt2)}
.tick .ic{width:18px; height:18px; color:var(--gold)}

/* 记账方式 */
.way-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.way{padding:26px 24px; border-radius:18px; background:var(--card); border:1px solid var(--line); transition:.3s}
.way:hover{background:var(--card2); transform:translateY(-4px); border-color:rgba(217,179,122,.3)}
.w-ico{width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(99,216,255,.1); color:var(--cyan); margin-bottom:14px}
.way h3{font-size:18px}
.way p{margin-top:9px; font-size:14px; color:var(--txt2)}

/* 财务功能 */
.feat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.feat{padding:22px 20px; border-radius:16px; background:var(--card); border:1px solid var(--line); transition:.3s}
.feat:hover{background:var(--card2); transform:translateY(-4px); border-color:rgba(217,179,122,.3)}
.f-ico{width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.06); color:var(--gold2); margin-bottom:13px}
.feat h3{font-size:16px}
.feat p{margin-top:8px; font-size:13.5px; color:var(--txt2)}

/* 安全 */
.safe{display:grid; grid-template-columns:1.1fr .9fr; gap:52px; align-items:center}
.safe-txt h2{margin-top:16px; font-size:clamp(26px,3vw,38px)}
.safe-txt h2 em{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.safe-txt>p{margin-top:16px; color:var(--txt2)}
.safe-img{border-radius:22px; overflow:hidden; border:1px solid var(--line2); box-shadow:var(--shadow);
  height:470px; transform:perspective(1200px) rotateY(-8deg) rotateX(3deg)}
.safe-img img{width:100%; height:100%; object-fit:cover; object-position:top center}

/* 多端 */
.cli-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.cli{padding:28px 24px; border-radius:20px; background:var(--card); border:1px solid var(--line); text-align:center; transition:.3s}
.cli:hover{background:var(--card2); transform:translateY(-4px); border-color:rgba(217,179,122,.3)}
.cli .phone{margin:0 auto 20px}
.cli h3{font-size:19px}
.cli p{margin:12px 0 18px; font-size:14px; color:var(--txt2)}
.qr-box{width:190px; height:190px; margin:0 auto 20px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.04); border:1px dashed var(--line2)}
.qr-box.small{width:130px; height:130px; margin:0 0 12px}
.qr-img{width:100%; height:100%; object-fit:contain; border-radius:12px}
.qr-ph{display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--txt3); font-size:13px}
.qr-ph i{font-style:normal; font-size:11.5px; color:var(--gold); letter-spacing:.1em}
.qr-box.small .qr-ph{font-size:11.5px}
.f-qr-t{font-size:12.5px; color:var(--txt3); margin-top:10px}

/* 图廊 */
.gallery{display:flex; gap:18px; overflow-x:auto; padding:8px 24px 26px; scroll-snap-type:x mandatory;
  scrollbar-width:thin; scrollbar-color:rgba(217,179,122,.5) transparent}
.gallery::-webkit-scrollbar{height:8px}
.gallery::-webkit-scrollbar-thumb{background:rgba(217,179,122,.45); border-radius:8px}
.gallery figure{flex:none; width:230px; margin:0; scroll-snap-align:start}
.gallery img{width:100%; border-radius:16px; border:1px solid var(--line); background:#0E1526; transition:.3s}
.gallery figure:hover img{transform:translateY(-4px); border-color:rgba(217,179,122,.45)}
.gallery figcaption{margin-top:10px; font-size:13px; color:var(--txt3); text-align:center}

/* 关于 */
.about-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.ab{padding:26px 24px; border-radius:18px; background:var(--card); border:1px solid var(--line)}
.ab h3{font-size:18px; color:var(--gold2)}
.ab p{margin-top:12px; font-size:14.5px; color:var(--txt2)}
.works{margin-top:34px; padding:30px 28px; border-radius:20px; background:var(--card); border:1px solid var(--line)}
.works-t{font-size:18px; margin-bottom:18px}
.works ul{display:grid; grid-template-columns:repeat(2,1fr); gap:12px 32px}
.works li{display:flex; align-items:center; gap:12px; padding:11px 14px; border-radius:12px;
  background:rgba(255,255,255,.03); font-size:14px}
.works li.on{background:rgba(217,179,122,.12); border:1px solid rgba(217,179,122,.3)}
.works .y{flex:none; width:52px; font-weight:800; color:var(--gold); font-variant-numeric:tabular-nums}
.works b{font-weight:700}
.works a,.works i{margin-left:auto; font-style:normal; font-size:13px; color:var(--txt3)}
.works li.on a{color:var(--gold2)}

/* 底部 CTA */
.cta{padding:100px 0; text-align:center; position:relative}
.cta::before{content:''; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(ellipse at 50% 100%,rgba(217,179,122,.14),transparent 62%)}
.cta h2{font-size:clamp(28px,3.6vw,44px)}
.cta h2 em{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.cta p{margin-top:16px; color:var(--txt2)}
.cta-btns{display:flex; gap:14px; justify-content:center; margin-top:32px; flex-wrap:wrap}
.cta-note{margin-top:22px; font-size:14px; color:var(--txt3)}
.cta-note b{color:var(--gold2)}

/* 页脚 */
.foot{border-top:1px solid var(--line); padding:56px 0 26px; background:rgba(0,0,0,.25)}
.foot-in{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px}
.f-brand p{margin-top:16px; font-size:13.5px; color:var(--txt3); max-width:420px}
.f-contact{margin-top:14px; font-size:13.5px; color:var(--txt2)}
.f-contact b{color:var(--gold2)}
.f-col h4{font-size:14px; margin-bottom:14px; color:var(--txt)}
.f-col a{display:block; font-size:13.5px; color:var(--txt3); padding:5px 0; transition:.2s}
.f-col a:hover{color:var(--gold2)}
.foot-bot{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:40px;
  padding-top:20px; border-top:1px solid var(--line); font-size:12.5px; color:var(--txt3)}
.icp{letter-spacing:.04em}

/* ---------- 进场动画 ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none}}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .hero-in{grid-template-columns:1fr; gap:40px}
  .hero h1 em{font-size:.86em; white-space:normal}
  .hero-shot{order:-1}
  .fc1{left:0; top:40px} .fc2{right:0; bottom:60px}
  .hl-grid,.feat-grid{grid-template-columns:repeat(2,1fr)}
  .ai-grid,.about-cards,.works ul{grid-template-columns:1fr}
  .ai-strip{grid-template-columns:1fr; gap:28px}
  .way-grid,.cli-grid{grid-template-columns:repeat(2,1fr)}
  .safe{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .nav-menu{position:fixed; top:70px; left:16px; right:16px; flex-direction:column; gap:4px; padding:14px;
    border-radius:16px; background:rgba(8,13,24,.97); border:1px solid var(--line); box-shadow:var(--shadow);
    transform:translateY(-12px); opacity:0; pointer-events:none; transition:.25s}
  .nav-menu.open{transform:none; opacity:1; pointer-events:auto}
  .nav-menu .m-only{display:block; margin-top:6px; text-align:center; color:#241A08; font-weight:800;
    background:var(--grad)}
  .burger{display:block}
  .nav-act .btn.ghost{display:none}
  .hero{padding:118px 0 50px}
  .stats{grid-template-columns:repeat(2,1fr); gap:24px; padding:24px}
  .stat b{font-size:32px}
  .sec{padding:70px 0}
  .hl-grid,.way-grid,.cli-grid,.feat-grid{grid-template-columns:1fr}
  .phone{width:250px} .phone-screen{height:440px}
  .fc1,.fc2{display:none}
  .foot-in{grid-template-columns:1fr}
  .works ul{grid-template-columns:1fr}
  .float-card{display:none}
}
