/* ============================================================
   头家科技 — nutsbp.com  ·  V3
   视觉概念：把首屏当作一张正在被修订的 BP 页面
   ——左侧是给投资人看的正文，右侧是给审稿人的页边批注
   ============================================================ */

/* ---------- 字体 ---------- */
@font-face {
  font-family: "Touja Serif SC";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/touja-serif-sc.woff2") format("woff2");
  /* 子集仅含全站标题用字（约 220 字，39.6 KB）；
     未列入的汉字自动回落到系统宋体 */
  unicode-range:     U+0020-0023,U+0025-005B,U+005D,U+005F,U+0061-007D,U+00A9,U+00B7,U+2014
    U+2018-2019,U+201C-201D,U+2026,U+2192,U+29C9,U+3001-3002,U+300A-300D
    U+4E00,U+4E07,U+4E09-4E0B,U+4E0D-4E0E,U+4E13-4E14,U+4E1A,U+4E1C,U+4E24
    U+4E2A,U+4E2D,U+4E3A-4E3B,U+4E48,U+4E4B,U+4E5F-4E60,U+4E66,U+4E86,U+4E89
    U+4E8B,U+4E8E,U+4E92,U+4E94,U+4EA4,U+4EA7,U+4EAB-4EAC,U+4EAE,U+4EBA
    U+4EBF-4EC0,U+4ECE,U+4ED3,U+4ED6,U+4ED8,U+4EE3,U+4EE5,U+4EEC,U+4EF6-4EF7
    U+4EFD,U+4F01,U+4F17-4F18,U+4F1A,U+4F34,U+4F46,U+4F4D,U+4F53,U+4F55
    U+4F5C,U+4F60,U+4F7F,U+4F8B,U+4F9B,U+4FDD,U+4FE1,U+4FEE,U+503C,U+504F
    U+505A,U+505C,U+5065,U+50A8,U+5148,U+515C,U+5165,U+5168,U+516C,U+5171
    U+5173,U+5177,U+517C,U+5185,U+518D,U+5199,U+51B3,U+51B7,U+51CF,U+51ED
    U+51FA,U+5206,U+5212,U+5217,U+5219,U+521B,U+5220,U+5224,U+5230,U+5236
    U+523B,U+524D,U+5256,U+529B,U+529F-52A1,U+52A8-52A9,U+52BF,U+5305
    U+5316-5317,U+5339-533B,U+5343,U+5347,U+5355-5357,U+5373,U+5386,U+539F
    U+53A6,U+53CA-53CC,U+53D1,U+53D9,U+53E3,U+53E5,U+53EA,U+53EF-53F0
    U+53F7-53F8,U+5403,U+5408,U+540C,U+540E,U+5411,U+5448,U+544A,U+5458
    U+5468,U+547C,U+548C,U+54C1,U+552E,U+5546,U+5668,U+56DE,U+56E2,U+56ED
    U+56F4,U+56FA,U+56FD-56FE,U+5728,U+5730,U+5733,U+573A,U+5740,U+5757
    U+578B,U+5792,U+57AE,U+57DF,U+57FA,U+5883,U+589E,U+58C1,U+5904,U+5907
    U+590D,U+5916,U+591A,U+5927,U+5929,U+5931,U+5934,U+594F,U+5957,U+5962
    U+597D,U+5982,U+5986,U+59CB,U+5B50,U+5B57-5B58,U+5B81,U+5B89,U+5B8C
    U+5B9A,U+5B9E,U+5BA2,U+5BB6,U+5BB9,U+5BC6,U+5BF9,U+5BFC,U+5C0F,U+5C11
    U+5C31,U+5C40,U+5C4F,U+5C55,U+5C5E,U+5CF0,U+5DDE,U+5DE5,U+5DEE
    U+5DF1-5DF2,U+5E01-5E03,U+5E26,U+5E2E,U+5E38,U+5E73-5E74,U+5E8F
    U+5E93-5E95,U+5E9C,U+5EA6,U+5EB7,U+5EFA,U+5F00,U+5F02,U+5F0F,U+5F20
    U+5F3A,U+5F52-5F53,U+5F62,U+5F81,U+5F84,U+5F97,U+5FAE,U+5FC3,U+5FC5
    U+5FD7,U+5FEB,U+6001,U+6027,U+606F,U+60A6,U+60EF,U+60F3,U+610F,U+611F
    U+6167,U+61C2,U+6210-6211,U+6216,U+6218,U+6237,U+6240,U+624B,U+624D
    U+6253,U+6267,U+6269,U+6280,U+628A,U+6295,U+62A5,U+62AB,U+62D6,U+62DB
    U+62DF,U+6301,U+6307,U+6309,U+6362,U+636E,U+6392,U+63A5,U+63A8
    U+63CF-63D0,U+64B0,U+652F,U+6536,U+6539,U+653E-653F,U+6545,U+6548,U+6551
    U+6570,U+6574,U+6587,U+6599,U+65AD,U+65B0,U+65B9,U+65C5,U+65E0,U+65E7
    U+65F6,U+660E,U+662F,U+663E,U+666F,U+667A,U+66F2,U+66F4,U+66FF-6700
    U+6708-6709,U+670D,U+671F,U+672A,U+672C,U+673A,U+6742,U+6750,U+6761
    U+6765,U+676D,U+677F,U+6781,U+6784,U+6790,U+679C,U+67E5,U+6807
    U+6837-6839,U+683C,U+6848,U+6863,U+68B3,U+68C0,U+695A,U+699C,U+6A21
    U+6A59,U+6B21,U+6B27,U+6B62-6B65,U+6BB5,U+6BCF,U+6C11,U+6C38,U+6C41-6C42
    U+6C89,U+6C9F,U+6CA1,U+6CE2,U+6CE8,U+6D3B,U+6D41,U+6D6E,U+6D77,U+6D88
    U+6DF1,U+6DFB,U+6E05,U+6E29,U+6E90,U+6F14,U+6F5C,U+6FB3,U+70B9,U+7126
    U+724C,U+7269,U+7279,U+72B6,U+72C2,U+72EC,U+732E,U+7387,U+73AF-73B0
    U+7403,U+7406,U+751F,U+7528,U+7531,U+7535,U+753B,U+7545,U+754C,U+7559
    U+7565,U+7591,U+7597,U+75AF,U+7684,U+76D6,U+76EE,U+76F4,U+76FE,U+770B
    U+771F,U+773C,U+77DB,U+77E5,U+77ED,U+7814,U+786E,U+79CD,U+79D1,U+79DF
    U+79EF,U+79FB,U+7A0B,U+7A33,U+7A76,U+7A7A,U+7A81,U+7A97,U+7ACB,U+7AD9
    U+7ADE,U+7B2C,U+7B49,U+7B56,U+7B7E,U+7B97,U+7BA1,U+7C7B,U+7CFB,U+7D2F
    U+7EA6-7EA7,U+7EBF,U+7EC3-7EC4,U+7EC6,U+7ECF,U+7ED3,U+7ED9,U+7EDF,U+7EE7
    U+7EEA,U+7EED,U+7EFC,U+7EFF,U+7F3A,U+7F51,U+7F8E,U+7FFB,U+8005,U+800C
    U+804A,U+8054,U+805A,U+80FD,U+811A,U+81EA,U+81F3,U+822A,U+8272,U+8282
    U+82CF,U+82F1,U+8303,U+83B1,U+83B7,U+83DC,U+8457,U+84DD,U+878D,U+884C
    U+8868,U+88AB,U+88C5,U+88F9,U+891A,U+8981,U+8986,U+89C1,U+89C4-89C6
    U+89C9,U+89D2,U+89E3,U+8A00,U+8BA1-8BA2,U+8BA4,U+8BA9,U+8BAD-8BAE,U+8BB0
    U+8BB2,U+8BBE,U+8BC1,U+8BCA,U+8BCD,U+8BDD,U+8BE5-8BE6,U+8BED,U+8BF4
    U+8BFB,U+8C03,U+8C08,U+8D21-8D22,U+8D25,U+8D28,U+8D39,U+8D44,U+8D5B
    U+8D62,U+8D77,U+8D85,U+8D8B,U+8DE8,U+8DEF,U+8DF3,U+8F66,U+8F6C,U+8F6E
    U+8F7B,U+8F85,U+8F91,U+8F93,U+8FBE,U+8FC7,U+8FD9,U+8FDB,U+8FDE,U+8FF0
    U+8FFD,U+9002,U+9009,U+900F,U+9014,U+901A,U+901F-9020,U+903B,U+9053
    U+90E8,U+90FD,U+914D,U+91C7,U+91CC-91CD,U+91D1,U+9488,U+94F6,U+94FE
    U+9519-951A,U+9521,U+952E,U+957F,U+95E8,U+95ED-95EE,U+95F4,U+9605,U+961F
    U+9636,U+9645,U+964D,U+966A,U+96F6,U+9700,U+9732,U+9759,U+975E,U+9760
    U+9762,U+9875,U+9879-987B,U+987E,U+9886,U+9898,U+989D,U+98A0,U+98CE
    U+98DE,U+9910,U+996E,U+9996,U+9A71,U+9A8C,U+9AD8,U+9ED1,U+9ED8,U+FF01
    U+FF08-FF09,U+FF0C,U+FF1A-FF1B,U+FF1F;
}

