/* ============================================================
   天马量化 TIANMA QUANT — 站点主样式
   设计语言：深海军蓝底 + 香槟金点缀，细线分割，大留白
   ============================================================ */

/* ---------- 变量 ---------- */
:root{
  --ink:        #0A1526;
  --ink-2:      #0C1B2F;
  --ink-3:      #10233B;
  --panel:      #0B1829;
  --gold:       #C9A96A;
  --gold-hi:    #E7D2A4;
  --gold-dim:   rgba(201,169,106,.55);
  --text:       #EEF1F7;
  --text-2:     #C2CBD9;
  --muted:      #8A97AC;
  --line:       rgba(201,169,106,.18);
  --line-soft:  rgba(255,255,255,.085);
  --nav-w:      112px;
  --pad-x:      60px;
  --maxw:       1200px;
  --ease:       cubic-bezier(.22,.68,.16,1);
  --font: "PingFang SC","HarmonyOS Sans SC","Hiragino Sans GB","Microsoft YaHei",
          -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono: ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
}

/* ---------- 基础 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:clip; }
body{
  margin:0;
  background-color:var(--ink);
  background-image:
    radial-gradient(1200px 720px at 16% -10%, rgba(201,169,106,.075), transparent 62%),
    radial-gradient(1050px 820px at 94% 4%, rgba(48,104,162,.11), transparent 62%),
    radial-gradient(rgba(186,210,240,.085) 1px, transparent 1px),
    linear-gradient(180deg,#0F2238 0%,#0D1E33 30%,#0C1C31 62%,#0B1A2E 100%);
  background-size:auto, auto, 26px 26px, auto;
  background-attachment:fixed;
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4,p,figure,blockquote{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--gold); color:#0A0E15; }
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-track{ background:#0A1526; }
::-webkit-scrollbar-thumb{ background:#232C3C; border-radius:4px; }
::-webkit-scrollbar-thumb:hover{ background:var(--gold-dim); }

body{ padding-left:var(--nav-w); }

/* ---------- 左侧竖排导航 ---------- */
.side-nav{
  position:fixed; inset:0 auto 0 0; width:var(--nav-w); z-index:100;
  display:flex; flex-direction:column; align-items:center;
  background:rgba(10,21,38,.92);
  border-right:1px solid var(--line-soft);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.brand{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:30px 0 26px; width:100%;
  border-bottom:1px solid var(--line-soft);
}
.brand-mark{ width:64px; height:auto; display:block; filter:drop-shadow(0 0 10px rgba(201,169,106,.18)); }
.brand-word{
  font-size:13px; letter-spacing:.34em; text-indent:.34em;
  color:var(--text); line-height:1.5; text-align:center; font-weight:500;
}
.brand-link{ display:flex; align-items:center; gap:10px; }
.brand-mark-sm{ width:42px; height:auto; display:block; }
.brand-mark-ft{ width:116px; height:auto; margin-bottom:20px; opacity:.95; }
.brand-en{
  font-size:8px; letter-spacing:.24em; text-indent:.24em; color:var(--muted);
  text-transform:uppercase; font-family:var(--mono);
}
.nav-list{ flex:1; display:flex; flex-direction:column; justify-content:center; width:100%; }
.nav-list li{ width:100%; }
.nav-list a{
  position:relative; display:block; width:100%; padding:15px 0;
  text-align:center; font-size:13.5px; letter-spacing:.14em; text-indent:.14em;
  color:var(--muted); transition:color .35s var(--ease),background .35s var(--ease);
}
.nav-list a::before{
  content:""; position:absolute; left:0; top:50%; width:2px; height:0;
  background:var(--gold); transform:translateY(-50%);
  transition:height .35s var(--ease);
}
.nav-list a:hover{ color:var(--gold-hi); background:rgba(201,169,106,.045); }
.nav-list a.is-active{ color:var(--gold); }
.nav-list a.is-active::before{ height:22px; }
.nav-foot{
  padding:22px 0 26px; width:100%; text-align:center;
  border-top:1px solid var(--line-soft);
}
.lang{ display:inline-flex; gap:6px; font-family:var(--mono); font-size:11px; letter-spacing:.06em; }
.lang button{
  background:none; border:0; padding:2px 3px; cursor:pointer;
  color:var(--muted); font:inherit; transition:color .3s;
}
.lang button:hover{ color:var(--text); }
.lang button.on{ color:var(--gold); }
.lang span{ color:#2C3446; }

/* 移动端顶栏 */
.top-bar{ display:none; }
.nav-toggle{ display:none; }

/* ---------- 版心 ---------- */
.wrap{ width:min(var(--maxw),calc(100% - var(--pad-x)*2)); margin-inline:auto; }
.wrap-wide{ width:min(1440px,calc(100% - var(--pad-x)*2)); margin-inline:auto; }

/* ---------- 通用排版 ---------- */
.eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold); display:flex; align-items:center; gap:14px;
}
.eyebrow::before{ content:""; width:28px; height:1px; background:var(--gold-dim); }
h2.title{
  font-size:clamp(28px,3.2vw,46px); font-weight:300; line-height:1.32;
  letter-spacing:.03em; margin-top:22px;
}
h2.title strong{ font-weight:600; color:var(--gold-hi); }
.lede{ color:var(--text-2); font-size:16.5px; line-height:2; font-weight:300; max-width:64ch; }
.lede + .lede{ margin-top:18px; }
.small{ font-size:12.5px; color:var(--muted); letter-spacing:.04em; }

/* 占位标记：需要补充真实内容的地方 */
.tbd{
  color:var(--gold); border-bottom:1px dashed var(--gold-dim);
  padding:0 3px; font-style:normal; white-space:nowrap; opacity:.9;
}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; gap:12px;
  padding:15px 30px; border:1px solid var(--gold-dim);
  font-size:12.5px; letter-spacing:.2em; text-indent:.2em; color:var(--gold-hi);
  transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);
}
.btn:hover{ background:var(--gold); color:#0A0E15; border-color:var(--gold); }
.btn .arw{ transition:transform .4s var(--ease); }
.btn:hover .arw{ transform:translateX(5px); }
.btn-ghost{ border-color:var(--line-soft); color:var(--text-2); }
.btn-ghost:hover{ border-color:var(--gold-dim); background:rgba(201,169,106,.08); color:var(--gold-hi); }

/* ---------- 首屏：数据空间（持续可见 + 24 秒闭环） ---------- */
.hero{
  position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; justify-content:center;
  overflow:hidden; isolation:isolate; padding:110px 0 90px;
}
.hero-fx{ position:absolute; inset:0; z-index:-2; overflow:hidden; pointer-events:none; }

/* 底：深海军蓝，中心偏亮 —— 不再是纯黑 */
.fx-void{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 90% 68% at 50% 24%,
      rgba(34,74,116,.98) 0%,
      rgba(19,45,75,.94) 34%,
      rgba(9,20,36,.97) 70%,
      #05090F 100%);
}

/* 行情曲线：常驻，缓慢起伏 */
.fx-scene{ position:absolute; inset:0; width:100%; height:100%; }
.curve{ fill:none; stroke:rgba(178,206,240,.22); stroke-width:1; }
.curve--gold{ stroke:rgba(201,169,106,.30); }
.curves{ animation:curveDrift 24s ease-in-out infinite; }
.curves--b{ animation-duration:12s; animation-direction:alternate; }
.curves--c{ animation-duration:8s; animation-direction:alternate; }
@keyframes curveDrift{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-16px) } }

