/* TJ NOVA LTD · 公司介绍页
   设计系统：纯白 + 纯黑 + 单一超彩(电光蓝) / Fraunces + Inter + Space Grotesk */

:root{
  /* 黑白高级：纯白纸面、纯黑墨、单一超彩强调 */
  --paper:#FFFFFF;
  --paper-2:#FFFFFF;
  --paper-3:#F4F4F5;
  --ink:#000000;
  --ink-2:#2E2E32;
  --ink-3:#6B6B72;
  --ink-4:#A1A1AA;
  --line:#E7E7EA;
  --line-2:#D2D2D8;

  /* 超彩：整站只有这一个颜色,用得越少越贵 */
  --accent:#1F3BFF;
  --accent-soft:#EEF0FF;
  --accent-deep:#0A22D6;

  /* 兼容旧变量名,全部指向同一套 */
  --indigo:var(--accent);
  --indigo-soft:var(--accent-soft);
  --indigo-deep:var(--accent-deep);
  --gold:var(--accent);
  --gold-soft:var(--accent-soft);

  --serif:'Fraunces',ui-serif,Georgia,'Songti SC','Noto Serif SC',serif;
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Noto Sans SC',sans-serif;
  --mono:'Space Grotesk','Inter',ui-monospace,SFMono-Regular,monospace;

  --w:1180px;
  --r:4px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* 🔴 乌克兰语：Fraunces / Space Grotesk 无西里尔字形，会掉字 → 整体回退到 Inter */
html[lang="uk"]{
  --serif:'Inter',ui-sans-serif,system-ui,sans-serif;
  --mono:'Inter',ui-sans-serif,system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 28px}
@media(max-width:640px){.wrap{padding:0 20px}}

.eyebrow{
  font-family:var(--mono);font-size:11.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);
  display:flex;align-items:center;gap:10px;margin:0 0 22px;
}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--line-2);flex:none}

h2.sec{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(28px,4.1vw,44px);line-height:1.18;letter-spacing:-.018em;
  margin:0 0 18px;
}
.sec-lead{
  font-size:clamp(15.5px,1.5vw,17.5px);line-height:1.72;color:var(--ink-2);
  max-width:64ch;margin:0 0 46px;
}

/* ── 导航 ───────────────────────────── */
.nav{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.82);backdrop-filter:blur(14px) saturate(1.6);
  -webkit-backdrop-filter:blur(14px) saturate(1.6);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s;
}
.nav.stuck{border-bottom-color:var(--line)}
.nav-in{display:flex;align-items:center;gap:26px;height:64px}
.brand{display:flex;align-items:center;gap:11px;font-weight:650;letter-spacing:-.01em;flex:none}
.brand svg{width:26px;height:26px;flex:none}
.brand b{font-family:var(--mono);font-size:14.5px;font-weight:700;letter-spacing:.02em}
.nav-links{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav-links a{
  font-size:13.5px;color:var(--ink-3);font-weight:500;
  transition:color .2s;white-space:nowrap;
}
.nav-links a:hover{color:var(--ink)}
@media(max-width:940px){.nav-links{display:none}}

.lang{display:flex;gap:2px;background:var(--paper-3);border-radius:999px;padding:3px;flex:none}
.lang button{
  border:0;background:transparent;cursor:pointer;
  font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;
  color:var(--ink-3);padding:5px 11px;border-radius:999px;transition:all .22s var(--ease);
}
.lang button[aria-pressed="true"]{background:var(--paper-2);color:var(--ink);box-shadow:none}
.nav .lang{margin-left:20px}
@media(max-width:940px){.nav .lang{margin-left:auto}}

/* ── Hero ───────────────────────────── */
.hero{position:relative;padding:clamp(64px,9vw,116px) 0 clamp(52px,6vw,76px);overflow:hidden}
.hero canvas{
  position:absolute;inset:0;width:100%;height:100%;
  opacity:.5;pointer-events:none;
}
.hero .wrap{position:relative;z-index:2}
.hero-badge{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--paper-2);border:1px solid var(--line);
  border-radius:999px;padding:7px 15px 7px 11px;margin-bottom:30px;
  font-size:12.5px;color:var(--ink-2);box-shadow:none;
}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--indigo);flex:none;
  box-shadow:0 0 0 3px var(--indigo-soft)}
