/* ============================================================
   感算 TouchCompute · 官方平台站设计系统 v1.0
   语言：墨底鎏金 · 典雅大气 · 零依赖 · 零外部请求 · 无限动画禁用
   ============================================================ */
:root{
  --ink:#0b0e14; --ink2:#10141d; --ink3:#161b26; --ink4:#1c2330;
  --gold:#d4af37; --gold-hi:#f0d67a; --gold-lo:#9c8430;
  --gold-dim:rgba(212,175,55,.14);
  --text:#eae7dd; --text2:#b9bdc9; --sub:#8b93a5;
  --line:rgba(212,175,55,.22); --line2:rgba(255,255,255,.07);
  --ok:#57c785; --info:#7ab3e8; --warn:#e0a63a; --bad:#e05a5a;
  --r-lg:22px; --r-md:14px; --r-sm:9px;
  --serif:"Source Han Serif SC","Noto Serif SC","STZhongsong","SimSun",serif;
  --sans:"PingFang SC","Microsoft YaHei",-apple-system,"Segoe UI",sans-serif;
  --w:1160px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ink); color:var(--text); font-family:var(--sans);
  line-height:1.75; font-size:15px; overflow-x:hidden;
}
::selection{background:var(--gold-dim); color:var(--gold-hi)}
a{color:inherit; text-decoration:none}
img,svg{display:block}
.wrap{max-width:var(--w); margin:0 auto; padding:0 28px}