/* 主信号线：常驻底光 + 巡游高光 */
.signal-line{ fill:none; stroke:rgba(231,210,164,.82); stroke-width:1.9; stroke-linecap:round; }
.signal-comet{
  fill:none; stroke:#F2DFB4; stroke-width:2.4; stroke-linecap:round;
  filter:drop-shadow(0 0 6px rgba(201,169,106,.95)) drop-shadow(0 0 18px rgba(201,169,106,.5));
  stroke-dasharray:90 3600;
  animation:cometRun 8s linear infinite;
}
@keyframes cometRun{ from{ stroke-dashoffset:0 } to{ stroke-dashoffset:-3690 } }

/* 模型格架：常驻，缓慢转 */
/* 镜头：广角 → 推入香港 → 回到广角 */
.fx-cam{
  position:absolute; inset:0; transform-origin:50% 26%;
  animation:camMove 24s ease-in-out infinite;
}
@keyframes camMove{
  0%,30%   { transform:scale(1) }
  42%,66%  { transform:scale(1.9) }
  80%,100% { transform:scale(1) }
}

/* 全球资金网络 */
.fx-world{
  position:absolute; inset:0; width:100%; height:100%;
  animation:worldFade 24s ease-in-out infinite;
}
@keyframes worldFade{
  0%,30%   { opacity:1 }
  42%,58%  { opacity:.12 }
  72%,100% { opacity:1 }
}
.arc{ fill:none; stroke:rgba(150,190,235,.26); stroke-width:1; }
.node{ fill:rgba(214,232,255,.8); }
.node-label{
  fill:rgba(188,208,234,.40); font-family:var(--mono); font-size:9px; letter-spacing:.08em;
}
.hub-ring{ fill:none; stroke:rgba(201,169,106,.55); stroke-width:1; }
.hub-ring--2{ stroke:rgba(201,169,106,.26); }
.hub-core{ fill:#F0DCB0; filter:drop-shadow(0 0 8px rgba(201,169,106,.95)); }
.flow{ fill:#F4E2B8; filter:drop-shadow(0 0 5px rgba(201,169,106,.9)); }

/* 模型格架：推入之后才亮起来 */
.fx-lattice{
  position:absolute; inset:0; perspective:1000px;
  animation:latticeFade 24s ease-in-out infinite;
}
@keyframes latticeFade{
  0%,34%   { opacity:.10 }
  46%,62%  { opacity:.95 }
  76%,100% { opacity:.10 }
}
.lattice{
  position:absolute; left:50%; top:50%; width:0; height:0;
  transform-style:preserve-3d;
  animation:latticeTurn 24s ease-in-out infinite;
}
.plane{
  position:absolute; left:-280px; top:-280px; width:560px; height:560px;
  border:1px solid rgba(190,205,228,.22);
  background-image:
    linear-gradient(rgba(190,205,228,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(190,205,228,.13) 1px, transparent 1px),
    radial-gradient(circle, rgba(240,246,255,.78) 1.8px, transparent 2.4px);
  background-size:112px 112px, 112px 112px, 112px 112px;
  background-position:0 0, 0 0, 56px 56px;
  transform:translateZ(var(--z));
}
.plane:nth-child(1){ --z:-210px }
.plane:nth-child(2){ --z:-70px }
.plane:nth-child(3){ --z:70px }
.plane:nth-child(4){ --z:210px }
@keyframes latticeTurn{
  0%,100%{ transform:rotateX(64deg) rotateZ(-10deg) scale(.92) }
  50%    { transform:rotateX(64deg) rotateZ(10deg)  scale(1.02) }
}

/* 中心金色光核 */
.fx-core{
  position:absolute; left:50%; top:50%; width:220px; height:220px; margin:-110px;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(201,169,106,.22) 0%, rgba(201,169,106,.06) 42%, transparent 70%);
  animation:coreBreath 8s ease-in-out infinite;
}
@keyframes coreBreath{
  0%,100%{ transform:scale(.9); opacity:.75 }
  50%    { transform:scale(1.12); opacity:1 }
}

/* 浮层指标数字 */
.fx-num{
  position:absolute; font-family:var(--mono); font-size:10px;
  color:rgba(198,214,236,.62); letter-spacing:.02em;
  animation:numFade 12s ease-in-out infinite;
}
.fx-num:nth-child(odd){ animation-duration:8s; animation-direction:alternate; }
@keyframes numFade{ 0%,100%{ opacity:.25 } 50%{ opacity:.8 } }

/* 暗角：只在四周压一点，不压中心 */
.fx-vignette{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 62% at 50% 46%, transparent 34%, rgba(4,8,14,.42) 80%, rgba(4,8,14,.78) 100%),
    linear-gradient(180deg, rgba(4,7,12,.55) 0%, transparent 26%, transparent 64%, var(--ink) 99%);
}
/* --- 居中内容 --- */
.hero-center::before{
  content:""; position:absolute; left:50%; top:46%; width:118%; height:150%;
  transform:translate(-50%,-50%); z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse 52% 46% at 50% 50%, rgba(4,9,17,.55) 0%, rgba(4,9,17,.28) 45%, transparent 72%);
}
.hero-center{ position:relative; z-index:1; width:min(940px,100% - 48px); margin-inline:auto; text-align:center; }

.hero-emblem{ position:relative; width:clamp(92px,8.4vw,132px); margin:0 auto 30px; }
.hero-emblem img{
  position:relative; z-index:1; width:100%; height:auto; display:block;
  filter:drop-shadow(0 0 16px rgba(201,169,106,.42)) drop-shadow(0 0 54px rgba(201,169,106,.16));
  animation:breathe 8s ease-in-out infinite;
}
.hero-emblem::before{
  content:""; position:absolute; inset:-52%; border-radius:50%;
  background:radial-gradient(circle,rgba(201,169,106,.26),transparent 64%);
}
.hero-emblem::after{
  content:""; position:absolute; inset:-26%; border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(201,169,106,.36) 58deg,transparent 128deg,transparent 360deg);
  filter:blur(10px); opacity:.85; animation:spin 12s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes breathe{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-6px) } }

.hero-center .hero-kicker{ justify-content:center; margin-bottom:26px; gap:14px; }
.hero-center .hero-kicker::before,
.hero-center .hero-kicker::after{
  content:""; width:34px; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-dim));
}
.hero-center .hero-kicker::after{ transform:rotate(180deg); }