@font-face {
  font-family: "Instrument Serif";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/instrument-serif@5.2.5/files/instrument-serif-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2122;
}
@font-face {
  font-family: "Instrument Serif";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/instrument-serif@5.2.5/files/instrument-serif-latin-400-italic.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2122;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/inter@5.2.6/files/inter-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2122;
}
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/jetbrains-mono@5.2.5/files/jetbrains-mono-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2122;
}

/* ---------- 变量 ---------- */
:root {
  --void: #0a0b0d;
  --ink: #101114;
  --ink-2: #1a1c21;
  --paper: #f4f2ed;
  --paper-2: #e9e5dd;

  --fg: #f5f4f1;
  --fg-dim: #a3a09a;
  --fg-dark: #1a1b1e;
  --fg-dark-dim: #63605b;

  --signal: #e8502f;
  --signal-soft: #ff7a52;
  --signal-ink: #b8371c;

  --line: rgba(245, 244, 241, 0.14);
  --line-dark: rgba(10, 11, 13, 0.18);

  --serif: "Touja Serif SC", "Songti SC", "Source Han Serif SC", "Noto Serif SC", "SimSun", serif;
  --latin: "Instrument Serif", "Touja Serif SC", "Songti SC", serif;
  --sans: "Inter", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-io: cubic-bezier(0.65, 0, 0.35, 1);
  --gutter: clamp(20px, 4vw, 56px);
  --max: 1440px;
  --nav-h: 72px;
}

/* ---------- reset ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--sans);
  background: var(--void);
  color: var(--fg);
  font-size: clamp(14px, 0.95vw, 16px);
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  /* 只禁伪斜体（中文斜体是廉价感来源）；保留伪粗体，
     否则Windows 上 Microsoft YaHei 的 500 会掉到 400，层级消失 */
  font-synthesis-style: none;
}