/* ---------- 导航 ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:99;
  background:rgba(11,14,20,.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line2);
}
.nav .wrap{display:flex; align-items:center; gap:34px; height:64px}
.brand{display:flex; align-items:center; gap:11px; flex:none}
.brand svg{width:34px; height:34px}
.brand .nm{font-family:var(--serif); font-size:19px; letter-spacing:3px; color:var(--gold-hi); font-weight:600}
.brand .nm small{display:block; font-family:var(--sans); font-size:9.5px; letter-spacing:2.5px; color:var(--sub); line-height:1.1}
.nav .links{display:flex; gap:28px; margin-left:auto}
.nav .links a{font-size:13.5px; color:var(--text2); letter-spacing:1px; padding:6px 2px; border-bottom:2px solid transparent; transition:.25s}
.nav .links a:hover{color:var(--gold-hi)}
.nav .links a.on{color:var(--gold-hi); border-bottom-color:var(--gold)}
.nav .cta{
  flex:none; margin-left:6px; border:1px solid var(--line); color:var(--gold-hi);
  padding:7px 20px; border-radius:99px; font-size:13px; letter-spacing:1.5px;
  background:linear-gradient(160deg,rgba(212,175,55,.12),rgba(212,175,55,.04));
  transition:.25s;
}
.nav .cta:hover{background:var(--gold-dim); box-shadow:0 0 22px rgba(212,175,55,.18)}
.burger{display:none; margin-left:auto; background:none; border:none; cursor:pointer; padding:8px}
.burger span{display:block; width:20px; height:2px; background:var(--gold-hi); margin:4px 0; border-radius:2px}

/* ---------- Hero ---------- */
.hero{position:relative; padding:172px 0 96px; overflow:hidden}
.hero .glow{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(900px 420px at 72% -8%, rgba(212,175,55,.13), transparent 62%),
    radial-gradient(700px 380px at 8% 30%, rgba(90,167,224,.06), transparent 60%),
    radial-gradient(1200px 600px at 50% 120%, rgba(212,175,55,.05), transparent 60%);
}
.hero .grid-bg{
  position:absolute; inset:0; pointer-events:none; opacity:.35;
  background-image:linear-gradient(rgba(212,175,55,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(212,175,55,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(720px 460px at 55% 0%,#000 30%,transparent 78%);
  mask-image:radial-gradient(720px 460px at 55% 0%,#000 30%,transparent 78%);
}
.hero .wrap{position:relative}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--line); border-radius:99px; padding:5px 16px;
  font-size:12px; letter-spacing:2.5px; color:var(--gold-hi);
  background:rgba(212,175,55,.07);
}
.badge .dot{width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 8px var(--gold)}
.hero h1{
  font-family:var(--serif); font-weight:600; letter-spacing:4px;
  font-size:clamp(34px,5.2vw,58px); line-height:1.28; margin:26px 0 18px;
}
.hero h1 .em{
  background:linear-gradient(115deg,var(--gold-hi) 20%,var(--gold) 55%,#b8902a 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero .lead{font-size:clamp(14.5px,1.6vw,17.5px); color:var(--text2); max-width:640px; letter-spacing:.5px}
.hero .acts{display:flex; gap:16px; margin-top:38px; flex-wrap:wrap}
.btn{
  display:inline-flex; align-items:center; gap:9px; border-radius:99px;
  padding:13px 34px; font-size:14.5px; letter-spacing:2px; cursor:pointer;
  transition:.25s; border:none; font-family:var(--sans);
}
.btn-gold{
  color:#14100a; font-weight:600;
  background:linear-gradient(135deg,var(--gold-hi),var(--gold) 60%,var(--gold-lo));
  box-shadow:0 6px 26px rgba(212,175,55,.28);
}
.btn-gold:hover{box-shadow:0 8px 34px rgba(212,175,55,.45); transform:translateY(-2px)}
.btn-ghost{color:var(--gold-hi); border:1px solid var(--line); background:rgba(212,175,55,.05)}
.btn-ghost:hover{background:var(--gold-dim)}

/* ---------- 数据带 ---------- */
.stats{border-block:1px solid var(--line2); background:linear-gradient(180deg,var(--ink2),var(--ink))}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding-top:30px; padding-bottom:30px}
.stat{text-align:center}
.stat b{display:block; font-family:var(--serif); font-size:31px; color:var(--gold-hi); font-weight:600; letter-spacing:1px}
.stat b i{font-style:normal; font-size:16px; margin-left:2px; color:var(--gold)}
.stat span{font-size:12.5px; color:var(--sub); letter-spacing:1.5px}

/* ---------- 分区标题 ---------- */
.sec{padding:92px 0}
.sec.alt{background:linear-gradient(180deg,var(--ink2),var(--ink))}
.head{text-align:center; margin-bottom:52px}
.head .kick{font-size:12px; letter-spacing:4px; color:var(--gold); margin-bottom:12px}
.head h2{font-family:var(--serif); font-size:clamp(24px,3vw,34px); letter-spacing:4px; font-weight:600}
.head h2 .em{color:var(--gold-hi)}
.head p{color:var(--sub); font-size:14px; margin-top:12px; max-width:620px; margin-inline:auto}
.head .rule{width:56px; height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); margin:20px auto 0}

/* ---------- 卡片 ---------- */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{
  position:relative; background:linear-gradient(165deg,var(--ink3),var(--ink2));
  border:1px solid var(--line2); border-radius:var(--r-lg); padding:30px 26px;
  transition:.3s; overflow:hidden;
}
.card::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,175,55,.5),transparent);
  opacity:0; transition:.3s;
}
.card:hover{border-color:var(--line); transform:translateY(-4px); box-shadow:0 18px 44px rgba(0,0,0,.45)}
.card:hover::before{opacity:1}
.card .ic{
  width:52px; height:52px; border-radius:14px; display:grid; place-items:center;
  background:var(--gold-dim); border:1px solid var(--line); margin-bottom:20px;
}
.card .ic svg{width:26px; height:26px; stroke:var(--gold-hi); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
.card h3{font-family:var(--serif); font-size:18px; letter-spacing:2px; color:var(--gold-hi); font-weight:600; margin-bottom:10px}
.card p{font-size:13.5px; color:var(--sub); line-height:1.85}
.card .more{display:inline-block; margin-top:14px; font-size:12.5px; color:var(--gold); letter-spacing:1px}
.card .more:hover{color:var(--gold-hi)}

/* ---------- 列表/表格 ---------- */
.tbl{width:100%; border-collapse:collapse; font-size:13.5px}
.tbl th{
  background:var(--ink3); color:var(--gold-hi); font-weight:600; text-align:left;
  padding:13px 16px; border-bottom:1px solid var(--line); letter-spacing:1.5px; white-space:nowrap;
}
.tbl td{padding:13px 16px; border-bottom:1px solid var(--line2); color:var(--text2); vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:rgba(212,175,55,.035)}
.num{font-variant-numeric:tabular-nums}
.pill{display:inline-block; border-radius:99px; padding:2.5px 13px; font-size:11.5px; letter-spacing:1px; white-space:nowrap}
.p-gold{background:var(--gold-dim); color:var(--gold-hi); border:1px solid var(--line)}
.p-ok{background:rgba(87,199,133,.12); color:var(--ok); border:1px solid rgba(87,199,133,.32)}
.p-info{background:rgba(122,179,232,.12); color:var(--info); border:1px solid rgba(122,179,232,.3)}
.p-warn{background:rgba(224,166,58,.12); color:var(--warn); border:1px solid rgba(224,166,58,.3)}

/* ---------- 价格卡 ---------- */
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch}
.plan{
  position:relative; text-align:center; border-radius:var(--r-lg); padding:38px 28px 34px;
  background:linear-gradient(170deg,var(--ink3),var(--ink2));
  border:1px solid var(--line2); transition:.3s;
}
.plan:hover{transform:translateY(-4px); border-color:var(--line); box-shadow:0 18px 44px rgba(0,0,0,.45)}
.plan.hot{border-color:var(--gold); box-shadow:0 0 0 1px var(--gold),0 16px 44px rgba(212,175,55,.14)}
.plan .tag{position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,var(--gold-hi),var(--gold)); color:#14100a; font-size:11.5px; font-weight:700; letter-spacing:2px; border-radius:99px; padding:3.5px 18px}
.plan h3{font-family:var(--serif); font-size:20px; letter-spacing:3px; color:var(--gold-hi)}
.plan .price{margin:16px 0 4px; font-family:var(--serif)}
.plan .price b{font-size:44px; color:var(--text); font-weight:600}
.plan .price i{font-style:normal; font-size:15px; color:var(--sub)}
.plan .pts{font-size:12.5px; color:var(--gold); letter-spacing:1px}
.plan ul{list-style:none; margin:22px 0 26px; text-align:left}
.plan li{font-size:13px; color:var(--text2); padding:7px 0 7px 26px; position:relative; border-bottom:1px dashed var(--line2)}
.plan li::before{content:""; position:absolute; left:4px; top:13px; width:12px; height:7px; border-left:2px solid var(--gold); border-bottom:2px solid var(--gold); transform:rotate(-45deg)}