.hero h1{
  font-size:clamp(30px,4.3vw,64px); font-weight:300; line-height:1.36;
  letter-spacing:.05em; text-wrap:balance;
  text-shadow:0 2px 30px rgba(3,8,16,.55);
}
.hero h1 p{ margin:0; }
.hero h1 em,
.hero h1 strong{ font-style:normal; font-weight:300; color:var(--gold-hi); }

.hero-sub{
  margin:30px auto 0; max-width:660px; color:#CBD8E8; font-weight:300;
  font-size:15.5px; line-height:2.05; letter-spacing:.03em;
  text-shadow:0 1px 18px rgba(3,8,16,.7);
}
.hero-actions{ margin-top:48px; display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }

.scroll-cue{
  position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:10px;
  font-family:var(--mono); font-size:9px; letter-spacing:.3em; color:var(--muted);
}
.scroll-cue i{ display:block; width:1px; height:64px; background:linear-gradient(180deg,var(--gold-dim),transparent); }

@media (max-width:768px){
  .fx-lattice{ display:none; }
  .hero-emblem{ width:96px; }
}

@media (prefers-reduced-motion:reduce){
  .curves, .signal-comet, .fx-lattice, .lattice, .fx-core, .fx-num,
  .hero-emblem img, .hero-emblem::after{ animation:none !important; }
}
/* ---------- 三支柱 ---------- */
.pillars{
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
}
.pillar{
  position:relative; padding:56px 40px 60px;
  border-left:1px solid var(--line-soft);
  transition:background .5s var(--ease);
  overflow:hidden;
}
.pillar:first-child{ border-left:0; }
.pillar::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .7s var(--ease);
}
.pillar:hover{ background:rgba(201,169,106,.035); }
.pillar:hover::after{ transform:scaleX(1); }
.pillar .idx{ font-family:var(--mono); font-size:11px; letter-spacing:.24em; color:var(--gold); }
.pillar h3{ margin-top:26px; font-size:22px; font-weight:500; letter-spacing:.05em; }
.pillar p{ margin-top:16px; color:var(--muted); font-size:14px; line-height:1.95; font-weight:300; }
.pillar .go{
  margin-top:30px; display:inline-flex; align-items:center; gap:8px;
  font-size:11.5px; letter-spacing:.18em; color:var(--text-2);
  transition:color .35s,gap .35s;
}
.pillar:hover .go{ color:var(--gold-hi); gap:14px; }

/* ---------- 区块 ---------- */
.section{ padding:150px 0; position:relative; }
.section.tight{ padding:110px 0; }
.section + .section{ border-top:1px solid var(--line-soft); }
.section-head{ display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:end; }
.section-head .right{ padding-bottom:6px; }

/* 图文对开 */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.split .title{ font-size:clamp(25px,2.7vw,38px); line-height:1.42; }
.split figure{ position:relative; overflow:hidden; }
.split figure::after{
  content:""; position:absolute; inset:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.split figure img{
  width:100%; height:100%; object-fit:cover; aspect-ratio:4/3;
  filter:grayscale(.15) contrast(1.02);
  transition:transform 1.2s var(--ease);
}
.split figure.portrait img{
  aspect-ratio:4/5; object-position:center 14%;
  filter:grayscale(.12) contrast(1.05) brightness(.82);
}
.split figure.portrait::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(12,28,49,.08) 0%,rgba(12,28,49,.18) 55%,rgba(10,21,38,.72) 100%);
}
.split figure.portrait::after{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(201,169,106,.22);
}
.split figure:hover img{ transform:scale(1.04); }

/* ---------- 数据条 ---------- */
.metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); }
.metric{ padding:44px 26px 46px; border-left:1px solid var(--line-soft); }
.metric:first-child{ border-left:0; }
.metric .num{
  font-family:var(--mono); font-size:clamp(34px,3.6vw,54px); font-weight:300;
  color:var(--gold-hi); letter-spacing:-.02em; line-height:1;
  display:flex; align-items:baseline; gap:4px;
}
.metric .num small{ font-size:.4em; letter-spacing:.05em; color:var(--gold); }
.metric .cap{ margin-top:18px; font-size:12.5px; color:var(--muted); letter-spacing:.1em; }
.metric .sub{ margin-top:6px; font-size:11px; color:#5B6478; font-family:var(--mono); letter-spacing:.04em; }

/* 收益柱状 */
.bars{ display:grid; grid-template-columns:repeat(3,1fr); gap:56px; align-items:end; }
.bar-item{ text-align:left; }
.bar-track{
  height:230px; display:flex; align-items:flex-end; justify-content:flex-start;
  border-bottom:1px solid var(--line); position:relative;
}
.bar-track::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(90deg,var(--line-soft),transparent);
}
.bar{
  width:42%; background:linear-gradient(180deg,var(--gold-hi) 0%,rgba(201,169,106,.62) 42%,rgba(201,169,106,.1) 100%);
  transform-origin:bottom; transform:scaleY(0);
  transition:transform 1.3s var(--ease);
  position:relative;
}
.bar::after{
  content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--gold-hi);
}
.bar-item.in .bar{ transform:scaleY(1); }
.bar-item .yr{ margin-top:18px; font-family:var(--mono); font-size:11px; color:var(--muted); letter-spacing:.22em; }
.bar-item .val{ margin-top:2px; font-family:var(--mono); font-size:26px; color:var(--gold-hi); letter-spacing:.01em; }
.disclaimer{ margin-top:34px; font-size:11px; color:#5B6478; line-height:1.9; letter-spacing:.03em; }

/* ---------- 年份轴（首页） ---------- */
.rail{ display:flex; overflow-x:auto; scrollbar-width:thin; border-top:1px solid var(--line); }
.rail-item{
  flex:1 0 160px; padding:26px 20px 30px; border-left:1px solid var(--line-soft);
  transition:background .4s var(--ease);
}
.rail-item:first-child{ border-left:0; }
.rail-item:hover{ background:rgba(201,169,106,.05); }
.rail-item .yr{ font-family:var(--mono); font-size:20px; color:var(--gold); letter-spacing:.06em; }
.rail-item .tt{ margin-top:12px; font-size:14px; color:var(--text); letter-spacing:.05em; }
.rail-item .ds{ margin-top:8px; font-size:11.5px; color:#5B6478; line-height:1.8; }

/* ---------- 引言块 ---------- */
.quote{
  border-left:1px solid var(--gold-dim); padding:6px 0 6px 40px;
  max-width:52ch;
}
.quote p{ font-size:clamp(19px,2vw,26px); font-weight:300; line-height:1.85; letter-spacing:.04em; color:var(--text); }
.quote cite{ display:block; margin-top:24px; font-style:normal; font-size:12px; letter-spacing:.2em; color:var(--muted); }

/* ---------- 页脚 ---------- */
.site-footer{
  border-top:1px solid var(--line-soft); background:var(--ink-2);
  padding:90px 0 0; position:relative; overflow:hidden;
}
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:60px; }
.footer-brand .brand-word{ text-align:left; font-size:16px; letter-spacing:.3em; }
.footer-brand p{ margin-top:20px; color:var(--muted); font-size:13px; line-height:2; max-width:34ch; }
.f-col h4{ font-size:11px; letter-spacing:.24em; color:var(--gold); font-weight:500; margin-bottom:22px; }
.f-col li{ color:var(--text-2); font-size:13px; line-height:2.2; }
.f-col a:hover{ color:var(--gold-hi); }
.footer-bottom{
  margin-top:80px; border-top:1px solid var(--line-soft);
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding:26px 0 34px; font-size:11px; color:#525B6E; letter-spacing:.06em;
}
.footer-bottom .links{ display:flex; gap:22px; }
.footer-bottom a:hover{ color:var(--text-2); }
.footer-watermark{
  position:absolute; right:-40px; bottom:70px; font-size:230px; font-weight:700;
  color:rgba(201,169,106,.028); letter-spacing:.04em; pointer-events:none; user-select:none;
  line-height:1; white-space:nowrap;
}

/* ---------- 子页首屏 ---------- */
.page-hero{
  position:relative; padding:190px 0 110px; overflow:hidden;
  border-bottom:1px solid var(--line-soft);
}
.page-hero .bg{
  position:absolute; inset:0; z-index:-2; opacity:.46;
  background-position:center 35%; background-size:cover;
  filter:grayscale(.2) brightness(1.06) contrast(1.02);
}
.page-hero .veil{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(8,17,30,.30) 0%,rgba(8,17,30,.62) 52%,var(--ink) 97%);
}
.page-hero h1{
  font-size:clamp(30px,3.9vw,56px); font-weight:300; line-height:1.4; letter-spacing:.04em;
  margin-top:26px; max-width:22ch;
}
.page-hero h1 strong{ font-weight:500; color:var(--gold-hi); }