.hero-badge b{font-family:var(--mono);font-weight:600;letter-spacing:.02em;color:var(--ink)}

h1{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(34px,6.2vw,68px);line-height:1.09;letter-spacing:-.028em;
  margin:0 0 26px;max-width:17ch;
}
h1 .em{color:var(--indigo);font-style:italic}
.hero-lead{
  font-size:clamp(16px,1.75vw,19.5px);line-height:1.68;color:var(--ink-2);
  max-width:60ch;margin:0 0 40px;
}

.cta-row{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 24px;border-radius:999px;font-size:14.5px;font-weight:560;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s;
  border:1px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--ink);color:var(--paper);box-shadow:none}
.btn-primary:hover{transform:none;background:var(--accent)}
.btn-ghost{background:var(--paper-2);border-color:var(--line-2);color:var(--ink)}
.btn-ghost:hover{transform:none;border-color:#000}
.btn svg{width:15px;height:15px}

/* ── Hero 大数字 ───────────────────── */
.bignum{
  margin-top:clamp(50px,6vw,76px);
  border-top:1px solid var(--line);padding-top:clamp(30px,3.6vw,42px);
}
.bignum-label{
  font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink-4);margin:0 0 14px;
}
.bignum-val{
  font-family:var(--mono);font-weight:700;
  font-size:clamp(40px,8.4vw,104px);line-height:1;letter-spacing:-.035em;
  color:var(--ink);font-variant-numeric:tabular-nums;
  display:flex;align-items:baseline;gap:.14em;flex-wrap:wrap;
}
.bignum-val .unit{
  font-size:clamp(15px,1.9vw,24px);font-weight:600;color:var(--indigo);
  letter-spacing:-.01em;
}
.bignum-cap{
  margin:16px 0 0;font-size:13.5px;color:var(--ink-3);max-width:60ch;line-height:1.6;
}
.bignum-cap code{
  font-family:var(--mono);font-size:12.5px;background:var(--paper-3);
  padding:2px 7px;border-radius:5px;color:var(--ink-2);
}

/* ── 数字墙 ─────────────────────────── */
.stats{padding:clamp(56px,7vw,88px) 0}
.stat-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
}
@media(max-width:860px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.stat-grid{grid-template-columns:1fr}}
.stat{
  background:var(--paper-2);padding:32px 26px 28px;
  transition:background .3s var(--ease);
}
.stat:hover{background:var(--paper)}
.stat-v{
  font-family:var(--mono);font-weight:700;
  font-size:clamp(30px,3.8vw,44px);line-height:1;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;margin-bottom:11px;
  display:flex;align-items:baseline;gap:.1em;
}
.stat-v .suf{font-size:.46em;font-weight:600;color:var(--indigo)}
.stat-t{font-size:14.5px;font-weight:560;margin-bottom:7px;letter-spacing:-.005em}
.stat-c{font-size:12.5px;color:var(--ink-4);line-height:1.55}

/* ── 97% 深读那一屏 ─────────────────── */
.deep{
  padding:clamp(64px,8vw,104px) 0;
  background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.deep-head{max-width:70ch;margin-bottom:clamp(40px,5vw,60px)}
.deep-quote{
  font-family:var(--serif);font-weight:500;font-style:italic;
  font-size:clamp(21px,2.7vw,32px);line-height:1.4;letter-spacing:-.015em;
  color:var(--ink);margin:0 0 20px;
}
.deep-quote b{font-style:normal;font-weight:650;color:var(--indigo)}
.deep-body{font-size:16px;line-height:1.75;color:var(--ink-2);max-width:64ch}
.deep-body p{margin:0 0 15px}
.deep-body strong{font-weight:620;color:var(--ink)}

.cmp{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px}
@media(max-width:800px){.cmp{grid-template-columns:1fr}}
.cmp-card{
  border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 24px;
  background:var(--paper);position:relative;overflow:hidden;
}
.cmp-card.ours{background:var(--paper-2);border-left:3px solid var(--indigo);
  border-color:var(--line-2)}
.cmp-tag{
  font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-4);margin-bottom:9px;
}
.cmp-card.ours .cmp-tag{color:var(--indigo-deep)}
.cmp-title{font-size:16.5px;font-weight:620;margin:0 0 4px;letter-spacing:-.01em}
.cmp-sub{font-size:13px;color:var(--ink-3);margin:0 0 20px;line-height:1.55}
.cmp-viz{height:132px;margin-bottom:18px}
.cmp-foot{
  font-family:var(--mono);font-size:12px;color:var(--ink-3);
  border-top:1px solid var(--line);padding-top:13px;letter-spacing:.01em;
}
.cmp-card.ours .cmp-foot{border-top-color:var(--line-2);color:var(--indigo-deep);font-weight:600}