::selection { background: var(--signal); color: #fff; }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
/* <picture> 只做 WebP 回退容器，不参与布局 */
picture { display: contents; }
button { font-family: inherit; }

/* ---------- a11y ---------- */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; top: 0; left: 0; z-index: 10000;
  padding: 12px 20px;
  background: var(--signal); color: #fff;
  font-size: 14px; text-decoration: none;
  transform: translateY(-140%);
  transition: transform 0.2s var(--ease);
}
.skip-link:focus { transform: translateY(0); outline: 3px solid #fff; outline-offset: 2px; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--signal-soft);
  outline-offset: 3px;
  border-radius: 2px;
}
.btn:focus-visible { outline-offset: 4px; }
.nav__link:focus-visible { outline-offset: 5px; }
.band--paper :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--signal-ink);
}
.footer :where(a, button):focus-visible { outline-color: var(--signal-soft); }

/* ---------- 尺度系统 ----------
   端点：display 152px / micro 9px —— 约 17:1，中段刻意压缩为 5 台阶 */
.u-mono {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fg-dim);
}

/* ---------- layout ---------- */
.wrap { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }

.band { position: relative; padding: clamp(80px, 11vw, 150px) 0; }
.band--paper { background: var(--paper); color: var(--fg-dark); }
.band--ink { background: var(--ink); }

/* 信号色规约：每屏至多 1 处主落点 + 状态色 + 数据色。
   其余层级一律用 fg-dim 与 line，避免信号色通货膨胀。 */
.label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--fg-dim);
  margin-bottom: 24px;
}
.band--paper .label { color: var(--signal-ink); }
.label::before {
  content: "";
  width: 22px; height: 1px;
  background: currentColor;
}

.h2 {
  font-family: var(--serif);
  font-size: clamp(28px, 3.6vw, 54px);
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 400;
  max-width: 13em;
  text-wrap: balance;
}
.h2 em { font-style: normal; color: var(--signal); }
.band--paper .h2 em { color: var(--signal-ink); }

.h3 {
  font-size: clamp(17px, 1.3vw, 20px);
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: 0;
}

.lede {
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.75;
  color: var(--fg-dim);
  max-width: 30em;
  margin-top: 24px;
  text-wrap: pretty;
}
.band--paper .lede { color: var(--fg-dark-dim); }

.statement {
  font-family: var(--serif);
  font-size: clamp(24px, 2.8vw, 40px);
  line-height: 1.34;
  letter-spacing: 0;
  max-width: 15em;
  margin-top: 28px;
  text-wrap: balance;
}
.statement em { font-style: normal; color: var(--signal); }
.statement__attr {
  margin-top: 30px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fg-dim);
}

/* ---------- 两栏 ---------- */
.split-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 90px);
  align-items: center;
}
.split-2--form {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: clamp(40px, 6vw, 100px);
  align-items: start;
}
.split-2 > * { min-width: 0; }
.split-2__aside { padding-top: 10px; }

.cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cta-center { text-align: center; max-width: 760px; margin: 0 auto; }
.cta-center .h2 { margin: 0 auto 28px; }
.cta-center .lede { margin: 0 auto 40px; }

/* ---------- nav ---------- */
.nav-shell {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  transition: background 0.4s var(--ease), border-color 0.4s var(--ease);
  border-bottom: 1px solid transparent;
}
.nav-shell.is-solid {
  background: rgba(10, 11, 13, 0.84);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  border-bottom-color: var(--line);
}

.nav { display: flex; align-items: center; justify-content: space-between; height: var(--nav-h); }

.logo { display: flex; align-items: center; gap: 11px; }
.logo__zh { font-size: 19px; font-weight: 500; letter-spacing: 0.04em; }
.logo__en {
  font-family: var(--mono); font-size: 9px; letter-spacing: 0.24em;
  color: var(--fg-dim); padding-left: 11px; border-left: 1px solid var(--line);
}

.nav__menu { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 40px); }
.nav__link { position: relative; font-size: 13px; color: var(--fg-dim); transition: color 0.25s; padding: 6px 0; }
.nav__link::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 100%; height: 1px;
  background: var(--signal);
  transform: scaleX(0); transform-origin: right;
  transition: transform 0.4s var(--ease);
}
.nav__link:hover { color: var(--fg); }
.nav__link:hover::after { transform: scaleX(1); transform-origin: left; }
.nav__link[aria-current="page"] { color: var(--fg); }
.nav__link[aria-current="page"]::after { transform: scaleX(1); }

.nav__burger {
  display: none;
  width: 42px; height: 42px;
  background: none; border: 1px solid var(--line); border-radius: 50%;
  color: var(--fg); cursor: pointer;
  align-items: center; justify-content: center;
}
.nav__burger span { display: block; width: 15px; height: 1px; background: currentColor; position: relative; }
.nav__burger span::before,
.nav__burger span::after {
  content: ""; position: absolute; left: 0;
  width: 15px; height: 1px; background: currentColor;
  transition: transform 0.3s var(--ease);
}
.nav__burger span::before { top: -5px; }
.nav__burger span::after { top: 5px; }

/* ============================================================
   HERO —— 首屏：巨字正文 + 底部说明与行动按钮
   ============================================================ */
.hero {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  padding: calc(var(--nav-h) + 52px) 0 clamp(34px, 4.6vw, 58px);
  isolation: isolate;
}


.hero__inner {
  position: relative;
  width: 100%;
  display: grid;
  align-items: end;
}

.hero__main { min-width: 0; }

.hero__eyebrow {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: clamp(22px, 3vw, 40px);
}
.hero__eyebrow .dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--signal);
  animation: pulse 2.4s var(--ease-io) infinite;
  flex-shrink: 0;
}
@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(0.7); }
}