/* ---------- 历程页 ---------- */
.history-layout{ display:grid; grid-template-columns:200px 1fr; gap:90px; }
.year-rail{ position:sticky; top:90px; align-self:start; display:flex; flex-direction:column; gap:2px; }
.year-rail a{
  padding:9px 0 9px 18px; border-left:1px solid var(--line-soft);
  font-family:var(--mono); font-size:13px; letter-spacing:.1em; color:#525B6E;
  transition:color .3s,border-color .3s,padding-left .3s;
}
.year-rail a:hover{ color:var(--text-2); }
.year-rail a.is-active{ color:var(--gold); border-left-color:var(--gold); padding-left:24px; }
.entry{ padding-bottom:110px; scroll-margin-top:100px; }
.entry:last-child{ padding-bottom:0; }
.entry .yr{
  font-family:var(--mono); font-size:clamp(40px,4.6vw,68px); font-weight:300;
  color:rgba(201,169,106,.28); letter-spacing:.02em; line-height:1;
}
.entry h3{ margin-top:18px; font-size:26px; font-weight:500; letter-spacing:.06em; color:var(--text); }
.entry p{ margin-top:22px; color:var(--text-2); font-weight:300; font-size:15.5px; line-height:2.1; max-width:62ch; }
.entry .tag{
  display:inline-block; margin-bottom:22px; padding:5px 12px;
  border:1px solid var(--line); font-family:var(--mono); font-size:10px;
  letter-spacing:.2em; color:var(--gold);
}

/* ---------- 岗位列表 ---------- */
.jobs{ border-top:1px solid var(--line-soft); }
.job{
  display:grid; grid-template-columns:1.6fr 1fr 120px; gap:30px; align-items:center;
  padding:32px 8px; border-bottom:1px solid var(--line-soft);
  transition:background .4s var(--ease),padding-left .4s var(--ease);
}
.job:hover{ background:rgba(201,169,106,.04); padding-left:22px; }
.job h3{ font-size:17px; font-weight:500; letter-spacing:.06em; }
.job .meta{ font-size:12px; color:var(--muted); letter-spacing:.08em; }
.job .arrow{ text-align:right; color:var(--gold); font-size:18px; }

/* ---------- 卡片组 ---------- */
.cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line-soft); }
.card{ background:var(--panel); padding:52px 44px; transition:background .5s var(--ease); }
.card:hover{ background:var(--ink-3); }
.card .idx{ font-family:var(--mono); font-size:11px; color:var(--gold); letter-spacing:.22em; }
.card h3{ margin-top:22px; font-size:20px; font-weight:500; letter-spacing:.05em; }
.card p{ margin-top:14px; color:var(--muted); font-size:13.5px; line-height:1.95; font-weight:300; }

/* ---------- 出现动画 ---------- */
.js .reveal{ opacity:0; transform:translateY(26px); transition:opacity 1s var(--ease),transform 1s var(--ease); }
.js .reveal.in{ opacity:1; transform:none; }
.js .reveal[data-d="1"]{ transition-delay:.1s; }
.js .reveal[data-d="2"]{ transition-delay:.2s; }
.js .reveal[data-d="3"]{ transition-delay:.3s; }
.js .reveal[data-d="4"]{ transition-delay:.42s; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .js .reveal{ opacity:1; transform:none; transition:none; }
  .bar{ transition:none; transform:scaleY(1); }
}

/* ---------- 响应式 ---------- */
@media (max-width:1280px){
  :root{ --pad-x:44px; }
  .section{ padding:120px 0; }
  .split{ gap:60px; }
  .section-head{ gap:50px; }
}