/* ── 三句原则 ───────────────────────── */
.tenets{padding:clamp(60px,7.5vw,96px) 0}
.tenet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:860px){.tenet-grid{grid-template-columns:1fr}}
.tenet{
  border-left:2px solid var(--line-2);padding:4px 0 4px 22px;
  transition:border-color .3s var(--ease);
}
.tenet:hover{border-left-color:var(--gold)}
.tenet-n{
  font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  color:var(--gold);margin-bottom:11px;
}
.tenet h3{font-family:var(--serif);font-size:19px;font-weight:600;margin:0 0 9px;
  letter-spacing:-.012em;line-height:1.34}
.tenet p{font-size:14.5px;color:var(--ink-3);margin:0;line-height:1.66}

/* ── 能力矩阵 ───────────────────────── */
.caps{padding:clamp(60px,7.5vw,96px) 0;background:var(--paper-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
@media(max-width:860px){.cap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cap-grid{grid-template-columns:1fr}}
.cap{background:var(--paper-2);padding:28px 24px 26px;position:relative;
  transition:background .3s var(--ease)}
.cap:hover{background:var(--paper)}
.cap-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.cap-ico{width:30px;height:30px;color:var(--indigo);flex:none}
.cap-n{font-family:var(--mono);font-size:26px;font-weight:700;line-height:1;
  color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cap-n span{font-size:11px;font-weight:600;color:var(--ink-4);letter-spacing:.06em;
  display:block;margin-top:5px;text-transform:uppercase}
.cap h3{font-size:16px;font-weight:620;margin:0 0 7px;letter-spacing:-.01em}
.cap p{font-size:13.5px;color:var(--ink-3);margin:0;line-height:1.62}

/* ── 作品 ───────────────────────────── */
.work{padding:clamp(60px,7.5vw,96px) 0}
.work-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;
  margin-bottom:42px;flex-wrap:wrap}
.work-head .sec-lead{margin-bottom:0}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:880px){.work-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.work-grid{grid-template-columns:1fr}}
.card{
  display:block;background:var(--paper-2);border:1px solid var(--line);
  border-radius:var(--r);padding:24px 22px 20px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  position:relative;overflow:hidden;
}
.card::after{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:var(--ink);
  transform:scaleX(0);transform-origin:left;transition:transform .42s var(--ease);
}
.card:hover{transform:none;border-color:#000}
.card:hover::after{transform:scaleX(1)}
.card-cat{
  font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-4);margin-bottom:13px;
  display:flex;align-items:center;gap:8px;
}
.card-cat i{width:5px;height:5px;border-radius:50%;background:var(--indigo);flex:none;font-style:normal}
.card h3{font-family:var(--serif);font-size:19.5px;font-weight:600;margin:0 0 9px;
  letter-spacing:-.014em;line-height:1.3}
.card p{font-size:13.8px;color:var(--ink-3);margin:0 0 18px;line-height:1.62}
.card-go{
  font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;
  color:var(--indigo);display:flex;align-items:center;gap:6px;
}
.card-go svg{width:12px;height:12px;transition:transform .3s var(--ease)}
.card:hover .card-go svg{transform:translateX(4px)}

/* ── 客户案例 ───────────────────────── */
.case{padding:clamp(64px,8vw,100px) 0;background:#000;color:#fff}
.case .eyebrow{color:rgba(255,255,255,.44)}
.case .eyebrow::before{background:rgba(255,255,255,.28)}
.case h2.sec{color:var(--paper)}
.case-lead{font-size:16.5px;line-height:1.72;color:rgba(255,255,255,.72);
  max-width:60ch;margin:0 0 46px}
.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r);overflow:hidden;margin-bottom:34px}
@media(max-width:820px){.case-grid{grid-template-columns:repeat(2,1fr)}}
.case-cell{background:var(--ink);padding:28px 22px}
.case-v{font-family:var(--mono);font-weight:700;font-size:clamp(26px,3.4vw,38px);
  line-height:1;letter-spacing:-.03em;margin-bottom:10px;color:var(--gold);
  font-variant-numeric:tabular-nums}