.hero h1 {
  font-family: var(--serif);
  /* 两行巨字：字号峰值与 micro 标签形成约 17:1 感知断层 */
  font-size: min(clamp(52px, 9.6vw, 152px), 17.5svh);
  line-height: 1.06;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: clamp(26px, 3.4vw, 44px);
  text-wrap: balance;
}
.hero h1 .line { display: block; overflow: hidden; padding: 0.08em 0 0.12em; margin: -0.08em 0 -0.12em; }
.js .hero h1 .line > span { display: block; transform: translateY(108%); animation: rise 1.15s var(--ease) forwards; }
.js .hero h1 .line:nth-child(2) > span { animation-delay: 0.1s; }
@keyframes rise { to { transform: translateY(0); } }

.hero h1 em { font-style: normal; color: var(--signal); }

/* 页边批注已移除：首屏只保留巨字正文与底部行动区 */

.hero__foot {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 72px);
  align-items: end;
  margin-top: clamp(26px, 3.2vw, 44px);
  padding-top: clamp(24px, 3vw, 40px);
  border-top: 1px solid var(--line);
}
.hero__desc {
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.78;
  color: var(--fg-dim);
  max-width: 26em;
  text-wrap: pretty;
}
.hero__cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }


/* ---------- hero 真实配图 ---------- */
.hero__photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: right center;
  opacity: 0.42;
}
.hero__photo-veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, var(--void) 6%, rgba(10,11,13,0.86) 38%, rgba(10,11,13,0.42) 70%, rgba(10,11,13,0.72) 100%),
    linear-gradient(180deg, rgba(10,11,13,0.72) 0%, rgba(10,11,13,0.1) 40%, rgba(10,11,13,0.88) 100%);
  pointer-events: none;
}

/* ---------- 案例配图网格 ---------- */
.work.has-media {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  gap: clamp(22px, 3.5vw, 64px);
}
.work.has-media.work--flip { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); }
.work--flip > .work__media { order: -1; }
.work__media {
  position: relative;
  border: 1px solid var(--line);
  overflow: hidden;
  background: var(--ink-2);
  aspect-ratio: 16 / 10;
  align-self: start;
}
.work__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 1.1s var(--ease);
}
.work__media:hover img { transform: scale(1.04); }
.work__style {
  position: absolute;
  left: 12px; bottom: 12px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(10,11,13,0.72);
  backdrop-filter: blur(8px);
  padding: 5px 11px;
  border: 1px solid rgba(255,255,255,0.16);
}

/* ---------- buttons ---------- */
.btn {
  --btn-bg: transparent;
  --btn-fg: var(--fg);
  --btn-bd: var(--line);
  --btn-fill: var(--signal);
  --btn-fill-fg: #1a0d06;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 50px;
  padding: 0 26px;
  border-radius: 999px;
  border: 1px solid var(--btn-bd);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-size: 15px;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.35s var(--ease), color 0.35s var(--ease);
  white-space: nowrap;
}
.btn span { position: relative; z-index: 1; }
.btn::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--btn-fill);
  transform: translateY(101%);
  transition: transform 0.5s var(--ease);
}
.btn:hover::before { transform: translateY(0); }
.btn:hover { color: var(--btn-fill-fg); border-color: var(--btn-fill); }
.btn:disabled { opacity: 0.6; cursor: not-allowed; }

.btn--solid { --btn-bg: var(--fg); --btn-fg: var(--void); --btn-bd: var(--fg); }
.btn--paper { --btn-fg: var(--fg-dark); --btn-bd: var(--line-dark); }
.btn--paper-solid { --btn-bg: var(--fg-dark); --btn-fg: var(--paper); --btn-bd: var(--fg-dark); }

.btn__arrow {
  position: relative; z-index: 1;
  transition: transform 0.4s var(--ease);
  display: inline-block;
}
.btn:hover .btn__arrow { transform: translateX(4px); }

/* ---------- 索引带（原marquee，改为静态可读的服务索引） ---------- */
.index-strip {
  border-block: 1px solid var(--line);
  background: var(--ink);
  padding: 15px 0;
}
.index-strip__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px clamp(20px, 3vw, 46px);
}
.index-strip__item {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fg-dim);
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 46px);
}
.index-strip__item::after {
  content: ""; width: 3px; height: 3px; border-radius: 50%;
  background: var(--fg-dim); opacity: 0.5; flex-shrink: 0;
}
.index-strip__item:last-child::after { display: none; }

/* ---------- reveal：仅在 JS 就绪时隐藏 ---------- */
.js [data-reveal] {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);
  transition-delay: var(--d, 0s);
}
.js [data-reveal].is-in { opacity: 1; transform: none; }

/* ---------- section head ---------- */
.sec-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 90px);
  align-items: start;
  margin-bottom: clamp(48px, 6.5vw, 96px);
}

/* ---------- cards（网格线用真边框，避免 reveal 时露出亮条） ---------- */
.cards { display: grid; gap: 0; }
.cards--3 { grid-template-columns: repeat(3, 1fr); }
.cards--2 { grid-template-columns: repeat(2, 1fr); }

.card {
  position: relative;
  padding: clamp(26px, 3vw, 42px);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  transition: background 0.45s var(--ease);
}
.cards--3 .card:nth-child(3n+1) { border-left: 0; }
.cards--2 .card:nth-child(2n+1) { border-left: 0; }
.cards--3 .card:nth-child(-n+3) { border-top: 0; }
.cards--2 .card:nth-child(-n+2) { border-top: 0; }
.band--paper .card { border-color: var(--line-dark); }