@media (max-width:1024px){
  :root{ --nav-w:0px; }
  body{ padding-left:0; padding-top:64px; }

  .hero-media{
    left:0; right:0;
    -webkit-mask-image:none; mask-image:none;
    background-position:center 42%;
    filter:saturate(.95) brightness(.82) contrast(1.02);
  }
  .hero-veil{
    background:linear-gradient(180deg,rgba(10,21,38,.86) 0%,rgba(10,21,38,.66) 34%,
               rgba(10,21,38,.84) 68%,var(--ink) 100%);
  }

  .top-bar{
    display:flex; align-items:center; justify-content:space-between;
    position:fixed; top:0; left:0; right:0; height:64px; z-index:120;
    padding:0 22px; background:rgba(10,21,38,.94);
    border-bottom:1px solid var(--line-soft);
    backdrop-filter:blur(14px);
  }
  .top-bar .brand-word{ font-size:13px; letter-spacing:.28em; }
  .nav-toggle{
    display:flex; flex-direction:column; gap:6px; background:none; border:0;
    padding:10px; cursor:pointer;
  }
  .nav-toggle i{ display:block; width:24px; height:1px; background:var(--text); transition:.35s var(--ease); }
  .nav-toggle.on i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav-toggle.on i:nth-child(2){ opacity:0; }
  .nav-toggle.on i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

  .side-nav{
    inset:64px 0 0 0; width:100%; transform:translateY(-12px);
    opacity:0; pointer-events:none; transition:.4s var(--ease);
    border-right:0; justify-content:center;
    background:rgba(10,21,38,.98);
  }
  .side-nav.open{ opacity:1; transform:none; pointer-events:auto; }
  .side-nav .brand{ display:none; }
  .nav-list{ flex:0; }
  .nav-list a{ font-size:17px; padding:20px 0; letter-spacing:.2em; }
  .nav-list a::before{ display:none; }
  .nav-foot{ border-top:0; padding-bottom:60px; }

  .section-head{ grid-template-columns:1fr; gap:40px; align-items:start; }
  .split{ grid-template-columns:1fr; gap:46px; }
  .split figure{ order:-1; }
  .pillars{ grid-template-columns:1fr; }
  .pillar{ border-left:0; border-top:1px solid var(--line-soft); padding:44px 26px 48px; }
  .pillar:first-child{ border-top:0; }
  .metrics{ grid-template-columns:repeat(2,1fr); }
  .metric:nth-child(3){ border-left:0; }
  .metric{ border-top:1px solid var(--line-soft); }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:46px; }
  .history-layout{ grid-template-columns:1fr; gap:50px; }
  .year-rail{ position:static; flex-direction:row; flex-wrap:wrap; gap:6px; }
  .year-rail a{ border-left:0; border:1px solid var(--line-soft); padding:7px 14px; }
  .year-rail a.is-active{ padding-left:14px; border-color:var(--gold); }
  .entry{ padding-bottom:70px; }
  .cards{ grid-template-columns:1fr; }
  .footer-watermark{ font-size:120px; }
}

@media (max-width:640px){
  :root{ --pad-x:22px; }
  body{ font-size:15px; }
  .section{ padding:88px 0; }
  .section.tight{ padding:72px 0; }
  .hero-inner{ padding:80px 0 90px; }
  .hero h1{ font-size:32px; line-height:1.4; }
  .hero-sub{ font-size:14px; }
  .hero-actions .btn{ flex:1 1 100%; justify-content:center; }
  .bars{ gap:12px; }
  .bar-track{ height:150px; }
  .metric .num{ font-size:38px; }
  .quote{ padding-left:22px; }
  .job{ grid-template-columns:1fr; gap:10px; }
  .job .arrow{ display:none; }
  .footer-grid{ grid-template-columns:1fr; gap:40px; }
  .footer-bottom{ flex-direction:column; }
  .page-hero{ padding:120px 0 70px; }
  .entry .yr{ font-size:38px; }
  .entry h3{ font-size:21px; }
}

/* 时间定位（?t=秒）：把所有动画定格到指定时刻 */
.seek .hero-fx *,
.seek .hero-emblem img,
.seek .hero-emblem::after,
.seek .hero-emblem::before{
  animation-play-state:paused !important;
  animation-delay:var(--seek) !important;
}

/* ---------- 背景视频（存在时接管背景，CSS 层退为降级方案） ---------- */
.hero-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:-1;
  filter:brightness(1.12) saturate(1.05) contrast(1.03);
}
.has-video .fx-void,
.has-video .fx-scene,
.has-video .fx-cam,
.has-video .fx-core,
.has-video .fx-num{ display:none; }

@media (max-width:768px){
  .hero-video{ display:none; }
  .has-video .fx-void,
  .has-video .fx-scene,
  .has-video .fx-cam,
  .has-video .fx-core{ display:block; }
}
@media (prefers-reduced-motion:reduce){
  .hero-video{ display:none; }
  .has-video .fx-void,
  .has-video .fx-scene,
  .has-video .fx-cam,
  .has-video .fx-core{ display:block; }
}

/* ---------- 首页：全屏视频 + 侧栏随滚动出现 ---------- */
body.home .hero{
  margin-left:calc(-1 * var(--nav-w));
  margin-top:-16px;
  width:calc(100% + var(--nav-w));
  min-height:calc(100vh + 16px); min-height:calc(100svh + 16px);
  padding-top:126px;
}
@media (max-width:1024px){
  body.home .hero{ margin-left:0; width:100%; }
}

@media (min-width:1025px){
  /* 只有 JS 正常时才隐藏侧栏，避免脚本失败后无法导航 */
  html.js body.home .side-nav{
    transform:translateX(-100%); opacity:0; pointer-events:none;
    transition:transform .7s var(--ease), opacity .5s var(--ease);
  }
  body.home.nav-on .side-nav{
    transform:none !important; opacity:1 !important; pointer-events:auto !important;
  }
}

/* 视频层上的遮罩减弱，让画面透出来 */
.has-video .fx-vignette{
  background:
    radial-gradient(ellipse 80% 72% at 50% 46%, transparent 48%, rgba(6,12,22,.26) 84%, rgba(6,12,22,.58) 100%),
    linear-gradient(180deg, rgba(8,16,26,.28) 0%, transparent 20%, transparent 70%, var(--ink) 100%);
}
.has-video .hero-center::before{
  background:radial-gradient(ellipse 50% 44% at 50% 50%, rgba(5,11,20,.26) 0%, rgba(5,11,20,.12) 48%, transparent 74%);
}

/* 移动端：不显示信号线与世界网络，画面交给 CSS 图层，避免压住按钮 */
@media (max-width:768px){
  .fx-signal{ display:none !important; }
  .signal-line, .signal-comet{ display:none; }
  .curve--gold{ display:none; }
  .hero-video{ display:none; }
  .fx-scene{ opacity:.55; }
}