/* ---------- 案例 ---------- */
.case{
  display:grid; grid-template-columns:150px 1fr; gap:26px; align-items:start;
  background:linear-gradient(165deg,var(--ink3),var(--ink2));
  border:1px solid var(--line2); border-radius:var(--r-lg); padding:30px; transition:.3s;
}
.case:hover{border-color:var(--line); transform:translateY(-3px); box-shadow:0 16px 40px rgba(0,0,0,.4)}
.case .seal{
  font-family:var(--serif); border:1px solid var(--line); border-radius:var(--r-md);
  aspect-ratio:1; display:grid; place-items:center; text-align:center; gap:2px;
  background:radial-gradient(120px 120px at 50% 0%,rgba(212,175,55,.1),transparent 70%),var(--ink2);
}
.case .seal b{font-size:26px; color:var(--gold-hi); letter-spacing:2px; font-weight:600}
.case .seal span{font-size:10.5px; color:var(--sub); letter-spacing:2px; writing-mode:horizontal-tb}
.case h3{font-family:var(--serif); font-size:19px; letter-spacing:2px; color:var(--text); margin-bottom:6px}
.case h3 .pill{margin-left:12px; vertical-align:3px}
.case .meta{font-size:12.5px; color:var(--sub); letter-spacing:1px; margin-bottom:12px}
.case p{font-size:13.5px; color:var(--text2)}
.case .row{display:flex; gap:26px; margin-top:16px; flex-wrap:wrap}
.case .kpi b{display:block; font-family:var(--serif); font-size:22px; color:var(--gold-hi)}
.case .kpi span{font-size:11.5px; color:var(--sub); letter-spacing:1px}