.case-t{font-size:13.5px;color:rgba(255,255,255,.66);line-height:1.5}
.case-note{
  font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.56);
  border-left:2px solid var(--gold);padding-left:20px;max-width:66ch;font-style:italic;
}
.case-what{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:34px}
.chip{
  font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.03em;
  border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 13px;
  color:rgba(255,255,255,.74);
}

/* ── 页脚 ───────────────────────────── */
.foot{padding:clamp(56px,6.5vw,80px) 0 40px;background:var(--paper)}
/* 🔴 列数必须自适应：zone 上的 Worker 会在页脚注入 Legal 这一列，
   写死 3 列会让第 4 列换行掉到品牌列下面（2026-09-05 龙哥截图指出）。
   auto-fit 让有几列排几列，Worker 注入与否都不塌。 */
.foot-top{display:grid;
  grid-template-columns:minmax(230px,1.5fr) repeat(auto-fit,minmax(140px,1fr));
  gap:40px 34px;align-items:start;
  padding-bottom:40px;border-bottom:1px solid var(--line);margin-bottom:28px}
@media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr;gap:34px 28px}}
@media(max-width:560px){.foot-top{grid-template-columns:1fr;gap:30px}}
.foot-brand{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.foot-brand svg{width:30px;height:30px}
.foot-brand b{font-family:var(--mono);font-size:16px;font-weight:700;letter-spacing:.02em}
.foot-desc{font-size:14px;color:var(--ink-3);line-height:1.68;max-width:42ch;margin:0 0 20px}
.foot-legal{font-size:12.5px;color:var(--ink-4);line-height:1.72}
.foot-legal b{color:var(--ink-2);font-weight:600;font-family:var(--mono);letter-spacing:.02em}
.foot-col h4{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-4);margin:0 0 16px}
.foot-col a,.foot-col span{display:block;font-size:14px;color:var(--ink-2);
  margin-bottom:11px;transition:color .2s}
.foot-col a:hover{color:var(--indigo)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;
  flex-wrap:wrap;font-size:12.5px;color:var(--ink-4)}
.foot-bot .lang{background:var(--paper-3)}

/* ── 滚动揭示（渐进增强）───────────────
   🔴 默认可见。只有 JS 真的跑起来并挂上 html.js-rv 才隐藏做动画。
   JS 失败 / IntersectionObserver 不触发 / 后台标签 → 内容照样看得见，首屏绝不空。*/
.rv{opacity:1;transform:none}
html.js-rv .rv{opacity:0;transform:translateY(22px);
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js-rv .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html.js-rv .rv{opacity:1;transform:none;transition:none}
  .card:hover,.btn:hover{transform:none}
}