.hero h1 p, .page-hero h1 p, h2.title p{ margin:0; }
.lang-soon{ color:#3A465C; cursor:default; }
.contact-layout{ display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.contact-meta{ margin-top:44px; border-top:1px solid var(--line-soft); }
.contact-meta li{ display:flex; gap:20px; padding:16px 0; border-bottom:1px solid var(--line-soft); font-size:14px; color:var(--text-2); }
.contact-meta li span{ color:var(--muted); min-width:48px; font-size:12px; letter-spacing:.2em; }
.field{ margin-bottom:26px; }
.field label{ display:block; font-size:12px; letter-spacing:.16em; color:var(--muted); margin-bottom:10px; }
.field-input{ width:100%; background:transparent; border:0; border-bottom:1px solid var(--line); color:var(--text); padding:12px 0; font:inherit; font-size:15px; border-radius:0; }
.field-input:focus{ outline:none; border-bottom-color:var(--gold); }
textarea.field-input{ resize:vertical; min-height:120px; }
.field.has-error .field-input{ border-bottom-color:#C05A4A; }
.field-error{ margin-top:8px; font-size:12px; color:#D98070; }
.form-success{ border:1px solid var(--line); padding:44px; color:var(--gold-hi); }
.seek .hero-fx *, .seek .hero-emblem img, .seek .hero-emblem::after, .seek .hero-emblem::before{
  animation-play-state:paused !important; animation-delay:var(--seek) !important;
}
@media (max-width:1024px){ .contact-layout{ grid-template-columns:1fr; gap:50px; } }

/* ---------- 技术逻辑页 ---------- */
.tech-section{ padding:110px 0; }
.tech-head{ max-width:860px; }
.flow{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:56px; }
.flow-node{
  padding:11px 20px; border:1px solid var(--line); color:var(--text-2);
  font-size:13px; letter-spacing:.1em;
}
.flow-arrow{ color:var(--gold-dim); font-style:normal; font-size:13px; }
.tech-cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1px;
  background:var(--line-soft); margin-top:56px;
}
.tech-card{ background:var(--panel); padding:40px 34px; }
.tech-card .idx{ font-family:var(--mono); font-size:11px; letter-spacing:.22em; color:var(--gold); }
.tech-card h3{ margin-top:14px; font-size:17.5px; font-weight:500; letter-spacing:.04em; text-wrap:balance; }
.tech-card p{ margin-top:12px; color:var(--muted); font-size:13.5px; line-height:1.95; }
.tech-card ul{ margin-top:14px; padding-left:0; }
.tech-card li{ position:relative; padding-left:14px; color:var(--muted); font-size:13.5px; line-height:1.95; }
.tech-card li::before{ content:"·"; position:absolute; left:0; color:var(--gold); }
.tech-card .foot{ margin-top:18px; padding-top:14px; border-top:1px solid var(--line-soft); color:var(--gold-dim); font-size:12.5px; }
.tech-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:56px; }
.tech-step{ border-top:1px solid var(--line); padding-top:26px; }
.tech-step .num{ font-family:var(--mono); font-size:30px; color:var(--gold); line-height:1; }
.tech-step h3{ margin-top:12px; font-size:19px; font-weight:500; letter-spacing:.05em; }
.tech-step ul{ margin-top:16px; padding-left:0; }
.tech-step li{ position:relative; padding-left:14px; color:var(--muted); font-size:13.5px; line-height:1.95; }
.tech-step li::before{ content:"·"; position:absolute; left:0; color:var(--gold); }
.tech-step .foot{ margin-top:16px; color:var(--gold-dim); font-size:12.5px; line-height:1.8; }
.tech-cols{ display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:56px; }
.tech-col h3{ font-size:15px; letter-spacing:.16em; color:var(--gold); font-weight:500; }
.tech-col ul{ margin-top:20px; padding-left:0; }
.tech-col li{ padding:15px 0; border-bottom:1px solid var(--line-soft); color:var(--text-2); font-size:14px; }
.tech-foot{
  margin-top:42px; padding:22px 28px; border-left:2px solid var(--gold-dim);
  color:var(--text-2); font-size:13.5px; line-height:1.95;
}
@media (max-width:1024px){
  .tech-cards,.tech-steps{ grid-template-columns:1fr; }
  .tech-cols{ grid-template-columns:1fr; gap:34px; }
  .tech-section{ padding:80px 0; }
}

/* 整页截图模式 */
.flat .hero{ min-height:auto !important; }
.flat .reveal{ opacity:1 !important; transform:none !important; }


/* 子页首屏：底部加一层暖光，避免整块死黑 */
.page-hero::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 50% 18%, rgba(201,169,106,.10), transparent 68%);
}

/* 技术逻辑页导语：左线 + 加宽，避免孤字 */
.tech-lead{
  margin-top:30px; max-width:1000px;
  padding-left:26px; border-left:1px solid var(--line);
  color:var(--text-2); font-size:15.5px; line-height:2.1; letter-spacing:.02em;
  text-wrap:balance;
}

/* 技术关键词标签行 */
.tech-tags{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.tech-tags span{
  padding:7px 15px; border:1px solid var(--line);
  font-size:12.5px; letter-spacing:.08em; color:var(--gold-dim);
  background:rgba(201,169,106,.05);
}

/* 金色强调（文档中的变色重点） */
.hl{ color:#F2DEB2; font-weight:600; }

/* 表单里的 <button class="btn"> 需要显式清掉浏览器默认底 */
button.btn{
  background:transparent; -webkit-appearance:none; appearance:none;
  font-family:inherit; cursor:pointer;
}
button.btn:hover{ background:var(--gold); color:#0A0E15; }

/* 历程条目配图：左文右图 */
.entry{
  display:grid; grid-template-columns:minmax(0,1fr) 400px;
  gap:64px; align-items:center;
}
.entry-media{
  position:relative; overflow:hidden; border:1px solid var(--line-soft);
  aspect-ratio:16 / 10; background:var(--ink-3);
}
.entry-media img{ display:block; width:100%; height:100%; object-fit:cover; }
@media (max-width:1100px){
  .entry{ grid-template-columns:1fr; gap:28px; }
  .entry-media{ max-width:420px; }
}

.entry:not(:has(.entry-media)){ grid-template-columns:minmax(0,1fr); }
.entry:not(:has(.entry-media)) p{ max-width:70ch; }




/* ---------- 内容区结构线 ---------- */
.section > .wrap{ position:relative; }
.section > .wrap::before,
.section > .wrap::after{
  content:""; position:absolute; top:-40px; bottom:-40px; width:1px;
  background:linear-gradient(180deg,transparent,rgba(190,214,244,.10) 18%,rgba(190,214,244,.10) 82%,transparent);
  pointer-events:none;
}
.section > .wrap::before{ left:-44px; }
.section > .wrap::after{ right:-44px; }
@media (max-width:900px){
  .section > .wrap::before, .section > .wrap::after{ display:none; }
}

/* ---------- 天马历程：整屏背景 + 年份列 + 右侧文字 ---------- */
body:has(.hist){ overflow:hidden; height:100vh; }
.hist{ position:relative; height:100vh; }
.hist-stage{
  position:relative; height:100vh; overflow:hidden;
}
.hist-bgs{ position:absolute; inset:0; z-index:0; }
.hist-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition:opacity .7s var(--ease), transform 7s linear;
  transform:scale(1.04);
}
.hist-bg.is-on{ opacity:1; transform:scale(1); }
.hist-veil{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,16,28,.86) 0%, rgba(8,16,28,.66) 32%, rgba(8,16,28,.30) 60%, rgba(8,16,28,.46) 100%),
    linear-gradient(180deg, rgba(8,16,28,.48) 0%, transparent 26%, rgba(8,16,28,.70) 100%);
}

.hist-body{
  position:relative; z-index:2; height:100%;
  display:grid; grid-template-columns:230px minmax(0,1fr);
  align-content:center; gap:0;
  padding:0 clamp(40px, 6vw, 120px) 0 clamp(56px, 7vw, 150px);
}