/* ---------- 英雄榜 ---------- */
.podium{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-bottom:34px}
.pod{
  text-align:center; border-radius:var(--r-lg); padding:34px 22px 28px; position:relative;
  border:1px solid var(--line2); background:linear-gradient(170deg,var(--ink3),var(--ink2)); transition:.3s;
}
.pod:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.4)}
.pod .rank{
  width:62px; height:62px; margin:0 auto 14px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--serif); font-size:24px; font-weight:600; color:#14100a;
}
.pod:nth-child(1) .rank{background:linear-gradient(135deg,#f5e29a,var(--gold) 55%,#8a6f1d); box-shadow:0 0 26px rgba(212,175,55,.4)}
.pod:nth-child(2) .rank{background:linear-gradient(135deg,#e6eaf2,#98a4b8 55%,#5c6878)}
.pod:nth-child(3) .rank{background:linear-gradient(135deg,#f0b98a,#b06f2e 55%,#6e3f14)}
.pod .nm{font-family:var(--serif); font-size:19px; letter-spacing:2px; color:var(--gold-hi)}
.pod .t{font-size:12px; color:var(--sub); letter-spacing:1px; margin:4px 0 14px}
.pod .nums{display:flex; justify-content:center; gap:22px}
.pod .nums b{display:block; font-size:19px; color:var(--text); font-family:var(--serif)}
.pod .nums span{font-size:10.5px; color:var(--sub); letter-spacing:1px}
.medal{font-size:11.5px; letter-spacing:1px}
.rankrow .rk{font-family:var(--serif); color:var(--gold-hi); font-size:15px; width:46px}

/* ---------- CTA 横幅 ---------- */
.band{
  position:relative; overflow:hidden; text-align:center;
  border:1px solid var(--line); border-radius:var(--r-lg); padding:64px 30px;
  background:
    radial-gradient(600px 260px at 50% -20%,rgba(212,175,55,.16),transparent 65%),
    linear-gradient(165deg,var(--ink3),var(--ink2));
}
.band h2{font-family:var(--serif); font-size:clamp(22px,3vw,32px); letter-spacing:4px; font-weight:600}
.band p{color:var(--sub); margin:12px 0 30px; font-size:14px; letter-spacing:1px}

/* ---------- 页脚 ---------- */
.footer{border-top:1px solid var(--line2); background:var(--ink2); margin-top:40px}
.footer .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; padding:56px 0 40px}
.footer h4{font-size:13px; letter-spacing:2.5px; color:var(--gold-hi); margin-bottom:16px; font-family:var(--serif)}
.footer a{display:block; font-size:12.5px; color:var(--sub); padding:4.5px 0; transition:.2s}
.footer a:hover{color:var(--gold-hi)}
.footer .about p{font-size:12.5px; color:var(--sub); margin-top:12px; max-width:300px; line-height:1.9}
.footer .base span:first-child{white-space:nowrap}
.footer .base{
  border-top:1px solid var(--line2); padding:20px 0; display:flex; justify-content:space-between;
  font-size:11.5px; color:var(--sub); letter-spacing:1px; flex-wrap:wrap; gap:8px;
}

/* ---------- 揭示动画（只播一次，非无限） ---------- */
.rv{opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1; transform:none}

/* ---------- 响应式 ---------- */
@media (max-width:960px){
  .cards,.cards.c4{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr; max-width:440px; margin:0 auto}
  .stats .wrap{grid-template-columns:repeat(2,1fr); gap:22px}
  .footer .cols{grid-template-columns:1fr 1fr}
  .case{grid-template-columns:1fr}
  .case .seal{width:92px; aspect-ratio:auto; padding:10px}
  .podium{grid-template-columns:1fr; max-width:420px; margin:0 auto 34px}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .hero{padding-top:128px}
  .cards,.cards.c2,.cards.c4{grid-template-columns:1fr}
  .footer .cols{grid-template-columns:1fr}
  .nav .links{
    display:none; position:absolute; top:64px; left:0; right:0; flex-direction:column;
    background:rgba(11,14,20,.97); border-bottom:1px solid var(--line2); padding:18px 28px; gap:14px;
  }
  .nav .links.open{display:flex}
  .burger{display:block}
}