/* ── 产能与排期（数据站核心屏）───────── */
.cap-sec{padding:clamp(60px,7.5vw,96px) 0;background:var(--paper-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pipe{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,64px);align-items:start}
@media(max-width:900px){.pipe{grid-template-columns:1fr;gap:40px}}

/* 台账构成条 */
.ledger{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.ledger-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:20px 22px 16px;border-bottom:1px solid var(--line)}
.ledger-head .lh-t{font-size:13.5px;font-weight:600;letter-spacing:-.005em}
.ledger-head .lh-n{font-family:var(--mono);font-size:26px;font-weight:700;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums}
.bar{display:flex;height:34px;width:100%;background:var(--paper-3)}
.bar span{display:block;height:100%;transition:width 1.1s var(--ease)}
.bar .b-done{background:var(--ink)}
.bar .b-build{background:var(--gold)}
.bar .b-pub{background:var(--indigo)}
.legend{padding:16px 22px 20px;display:grid;gap:11px}
.lg{display:flex;align-items:center;gap:11px;font-size:13.5px}
.lg i{width:9px;height:9px;border-radius:2px;flex:none;font-style:normal}
.lg .k{color:var(--ink-2);flex:1}
.lg .v{font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;font-size:15px}
.lg .p{font-family:var(--mono);font-size:12px;color:var(--ink-4);width:44px;text-align:right}

/* 排期日历条 */
.sched{margin-top:26px;border:1px solid var(--line);border-radius:var(--r);padding:22px;
  background:var(--paper)}
.sched-t{font-size:13.5px;font-weight:600;margin-bottom:6px}
.sched-s{font-size:12.5px;color:var(--ink-3);margin:0 0 18px;line-height:1.55}
.months{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin-bottom:10px}
.mo{height:38px;border-radius:3px;background:var(--paper-3);position:relative;
  display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;
  font-family:var(--mono);font-size:9.5px;color:var(--ink-4);transition:background .5s var(--ease)}
.mo.booked{background:var(--ink);color:rgba(255,255,255,.62)}
.mo.now{background:var(--gold);color:#FFFFFF;font-weight:700}
.sched-foot{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
.sched-foot b{color:var(--ink);font-weight:700}

/* 工程强度表 */
.intensity{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.int-row{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:17px 22px;border-bottom:1px solid var(--line);transition:background .25s}
.int-row:last-child{border-bottom:0}
.int-row:hover{background:var(--paper)}
.int-k{font-size:13.8px;color:var(--ink-2);line-height:1.5}
.int-k b{display:block;color:var(--ink);font-weight:600;margin-bottom:2px;font-size:14.5px}
.int-v{font-family:var(--mono);font-weight:700;font-size:clamp(19px,2.3vw,25px);
  letter-spacing:-.03em;font-variant-numeric:tabular-nums;flex:none;text-align:right}
.int-v small{display:block;font-family:var(--sans);font-size:10.5px;font-weight:500;
  color:var(--ink-4);letter-spacing:.04em;text-transform:uppercase;margin-top:3px}
.int-v.hot{color:var(--gold)}

/* 口径脚注 —— 数据站的可信度全在这 */
.note{
  margin-top:20px;padding:14px 18px;background:var(--paper-3);border-radius:var(--r);
  font-size:12.5px;line-height:1.62;color:var(--ink-3);border-left:2px solid var(--line-2);
}
.note b{color:var(--ink-2);font-weight:600}
.note code{font-family:var(--mono);font-size:11.5px;background:var(--paper-2);
  padding:1px 6px;border-radius:3px;color:var(--ink-2)}

/* 语言兜底选择器（页脚）—— 自动判定是主入口，这里只是兜底 */
.lang{display:flex;align-items:center;gap:9px;background:transparent;padding:0;border-radius:0}
.lang-lbl{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-4)}
#langSel{
  font-family:var(--sans);font-size:13px;color:var(--ink-2);
  background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--r);
  padding:6px 10px;cursor:pointer;transition:border-color .2s;
}
#langSel:hover{border-color:var(--ink-4)}
#langSel:focus-visible{outline:2px solid var(--indigo);outline-offset:1px}

.brand img,.foot-brand img{border-radius:6px;flex:none}
.brand img{width:26px;height:26px}
.foot-brand img{width:30px;height:30px}

/* ═══ 排版升级：图文交替，让页面充盈 ═══ */

/* Hero 改成左文右图 */
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4.5vw,64px);align-items:center}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:36px}}
.hero-art{
  position:relative;border-radius:var(--r);overflow:hidden;
  aspect-ratio:4/3;background:var(--paper-3);
  box-shadow:none;border:1px solid var(--line);
}
@media(max-width:940px){.hero-art{aspect-ratio:16/9}}
.hero-art img{width:100%;height:100%;object-fit:cover;display:block}
.hero-art::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);border-radius:var(--r);
}
/* 图上浮的小数据牌 */
.art-chip{
  position:absolute;left:16px;bottom:16px;right:16px;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(0,0,0,.09);border-radius:var(--r);
  padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.art-chip .k{font-size:12px;color:var(--ink-3);line-height:1.4}
.art-chip .v{font-family:var(--mono);font-weight:700;font-size:19px;letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;flex:none}

/* 业务线格子加配图 */
.cap-img{
  margin:-28px -24px 18px;aspect-ratio:16/10;overflow:hidden;background:var(--paper-3);
  border-bottom:1px solid var(--line);
}
.cap-img img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease)}
.cap:hover .cap-img img{transform:scale(1.045)}

/* 视觉带：三张大图横排 */
.band{padding:clamp(52px,6.5vw,84px) 0}
.band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.band-grid{grid-template-columns:1fr}}
.band-cell{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;
  background:var(--paper-3)}