/* 年份列 */
.hist-years{
  display:flex; flex-direction:column; justify-content:center; gap:6px;
  align-items:flex-end; padding-right:40px;
}
.hist-years a{
  font-family:var(--mono); font-weight:300; line-height:1.15;
  font-size:26px; letter-spacing:.02em;
  color:rgba(226,238,252,.35);
  transition:font-size .5s var(--ease), color .5s var(--ease), opacity .5s var(--ease);
  opacity:.55;
}
.hist-years a.is-on{
  font-size:58px; color:#fff; opacity:1;
}
.hist-years a:hover{ opacity:.85; }

/* 文字面板 */
.hist-panels{ position:relative; align-self:center; max-width:760px; }
.hist-panel{
  display:none;
}
.hist-panel.is-on{
  display:block; animation:histIn .55s var(--ease) both;
}
@keyframes histIn{
  from{ opacity:0; transform:translateY(16px); }
  to{ opacity:1; transform:none; }
}
.hist-tag{
  font-family:var(--mono); font-size:10px; letter-spacing:.28em;
  color:var(--gold); margin-bottom:18px;
}
.hist-panel h2{ text-shadow:0 2px 24px rgba(4,10,18,.55);
  font-size:clamp(28px, 3vw, 42px); font-weight:500; letter-spacing:.04em;
  color:#fff; line-height:1.35;
}
.hist-panel p{ text-shadow:0 1px 18px rgba(4,10,18,.5);
  margin-top:26px; color:rgba(206,220,238,.88);
  font-size:15.5px; line-height:2.1; font-weight:300; max-width:52ch;
}

/* 右下角进度 */
.hist-edge{
  position:absolute; right:clamp(28px,4vw,64px); bottom:38px; z-index:2;
  display:flex; align-items:center; gap:18px;
}
.hist-now{ font-family:var(--mono); font-size:12px; letter-spacing:.28em; color:var(--gold); }
.hist-dots{ display:flex; gap:7px; }
.hist-dots i{
  width:5px; height:5px; border-radius:50%; background:rgba(206,220,238,.28);
  transition:background .4s var(--ease), transform .4s var(--ease);
}
.hist-dots i.is-on{ background:var(--gold); transform:scale(1.5); }

.hist-track{ position:relative; }
.hist-stop{ height:100vh; }

@media (max-width:1100px){
  .hist-stage{ position:relative; height:auto; padding:80px 0; }
  .hist-body{ grid-template-columns:1fr; gap:36px; padding:0 24px; }
  .hist-years{ flex-direction:row; align-items:center; gap:16px; padding-right:0; overflow-x:auto; }
  .hist-years a{ font-size:18px; }
  .hist-years a.is-on{ font-size:30px; }
  .hist-panels{ min-height:60vh; }
  .hist-panel{ position:relative; top:auto; transform:none; display:none; opacity:1; }
  .hist-panel.is-on{ display:block; }
  .hist-track{ display:none; }
  .hist-edge{ display:none; }
  .hist-bg{ opacity:1; position:relative; height:340px; transform:none; }
  .hist-bgs{ position:relative; }
  .hist-veil{ display:none; }
}


/* 右侧进度条 */
.hist-bar{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  width:2px; height:180px; background:rgba(206,220,238,.16); z-index:3;
}
.hist-bar i{
  display:block; width:100%; height:100%; background:var(--gold);
  transform:scaleY(0.16); transform-origin:top; transition:transform .5s var(--ease);
}


/* 历程：锁定后不需要滚动条 */
body:has(.hist){ overscroll-behavior:none; }
@media (max-width:1100px){
  body:has(.hist){ overflow:auto; height:auto; }
  .hist{ height:auto; }
}



/* 社会责任：横向轮播 */
.soc-carousel{ position:relative; background:var(--ink-3); }
.soc-viewport{ overflow:hidden; }
.soc-track{
  display:flex; gap:1px; will-change:transform;
  animation:socScroll var(--dur, 200s) linear infinite;
}
@keyframes socScroll{
  from{ transform:translate3d(0,0,0); }
  to{ transform:translate3d(var(--half, -100%),0,0); }
}

.soc-slide{
  position:relative; flex:0 0 62%; margin:0; height:clamp(420px, 62vh, 680px);
  overflow:hidden; background:var(--ink-3);
}
.soc-slide img{
  display:block; width:100%; height:100%; object-fit:cover;
  filter:saturate(.78) brightness(.82);
  transition:filter .8s var(--ease), transform 1.6s var(--ease);
}
.soc-slide:hover img{ filter:saturate(.95) brightness(.9); transform:scale(1.03); }
.soc-cap{
  position:absolute; left:0; right:0; bottom:0; padding:110px 34px 30px;
  background:linear-gradient(180deg, transparent, rgba(7,14,24,.9));
}
.soc-cap .n{ font-family:var(--mono); font-size:10px; letter-spacing:.28em; color:var(--gold); }
.soc-cap h3{
  margin-top:10px; font-size:clamp(20px, 2vw, 27px); font-weight:500;
  letter-spacing:.06em; color:#fff;
}

.soc-ui{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; padding:22px clamp(20px, 4vw, 56px);
  border-bottom:1px solid var(--line-soft);
}
.soc-count{ font-family:var(--mono); font-size:11px; letter-spacing:.22em; color:var(--muted); }
.soc-count b{ color:var(--gold); font-weight:400; }
.soc-dots{ display:flex; gap:8px; }
.soc-dots i{
  width:22px; height:1px; background:rgba(206,220,238,.24); cursor:pointer;
  transition:background .4s var(--ease), width .4s var(--ease);
}
.soc-dots i.is-on{ background:var(--gold); width:44px; }
.soc-arrows{ display:flex; gap:10px; }
.soc-arrows button{
  width:44px; height:44px; display:grid; place-items:center;
  background:transparent; color:var(--gold-hi); cursor:pointer;
  border:1px solid var(--line); font-size:15px;
  transition:background .35s var(--ease), border-color .35s var(--ease);
  -webkit-appearance:none; appearance:none; font-family:inherit;
}
.soc-arrows button:hover{ background:rgba(201,169,106,.1); border-color:var(--gold-dim); }

@media (max-width:1024px){
  .soc-slide{ flex:0 0 88%; height:clamp(280px, 58vw, 420px); }
  .soc-cap{ padding:70px 22px 20px; }
}