.card::after {
  content: "";
  position: absolute; left: 0; top: 0;
  width: 100%; height: 2px;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s var(--ease);
}
.card:hover::after { transform: scaleX(1); }
.card:hover { background: var(--ink-2); }
.band--paper .card:hover { background: var(--paper-2); }

.card__no {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--fg-dim);
  margin-bottom: 28px;
}
.band--paper .card__no { color: var(--fg-dark-dim); }
.card h3 { margin-bottom: 13px; }
.card p { font-size: 15.5px; line-height: 1.78; color: var(--fg-dim); }
.band--paper .card p { color: var(--fg-dark-dim); }

.card__list {
  list-style: none;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.band--paper .card__list { border-color: var(--line-dark); }
.card__list li {
  position: relative; padding-left: 20px;
  font-size: 13px; color: var(--fg-dim); margin-bottom: 9px;
}
.band--paper .card__list li { color: var(--fg-dark-dim); }
.card__list li::before {
  content: ""; position: absolute; left: 0; top: 10px;
  width: 7px; height: 1px;
  background: var(--fg-dim); opacity: 0.5;
}
.card__list--plain li { padding-left: 0; margin-bottom: 18px; font-size: 16px; line-height: 1.7; }
.card__list--plain li::before { display: none; }
.card__list--plain .num { color: var(--signal); margin-right: 12px; font-family: var(--mono); font-size: 11px; }

/* ---------- metrics ---------- */
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.metric { padding: clamp(24px, 2.8vw, 40px) clamp(18px, 1.8vw, 30px); border-top: 1px solid var(--line); }
.metric:first-child { border-left: 0; }
.metric__num {
  font-family: var(--latin);
  font-size: clamp(44px, 6.4vw, 96px);
  line-height: 1.04;
  letter-spacing: 0;
  color: var(--fg);
  font-variant-numeric: tabular-nums slashed-zero;
}
.metric__num--text { font-family: var(--sans); font-size: clamp(26px, 3vw, 42px); line-height: 1.22; }
.metric__unit { font-size: 0.3em; color: var(--signal); margin-left: 5px; }
.metric__label { margin-top: 15px; font-size: 12px; color: var(--fg-dim); letter-spacing: 0.02em; }

/* ---------- flow ---------- */
.flow { display: grid; grid-template-columns: repeat(4, 1fr); }
.flow__step { position: relative; padding: 32px 24px 0; border-top: 1px solid var(--line); }
.flow__step:first-child { padding-left: 0; }
.flow__step:last-child { padding-right: 0; }
.flow__num {
  font-family: var(--mono); font-size: 10px;
  color: var(--fg-dim); letter-spacing: 0.16em; margin-bottom: 20px;
}
.flow__step h3 { margin-bottom: 11px; }
.flow__step p { font-size: 13px; line-height: 1.78; color: var(--fg-dim); }
.flow__bar {
  position: absolute; top: -1px; left: 0;
  height: 1px; width: 0; background: var(--signal);
  transition: width 1.1s var(--ease);
}
.js .flow__step.is-in .flow__bar { width: 100%; }
.flow__step:not(:last-child)::after {
  content: ""; position: absolute; top: 10px; right: 0;
  width: 1px; height: calc(100% - 38px); background: var(--line);
}

/* ---------- case ---------- */
.case {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 76px);
  padding: clamp(32px, 4.2vw, 64px) 0;
  border-top: 1px solid var(--line);
  align-items: start;
}
.case__tag {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--signal);
  display: block; margin-bottom: 20px;
}
.case__title {
  font-family: var(--serif);
  font-size: clamp(20px, 1.9vw, 28px);
  line-height: 1.36;
  letter-spacing: 0;
  font-weight: 400;
  text-wrap: balance;
}
.case__meta { display: flex; flex-direction: column; gap: 10px; margin-top: 32px; }
.case__meta div { display: flex; gap: 14px; font-size: 12px; color: var(--fg-dim); }
.case__meta b {
  font-weight: 400; width: 58px; flex-shrink: 0;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; padding-top: 3px;
}
.case__body p { font-size: 14px; line-height: 1.85; color: var(--fg-dim); margin-bottom: 16px; }
.case__body strong { color: var(--fg); font-weight: 500; }