.band-cell:first-child{aspect-ratio:3/4}
.band-cell img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s var(--ease)}
.band-cell:hover img{transform:scale(1.04)}
.band-cap{
  position:absolute;left:0;right:0;bottom:0;padding:26px 22px 20px;
  background:linear-gradient(to top,rgba(16,15,19,.92) 12%,rgba(16,15,19,.55) 55%,transparent);
  color:var(--paper);
}
.band-cap b{display:block;font-family:var(--serif);font-size:19px;font-weight:600;
  margin-bottom:5px;letter-spacing:-.012em}
.band-cap span{font-size:13px;color:rgba(255,255,255,.74);line-height:1.55}

/* 案例区左图右数据 */
.case-grid2{display:grid;grid-template-columns:.86fr 1.14fr;gap:clamp(26px,4vw,52px);
  align-items:center;margin-bottom:34px}
@media(max-width:860px){.case-grid2{grid-template-columns:1fr}}
.case-art{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;
  border:1px solid rgba(255,255,255,.15)}
.case-art img{width:100%;height:100%;object-fit:cover;display:block}
.case .case-grid{margin-bottom:0}

/* ═══ 增长曲线（真实实测数据）═══ */
.growth{padding:clamp(56px,7vw,92px) 0;background:var(--paper-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.chart-wrap{border:1px solid var(--line);border-radius:var(--r);background:var(--paper-2);
  padding:clamp(20px,2.6vw,30px);overflow:hidden}
.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
  flex-wrap:wrap;margin-bottom:22px}
.chart-title{font-size:14px;font-weight:600;letter-spacing:-.005em;margin:0 0 3px}
.chart-sub{font-family:var(--mono);font-size:11.5px;color:var(--ink-4);letter-spacing:.02em}
.chart-delta{font-family:var(--mono);font-weight:700;font-size:clamp(20px,2.5vw,27px);
  letter-spacing:-.03em;color:var(--gold);text-align:right;line-height:1}
.chart-delta small{display:block;font-family:var(--sans);font-size:10.5px;font-weight:500;
  color:var(--ink-4);letter-spacing:.05em;text-transform:uppercase;margin-top:5px}
#chart{width:100%;height:auto;display:block;overflow:visible}
.chart-x{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;
  color:var(--ink-4);margin-top:9px;letter-spacing:.02em}

/* ═══ 黑白高级感精修 ═══ */

/* 更强的字号层级与更紧的字距 */
h1{letter-spacing:-.035em;line-height:1.03;font-weight:600}
h1 .em{color:var(--accent);font-style:normal;font-weight:600}
h2.sec{letter-spacing:-.028em;line-height:1.1;font-weight:600}
.bignum-val{letter-spacing:-.05em;font-weight:700}
.stat-v,.case-v,.int-v,.cap-n,.lh-n{letter-spacing:-.042em}

/* 数字墙：去掉格子填充，改成极细分隔的排版块 */
.stat-grid{background:var(--line);border:1px solid var(--line);border-radius:0}
.stat{background:#fff;padding:38px 28px 34px}
.stat:hover{background:#fff}
.stat-v{margin-bottom:16px;font-size:clamp(34px,4.4vw,52px)}
.stat-v .suf{font-size:.4em;color:var(--accent);font-weight:600;margin-left:.04em}
.stat-t{font-size:14px;font-weight:600;letter-spacing:-.008em;margin-bottom:8px}
.stat-c{font-size:12.5px;color:var(--ink-4);line-height:1.5}

/* 区块留白拉开 */
.stats,.tenets,.caps,.work,.growth,.cap-sec{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}
.deep,.case{padding-top:clamp(80px,10vw,132px);padding-bottom:clamp(80px,10vw,132px)}

/* 卡片：零圆角零阴影，只靠线 */
.card,.cap-grid,.intensity,.ledger,.sched,.chart-wrap,.cmp-card,.case-grid,.band-cell,.hero-art,.case-art{border-radius:0}
.cap-grid,.stat-grid{border-radius:0}
.card{border-radius:0;padding:28px 26px 24px}
.card::after{height:2px;background:var(--accent)}

/* 超彩：只在这几处出现 */
.card-cat i{background:var(--accent)}
.card-go{color:var(--accent)}
.hero-badge .dot{background:var(--accent);box-shadow:none}
.tenet:hover{border-left-color:var(--accent)}
.tenet-n{color:var(--accent);font-weight:700}
.int-v.hot{color:var(--accent)}
.case-v{color:#fff}
.case-cell:first-child .case-v{color:var(--accent)}
.case-note{border-left-color:var(--accent)}
.bar .b-done{background:#000}
.bar .b-build{background:var(--line-2)}
.bar .b-pub{background:var(--accent)}
.lg i:nth-child(1){background:#000}
.mo.booked{background:#000;color:rgba(255,255,255,.55)}
.mo.now{background:var(--accent);color:#fff;font-weight:700}

/* 按钮：黑底白字 / 描边 */
.btn{border-radius:0;font-weight:560;padding:15px 26px}
.btn-primary{background:#000;color:#fff;border-color:#000}
.btn-primary:hover{background:var(--accent);border-color:var(--accent)}
.btn-ghost{background:transparent;border-color:var(--line-2);color:#000}
.btn-ghost:hover{border-color:#000;background:transparent}

/* 导航更轻 */
.nav{background:rgba(255,255,255,.86)}
.nav.stuck{border-bottom-color:var(--line)}
.nav-links a{font-size:13px;font-weight:500}
.nav-links a:hover{color:var(--accent)}

/* 图表容器 */
.chart-wrap{border-radius:0;padding:clamp(24px,3vw,36px)}
.chart-delta{color:var(--accent)}

/* 业务线格子：9 宫格，图更克制 */
.cap{padding:0 0 28px}
.cap-img{margin:0 0 22px;aspect-ratio:16/9;border-bottom:1px solid var(--line)}
.cap-top{padding:0 26px;margin-bottom:12px}
.cap h3{padding:0 26px;font-size:16.5px;font-weight:640;letter-spacing:-.012em}
.cap p{padding:0 26px;font-size:13.5px}
.cap-ico{color:var(--accent);width:26px;height:26px}

/* 视觉带：黑底压字 */
.band-cap{background:linear-gradient(to top,rgba(0,0,0,.94) 14%,rgba(0,0,0,.55) 58%,transparent)}
.band-cell{border-radius:0}

/* 选择器 */
#langSel{border-radius:0}
.note{border-radius:0;border-left-color:var(--accent)}

/* ═══ 轻动效：用 CSS 代替视频，零加载成本 ═══ */

/* Hero 图上的扫描线 —— 缓慢横掠,像仪器在读数 */
.hero-art{position:relative;overflow:hidden}
.hero-art::before{
  content:'';position:absolute;top:0;bottom:0;width:1.5px;left:-2px;z-index:2;
  background:linear-gradient(to bottom,transparent,var(--accent) 22%,var(--accent) 78%,transparent);
  opacity:.5;animation:sweep 7.5s cubic-bezier(.5,0,.5,1) infinite;
}
@keyframes sweep{
  0%   {left:-2px;opacity:0}
  8%   {opacity:.55}
  92%  {opacity:.55}
  100% {left:calc(100% + 2px);opacity:0}
}

/* 数据牌上的活体点 */
.art-chip .v{position:relative;padding-left:16px}
.art-chip .v::before{
  content:'';position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-3.5px;
  border-radius:50%;background:var(--accent);animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{transform:scale(1);opacity:1}
  50%    {transform:scale(1.5);opacity:.45}
}

/* 视觉带图片：极缓慢的呼吸缩放,不刺眼 */
.band-cell img{animation:drift 26s ease-in-out infinite alternate}
.band-cell:nth-child(2) img{animation-delay:-9s}
.band-cell:nth-child(3) img{animation-delay:-18s}
@keyframes drift{0%{transform:scale(1)}100%{transform:scale(1.055)}}

/* 台账条填充时的流光 */
.bar .b-done{position:relative;overflow:hidden}
.bar .b-done::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:translateX(-100%);animation:shine 4.5s ease-in-out 1.2s infinite;
}
@keyframes shine{0%{transform:translateX(-100%)}55%,100%{transform:translateX(220%)}}

@media (prefers-reduced-motion:reduce){
  .hero-art::before,.art-chip .v::before,.band-cell img,.bar .b-done::after{animation:none}
  .hero-art::before{opacity:0}
}


/* 页脚 Legal 列（zone Worker 注入）—— 与其余列同一套排版 */
.foot-col h4{white-space:nowrap}
.foot-col a{font-size:13.8px;line-height:1.5}