/* 项目清单（轮播下方） */
.soc-rows{ border-top:1px solid var(--line-soft); }
.soc-row{
  display:grid; grid-template-columns:80px minmax(0,.9fr) minmax(0,1.5fr);
  gap:40px; padding:32px 0; border-bottom:1px solid var(--line-soft);
  align-items:start;
}
.soc-row .n{
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  color:var(--gold); padding-top:7px;
}
.soc-row h3{ font-size:20px; font-weight:500; letter-spacing:.05em; color:var(--text); }
.soc-row p{ color:var(--text-2); font-size:15.5px; line-height:2.05; max-width:64ch; }
.soc-note{ margin-top:30px; font-size:12.5px; color:var(--muted); letter-spacing:.04em; }
@media (max-width:1024px){
  .soc-row{ grid-template-columns:1fr; gap:10px; padding:24px 0; }
  .soc-row .n{ padding-top:0; }
}
/* ---------- 亮色主题（社会责任页） ---------- */
body.theme-light{
  background-color:#F7F5F0;
  background-image:
    radial-gradient(1200px 720px at 16% -10%, rgba(162,129,63,.07), transparent 62%),
    radial-gradient(1050px 820px at 94% 4%, rgba(58,108,164,.08), transparent 62%),
    radial-gradient(rgba(20,32,46,.075) 1px, transparent 1px);
  background-size:auto, auto, 26px 26px, auto;
  background-attachment:fixed;
  --ink:#F7F5F0;
  --ink-2:#0B1A2E;
  --ink-3:#EFEAE1;
  --panel:#FFFFFF;
  --text:#14202E;
  --text-2:#39465A;
  --muted:#6B7789;
  --line:rgba(20,32,46,.16);
  --line-soft:rgba(20,32,46,.09);
  --gold:#A2813F;
  --gold-hi:#8A6A2C;
  --gold-dim:rgba(162,129,63,.55);
}

/* 侧栏与页脚在亮色页面上保持深色 */
body.theme-light .side-nav,
body.theme-light .site-footer{
  --text:#EEF1F7;
  --text-2:#C2CBD9;
  --muted:#8A97AC;
  --line:rgba(201,169,106,.18);
  --line-soft:rgba(255,255,255,.085);
  --gold:#C9A96A;
  --gold-hi:#E7D2A4;
  --gold-dim:rgba(201,169,106,.55);
  background:#0B1A2E;
}
body.theme-light .side-nav{ border-right:1px solid rgba(255,255,255,.08); }

/* 轮播控件在浅底上 */
body.theme-light .soc-ui{ border-bottom-color:rgba(20,32,46,.1); }
body.theme-light .soc-dots i{ background:rgba(20,32,46,.2); }
body.theme-light .soc-dots i.is-on{ background:#A2813F; }
body.theme-light .soc-arrows button{ color:#39465A; border-color:rgba(20,32,46,.18); }
body.theme-light .soc-arrows button:hover{ background:rgba(162,129,63,.1); border-color:#A2813F; color:#14202E; }

/* 文字区 */
body.theme-light .page-hero--plain h1{ color:#14202E; }
.soc-carousel + .page-hero--plain{ padding-top:96px; }
body.theme-light .title,
body.theme-light .entry h3,
body.theme-light .soc-row h3{ color:#14202E; }
body.theme-light .lede{ color:#39465A; }
body.theme-light .soc-row{ border-bottom-color:rgba(20,32,46,.09); border-top-color:rgba(20,32,46,.12); }
body.theme-light .soc-note{ color:#6B7789; }
body.theme-light .quote{ border-left-color:#A2813F; }
body.theme-light .quote p{ color:#14202E; }


/* 轮播提示 */
.soc-live{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.2em;
  color:var(--muted); text-transform:uppercase;
}
.soc-live i{
  width:6px; height:6px; border-radius:50%; background:#A2813F;
  animation:socPulse 2.4s var(--ease) infinite;
}
@keyframes socPulse{ 0%,100%{opacity:.35} 50%{opacity:1} }
.soc-carousel{ cursor:default; }



/* 轮播：不可交互，纯展示 */
.soc-carousel.is-passive,
.soc-carousel.is-passive *{ pointer-events:none; user-select:none; }
.soc-carousel.is-passive{ cursor:default; }


/* 社会责任：页名 */
.soc-head{ padding:84px 0 46px; }
.soc-head h1{
  font-size:clamp(34px, 4vw, 58px); font-weight:400;
  letter-spacing:.06em; color:#14202E; line-height:1.2;
}

/* 减少动态效果 / 窄屏：用视频首帧做背景，而不是退回线条动画 */

@media (prefers-reduced-motion: reduce), (max-width: 768px){
  .hero-video{ display:none !important; }
  .has-video .fx-void,
  .has-video .fx-scene,
  .has-video .fx-cam,
  .has-video .fx-core,
  .has-video .fx-num{ display:none !important; }
  .hero-fx.has-video::before{
    content:"";
    position:absolute; inset:0; z-index:-3;
    background:#0B1A2E url("/static/video/hero-v10-poster.jpg") center center / cover no-repeat;
    filter:saturate(.92) brightness(.92);
  }
}

/* 人物配图说明 */
.fig-cap{
  margin-top:14px; font-family:var(--mono);
  font-size:11px; letter-spacing:.16em; color:var(--muted);
}
.split figure .fig-cap{ text-align:right; }

/* 联系页：人物照片 */
.contact-person{ margin:44px 0 0; max-width:280px; }
.contact-person img{ display:block; width:100%; height:auto; border:1px solid var(--line-soft); }
.contact-meta a{ color:var(--gold-hi); text-decoration:none; }
.contact-meta a:hover{ text-decoration:underline; }

/* 小屏：长标题适当缩小，减少生硬断行 */
@media (max-width:640px){
  .page-hero h1{ font-size:clamp(24px, 7.2vw, 32px); line-height:1.45; }
  .tech-head .lede, .tech-lead{ font-size:15px; }
  .hist-years a.is-on{ font-size:30px; }
  .soc-cap h3{ font-size:16px; }
}

/* 岗位详情页 */
.job-hero .crumb{ color:var(--muted); text-decoration:none; letter-spacing:.14em; }
.job-hero .crumb:hover{ color:var(--gold-hi); }
.job-meta-line{ display:flex; flex-wrap:wrap; gap:18px; margin-top:22px;
  font-family:var(--mono); font-size:12px; letter-spacing:.12em; color:var(--muted); }
.job-detail{ display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:64px; }
.job-block{ margin-bottom:44px; }
.job-h2{ font-size:15px; letter-spacing:.08em; color:var(--gold-hi);
  margin:0 0 16px; font-weight:600; }
.rich p{ margin:0 0 14px; }
.rich li{ margin-bottom:9px; }
.job-apply{ margin-top:48px; }
.job-side{ border-left:1px solid var(--line-soft); padding-left:28px; }
.job-side-list{ list-style:none; padding:0; margin:0; }
.job-side-list li{ margin-bottom:16px; }
.job-side-list a{ display:block; color:inherit; text-decoration:none; font-size:15px; }
.job-side-list a:hover{ color:var(--gold-hi); }
.job-side-list span{ display:block; font-family:var(--mono); font-size:11px;
  letter-spacing:.12em; color:var(--muted); margin-top:4px; }
@media (max-width:900px){
  .job-detail{ grid-template-columns:minmax(0,1fr); gap:36px; }
  .job-side{ border-left:0; padding-left:0; border-top:1px solid var(--line-soft); padding-top:24px; }
}