/* ---------- form ---------- */
.form { display: grid; gap: 20px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field label {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--fg-dim);
}
.field label .req { color: var(--signal); }
.field input, .field select, .field textarea {
  width: 100%; padding: 13px 15px;
  background: transparent; border: 1px solid var(--line); border-radius: 0;
  color: var(--fg); font-family: inherit; font-size: 15px;
  transition: border-color 0.3s var(--ease), background 0.3s var(--ease);
}
.field select option { background: var(--ink); color: var(--fg); }
.field textarea { resize: vertical; min-height: 128px; }
.field input:focus, .field select:focus, .field textarea:focus {
  border-color: var(--signal);
  background: rgba(232, 80, 47, 0.045);
}
.field [aria-invalid="true"] { border-color: #ff5c5c; }
.field input::placeholder, .field textarea::placeholder { color: #86837e; opacity: 1; }

.form__legal { font-size: 11px; line-height: 1.7; color: var(--fg-dim); }
.form__note {
  font-size: 13px; color: var(--fg-dim);
  padding: 13px 15px;
  border-left: 2px solid var(--signal);
  background: rgba(232, 80, 47, 0.05);
}
.form__note[hidden] { display: none; }
.form__note--ok { border-left-color: #3fb27f; background: rgba(63, 178, 127, 0.07); }

/* ---------- info ---------- */
.info__row {
  display: grid; grid-template-columns: 104px 1fr;
  gap: 20px; padding: 19px 0;
  border-bottom: 1px solid var(--line); font-size: 14px;
}
.info__k {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--fg-dim); padding-top: 5px;
}
.info__v { color: var(--fg); }
.info__v--link { border-bottom: 1px solid var(--signal); padding-bottom: 2px; transition: color 0.25s; }
.info__v--link:hover { color: var(--signal-soft); }

/* ---------- qr ---------- */
.qr-panel {
  display: flex; gap: 24px; align-items: center;
  margin-top: 32px; padding: 24px;
  border: 1px solid var(--line); background: var(--ink-2);
}
.qr-panel__box {
  width: 112px; height: 112px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(245, 244, 241, 0.05);
  border: 1px dashed var(--line);
  font-family: var(--mono); font-size: 9px; letter-spacing: 0.12em;
  color: var(--fg-dim); text-align: center; padding: 10px;
}
.qr-panel__box img { width: 100%; height: 100%; object-fit: cover; }
.qr-panel h3 { margin-bottom: 8px; }
.qr-panel p { font-size: 13px; color: var(--fg-dim); line-height: 1.7; }

/* ---------- footer ---------- */
.footer { background: var(--void); padding: clamp(58px, 7.5vw, 94px) 0 34px; border-top: 1px solid var(--line); }
.footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 0.6fr));
  gap: clamp(30px, 5vw, 80px);
  padding-bottom: clamp(40px, 5.5vw, 68px);
}
.footer__brand .logo { margin-bottom: 20px; }
.footer__brand p { font-size: 13px; color: var(--fg-dim); max-width: 26em; line-height: 1.8; }
.footer__col h2 {
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--fg); font-weight: 400; margin-bottom: 18px;
}
.footer__col a { display: block; font-size: 13px; color: var(--fg-dim); margin-bottom: 11px; transition: color 0.25s; }
.footer__col a:hover { color: var(--fg); }

.footer__wordmark {
  font-family: var(--serif);
  font-size: clamp(50px, 14vw, 220px);
  line-height: 0.96;
  letter-spacing: 0;
  color: transparent;
  -webkit-text-stroke: 1px rgba(245, 244, 241, 0.2);
  text-align: center;
  padding: clamp(26px, 4.5vw, 54px) 0 clamp(20px, 3vw, 40px);
  user-select: none;
}
@supports not (-webkit-text-stroke: 1px white) {
  .footer__wordmark { color: #22242a; }
}

.footer__bot {
  display: flex; justify-content: space-between; align-items: center;
  gap: 10px 16px; flex-wrap: wrap;
  padding-top: 24px; border-top: 1px solid var(--line);
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; color: var(--fg-dim);
}

/* 备案号 —— 中文用无衬线系统字体，避免等宽字体缺 CJK 字形导致回退不一致 */
.footer__icp {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--fg-dim);
  text-decoration: none;
  transition: color 0.25s;
}
.footer__icp:hover,
.footer__icp:focus-visible { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- page head ---------- */
.phead {
  padding: calc(var(--nav-h) + clamp(62px, 10vw, 130px)) 0 clamp(44px, 6vw, 82px);
  border-bottom: 1px solid var(--line);
}
.phead h1 {
  font-family: var(--serif);
  font-size: clamp(34px, 5.8vw, 88px);
  line-height: 1.16;
  letter-spacing: 0;
  max-width: 11em;
  text-wrap: balance;
}
.phead h1 em { font-style: normal; color: var(--signal); }
.phead .lede { margin-top: 28px; }

/* ---------- 404 ---------- */
.e404 { min-height: 100vh; min-height: 100svh; display: flex; align-items: center; }
.e404__code {
  font-family: var(--latin);
  font-size: clamp(84px, 16vw, 220px);
  line-height: 1; letter-spacing: 0;
  color: transparent;
  -webkit-text-stroke: 1px rgba(245, 244, 241, 0.24);
}
@supports not (-webkit-text-stroke: 1px white) {
  .e404__code { color: #2a2c32; }
}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1080px) {
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .metrics .metric:nth-child(odd) { border-left: 0; }
  .metrics .metric:nth-child(-n+2) { border-top: 0; }

  .cards--3 { grid-template-columns: 1fr; }
  .cards--3 .card { border-left: 0; }
  .cards--3 .card:nth-child(1) { border-top: 0; }

  .flow { grid-template-columns: repeat(2, 1fr); gap: 0 clamp(26px, 4vw, 44px); }
  .flow__step { padding: 28px 0 32px; }
  .flow__step:first-child { padding-left: 0; }
  .flow__step:last-child { padding-right: 0; }
  .flow__step:not(:last-child)::after { display: none; }
  .flow__step:nth-child(odd) { border-right: 1px solid var(--line); padding-right: clamp(26px, 4vw, 44px); }
  .flow__step:nth-child(even) { padding-left: clamp(26px, 4vw, 44px); }

  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  :root { --nav-h: 64px; }

  .nav__menu {
    position: fixed; inset: var(--nav-h) 0 auto 0;
    flex-direction: column; align-items: flex-start; gap: 0;
    background: rgba(10, 11, 13, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--line);
    padding: 12px var(--gutter) 26px;
    transform: translateY(-12px); opacity: 0; visibility: hidden;
    transition: opacity 0.35s var(--ease), transform 0.35s var(--ease),
                visibility 0s linear 0.35s;
  }
  .nav__menu.is-open {
    opacity: 1; visibility: visible; transform: none;
    transition: opacity 0.35s var(--ease), transform 0.35s var(--ease),
                visibility 0s linear 0s;
  }
  .nav__link { font-size: 16px; padding: 15px 0; width: 100%; border-bottom: 1px solid var(--line); }
  .nav__burger { display: flex; }
  .nav-shell.is-burger-open .nav__burger span { background: transparent; }
  .nav-shell.is-burger-open .nav__burger span::before { transform: translateY(5px) rotate(45deg); }
  .nav-shell.is-burger-open .nav__burger span::after { transform: translateY(-5px) rotate(-45deg); }

  /* hero：移动端单列堆叠 */
  .hero { min-height: auto; padding-top: calc(var(--nav-h) + 46px); }
  .hero__inner { grid-template-columns: 1fr; row-gap: 28px; }
  .hero__main { grid-column: 1; }
  .hero__foot { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  .hero__cta { justify-content: flex-start; }

  .sec-head { grid-template-columns: 1fr; gap: 22px; }
  .split-2, .split-2--form { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .split-2__aside { padding-top: 0; }
  .cards--2 { grid-template-columns: 1fr; }
  .cards--2 .card { border-left: 0; }
  .cards--2 .card:nth-child(1) { border-top: 0; }
  .case { grid-template-columns: 1fr; gap: 24px; }
  .case__meta { flex-direction: row; flex-wrap: wrap; gap: 10px 24px; margin-top: 24px; }
  .form__row { grid-template-columns: 1fr; }
  .qr-panel { flex-direction: column; text-align: center; }
  .footer__top { grid-template-columns: 1fr; }

  .h2 br, .phead h1 br, .case__title br, .statement br { display: none; }
}

@media (max-width: 560px) {
  .band { padding: 64px 0; }
  .hero h1 { font-size: clamp(34px, 11.5vw, 50px); }
  .metrics { grid-template-columns: 1fr; }
  .metrics .metric { border-left: 0; }
  .metrics .metric:nth-child(1) { border-top: 0; }

  .flow { grid-template-columns: 1fr; gap: 0; }
  .flow__step,
  .flow__step:nth-child(odd),
  .flow__step:nth-child(even) {
    padding: 24px 0 0;
    border-right: none;
    border-top: 1px solid var(--line);
  }

  .hero__cta { width: 100%; }
  .hero__cta .btn, .form .btn { width: 100%; }
  .cta-row .btn { flex: 1 1 100%; }

  .info__row { grid-template-columns: 1fr; gap: 6px; }
  .info__k { padding-top: 0; }
  .footer__bot { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ---------- 减弱动效 ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto !important; }
  .hero__eyebrow .dot { animation: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  .js .hero h1 .line > span { transform: none; }
  .skip-link { transition: none; }
}
/* ============================================================
   单页新增区块：视觉图示 / 服务 / 案例 / 微信联系
   ============================================================ */

/* ---------- 视觉图示 ---------- */
.figure {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: clamp(28px, 4.5vw, 76px);
  align-items: center;
}
.figure--flip { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
.figure__media {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--void);
  aspect-ratio: 3 / 2;
}
.figure__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform 1.2s var(--ease);
}
.figure__media:hover img { transform: scale(1.05); }
.figure__media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid var(--line);
  pointer-events: none;
  mix-blend-mode: overlay;
}
.figure__caption {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--fg-dim);
  margin-top: 14px;
}
.band--paper .figure__caption { color: var(--fg-dark-dim); }

/* 完整展示模式：图框随图片比例自适应，不裁剪、不缩放 */
.figure__media--fit { aspect-ratio: auto; }
.figure__media--fit img {
  height: auto;
  object-fit: contain;
  transform: none;
  transition: none;
}
.figure__media--fit:hover img { transform: none; }
.figure__media--fit::after { display: none; }

/* 修订对照图示（纯 CSS，无需图片） */
.revise {
  border: 1px solid var(--line-dark);
  background: var(--paper);
  padding: clamp(24px, 3vw, 40px);
}
.band:not(.band--paper) .revise { background: var(--ink-2); border-color: var(--line); }
.revise__row { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: clamp(14px, 2vw, 28px); }
.revise__row + .revise__row { margin-top: clamp(18px, 2.2vw, 28px); padding-top: clamp(18px, 2.2vw, 28px); border-top: 1px solid var(--line-dark); }
.band:not(.band--paper) .revise__row + .revise__row { border-color: var(--line); }
.revise__key {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  color: var(--signal-ink);
  padding-top: 4px;
}
.band:not(.band--paper) .revise__key { color: var(--signal-soft); }
.revise__before {
  font-size: 13px;
  line-height: 1.7;
  color: var(--fg-dark-dim);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(99, 96, 91, 0.55);
  margin-bottom: 10px;
}
.band:not(.band--paper) .revise__before { color: var(--fg-dim); text-decoration-color: rgba(163, 160, 154, 0.5); }
.revise__after {
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--fg-dark);
  border-left: 2px solid var(--signal-ink);
  padding-left: 14px;
}
.band:not(.band--paper) .revise__after { color: var(--fg); border-left-color: var(--signal); }

/* ---------- 服务条目（单页紧凑版） ---------- */
.svc {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(18px, 2.4vw, 40px);
  padding: clamp(26px, 3.2vw, 46px) 0;
  border-top: 1px solid var(--line);
  align-items: start;
}
.band--paper .svc { border-color: var(--line-dark); }
.svc:last-child { border-bottom: 1px solid var(--line); }
.band--paper .svc:last-child { border-color: var(--line-dark); }
.svc__no {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--fg-dim);
  padding-top: 8px;
}
.band--paper .svc__no { color: var(--fg-dark-dim); }
.svc__title { margin-bottom: 14px; }
.svc__body { font-size: 15.5px; line-height: 1.78; color: var(--fg-dim); }
.band--paper .svc__body { color: var(--fg-dark-dim); }
.svc__tags { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.svc__tags li {
  font-family: var(--sans);
  font-size: 14px;
  letter-spacing: 0.04em;
  padding: 8px 16px;
  border: 1px solid var(--line);
  color: var(--fg);
}
.band--paper .svc__tags li { border-color: var(--line-dark); color: var(--fg-dark); }

/* ---------- 赛道 ---------- */
.sectors { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; }
.sector {
  padding: clamp(24px, 2.8vw, 40px);
  border-top: 1px solid var(--line-dark);
  border-left: 1px solid var(--line-dark);
}
.sector:nth-child(2n+1) { border-left: 0; }
.sector__no {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--fg-dark-dim);
  margin-bottom: 26px;
}
.sector h3 { margin-bottom: 12px; }
.sector p { font-size: 15.5px; line-height: 1.78; color: var(--fg-dark-dim); }

/* ---------- 案例（单页紧凑） ---------- */
.work {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
  gap: clamp(22px, 3.5vw, 64px);
  padding: clamp(28px, 3.4vw, 52px) 0;
  border-top: 1px solid var(--line);
  align-items: start;
}
.work__tag {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--signal);
  display: block;
  margin-bottom: 16px;
}
.work__title {
  font-family: var(--serif);
  font-size: clamp(19px, 1.8vw, 26px);
  line-height: 1.38;
  letter-spacing: 0;
  font-weight: 400;
  margin-bottom: 20px;
  text-wrap: balance;
}
.work__facts { display: grid; gap: 8px; }
.work__facts div { display: flex; gap: 12px; font-size: 12px; color: var(--fg-dim); }
.work__facts b {
  font-weight: 400; width: 54px; flex-shrink: 0;
  font-family: var(--mono); font-size: 10px; letter-spacing: 0.1em; padding-top: 3px;
}
.work__desc { margin-top: 20px; }
.work__desc p { font-size: 15.5px; line-height: 1.85; color: var(--fg-dim); margin-bottom: 12px; }
.work__body strong { color: var(--fg); font-weight: 500; }


/* ---------- 融资成果 ---------- */
.funded { margin-top: clamp(48px, 6vw, 88px); }
.funded__note {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--fg-dim);
  margin-bottom: 22px;
}
.funded__row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) 96px minmax(0, 1fr);
  gap: clamp(14px, 2vw, 32px);
  padding: 17px 0;
  border-top: 1px solid var(--line);
  align-items: baseline;
}
.funded__row:last-child { border-bottom: 1px solid var(--line); }
.funded__name {
  font-family: var(--serif);
  font-size: 17px;
  color: var(--fg);
  letter-spacing: 0;
}
.funded__amt {
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: var(--signal-soft);
  white-space: nowrap;
}
.funded__inv { font-size: 14px; color: var(--fg-dim); }

@media (max-width: 640px) {
  .funded__row { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
  .funded__inv { padding-left: 0; }
}

/* ---------- 微信联系 ---------- */
.wechat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(30px, 5vw, 88px);
  align-items: center;
}
.wechat__id { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
.wechat__id-name {
  font-family: var(--latin);
  font-size: clamp(30px, 3.6vw, 58px);
  line-height: 1.1;
  letter-spacing: 0;
  color: var(--fg);
}
.wechat__id-label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--fg-dim);
}
.wechat__note { font-size: 15.5px; line-height: 1.8; color: var(--fg-dim); max-width: 34em; }
.wechat__copy {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
  padding: 11px 18px;
  border: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--fg);
  background: none;
  cursor: pointer;
  transition: border-color 0.3s var(--ease), color 0.3s var(--ease);
}
.wechat__copy:hover { border-color: var(--signal); color: var(--signal-soft); }
.wechat__copy.is-copied { border-color: #3fb27f; color: #3fb27f; }
.wechat__qr {
  width: clamp(150px, 15vw, 190px);
  flex-shrink: 0;
  aspect-ratio: 1;
  border: 1px solid var(--line);
  background: var(--ink-2);
  object-fit: cover;
}

/* 单页内锚点导航 */
.anchors {
  position: fixed;
  right: clamp(14px, 1.8vw, 30px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 90;
  display: grid;
  gap: 14px;
}
.anchors a {
  display: block;
  width: 7px; height: 7px;
  border-radius: 50%;
  border: 1px solid var(--fg-dim);
  transition: background 0.3s var(--ease), border-color 0.3s var(--ease), transform 0.3s var(--ease);
}
.anchors a:hover, .anchors a.is-active { background: var(--signal); border-color: var(--signal); transform: scale(1.35); }

@media (max-width: 1080px) {
  .figure, .figure--flip { grid-template-columns: 1fr; gap: 32px; }
  .svc { grid-template-columns: 48px minmax(0, 1fr); }
  .svc__tags { grid-column: 2; }
  .work, .work.has-media, .work.has-media.work--flip { grid-template-columns: 1fr; gap: 22px; }
  .work--flip > .work__media { order: 0; }
  .anchors { display: none; }
}

@media (max-width: 860px) {
  .wechat { grid-template-columns: 1fr; }
  .wechat__qr { justify-self: start; }
  .sectors { grid-template-columns: 1fr; }
  .sector { border-left: 0; }
}

@media (max-width: 560px) {
  .revise__row { grid-template-columns: 1fr; gap: 8px; }
  .svc { grid-template-columns: 1fr; gap: 12px; }
  .svc__tags { grid-column: 1; }
  .work__facts { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; }
  .wechat__id-name { font-size: 28px; }
}
