/* ============================================================
   定拓亲元 · 站点设计系统
   零外部依赖：系统字体栈 + 内联 SVG
   ============================================================ */

:root{
  /* 色彩令牌 */
  --bg:#FAF8F3;
  --bg2:#F3EFE6;
  --card:#FFFFFF;
  --ink:#16203A;
  --sub:#59617A;
  --line:#E5DECD;
  --gold:#D98E21;
  --gold-lg:#C0770F;
  --gold-ink:#8A5A0A;
  --tint:#FBF0DC;
  --tint2:#F6E7C9;
  --teal:#2E8C7E;
  --teal-bg:#E6F1ED;

  /* 尺度 */
  --wrap:1120px;
  --r-s:10px;
  --r-m:16px;
  --r-l:24px;
  --btn-r:30px;
  --sh:0 6px 24px rgba(22,32,58,.06);
  --sh-l:0 18px 48px rgba(22,32,58,.10);

  /* 字体 */
  --font:"Noto Sans SC","PingFang SC","HarmonyOS Sans SC","Source Han Sans SC","Microsoft YaHei","Helvetica Neue",Inter,system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--font);font-size:16px;line-height:1.75;
  -webkit-font-smoothing:antialiased;overflow-wrap:break-word;
}
img,svg{max-width:100%;display:block}
a{color:var(--gold-ink);text-decoration:none}
a:hover{text-decoration:underline}
button{font-family:inherit;font-size:inherit;cursor:pointer}
::selection{background:var(--tint2);color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.skip:focus{left:16px;top:16px}

/* ---------- 排版 ---------- */
h1,h2,h3,h4{line-height:1.28;letter-spacing:-.015em;font-weight:700}
.tag{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.lead{font-size:17.5px;color:var(--sub);line-height:1.8}
.small{font-size:13px;color:var(--sub)}

/* ---------- 占位标记 ---------- */
.ph{
  display:inline-block;font-size:.95em;color:#8A7454;background:#F6EFE0;
  border-bottom:1px dashed #C9B291;border-radius:3px;padding:0 4px;
  font-weight:500;letter-spacing:.02em;white-space:nowrap;
}

/* ---------- 顶栏 ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(250,248,243,.86);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.logo{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}
.logo:hover{text-decoration:none}
.logo svg{flex:0 0 auto}
.logo b{display:block;font-size:16.5px;font-weight:700;letter-spacing:.06em;line-height:1.3}
.logo small{display:block;font-size:9.5px;letter-spacing:.22em;color:var(--sub);font-weight:500;line-height:1.4}
/* 纯文字标识（Logo 图形待替换） */
.logo.wm b{font-size:19px;letter-spacing:.14em;line-height:1.2}
.logo.wm small{font-size:9.5px;letter-spacing:.34em;color:var(--gold-ink);font-weight:600;margin-top:3px}
.site-footer .logo.wm b{font-size:17px}

.nav{display:flex;align-items:center;gap:26px}
.nav a{color:var(--sub);font-size:14.5px;text-decoration:none;padding:6px 0;position:relative}
.nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--gold);
  transition:right .25s ease;
}
.nav a:hover{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0}
.nav a[aria-current="page"]{color:var(--ink);font-weight:600}

.hd-right{display:flex;align-items:center;gap:14px}
.lang{display:flex;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.lang button{
  border:0;background:transparent;padding:5px 11px;font-size:12px;color:var(--sub);
  letter-spacing:.06em;line-height:1.4;
}
.lang button[aria-pressed="true"]{background:var(--ink);color:#fff;font-weight:600}

.burger{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;align-items:center;justify-content:center}
.burger span{display:block;width:16px;height:1.6px;background:var(--ink);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:16px;height:1.6px;background:var(--ink)}
.burger span::before{top:-5px}
.burger span::after{top:5px}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 26px;border-radius:var(--btn-r);font-size:14.5px;font-weight:600;
  border:1px solid transparent;text-decoration:none;white-space:nowrap;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-p{background:var(--gold);color:var(--ink)}
.btn-p:hover{background:#C87F18}
.btn-d{background:var(--ink);color:#fff}
.btn-d:hover{background:#0E1729}
.btn-g{border-color:var(--line);color:var(--ink);background:transparent}
.btn-g:hover{border-color:var(--ink)}
.btn-sm{padding:9px 18px;font-size:13.5px}
.btn-block{width:100%}
.btn .ar{width:14px;height:14px;transition:transform .2s}
.btn:hover .ar{transform:translateX(3px)}

/* ---------- 首屏 ---------- */
.hero{position:relative;overflow:hidden;padding:96px 0 88px}
.hero .rings{position:absolute;right:-180px;top:-140px;width:760px;height:760px;pointer-events:none}
.hero-in{position:relative;z-index:2;max-width:780px}
.hero h1{font-size:clamp(32px,4.6vw,56px);line-height:1.18;margin-top:20px;text-wrap:balance}
.hero h1 .g{display:block;font-weight:400;color:var(--gold-lg)}
/* 第二行是解释句，不是第二句口号：降为副标题档位，避免和金色主标打对台 */
.hero h1 .sub{
  display:block;margin-top:14px;max-width:36em;
  font-size:clamp(16px,1.7vw,21px);font-weight:500;
  line-height:1.62;letter-spacing:0;color:var(--ink);
}
/* 行宽与上方副标题那一行对齐（1440 下同为 655px 左右），右端齐平 */
.hero .lead{margin-top:24px;max-width:37.5em}

.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px;padding-top:24px;border-top:1px solid var(--line)}
.hero-nums div b{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.hero-nums div span{font-size:12.5px;color:var(--sub);letter-spacing:.02em}

/* ---------- 通用区块 ---------- */
.sec{padding:82px 0;border-top:1px solid var(--line)}
.sec.alt{background:var(--bg2);border-top:0;border-bottom:1px solid var(--line)}
.sec-hd{display:flex;gap:20px;align-items:flex-start;margin-bottom:38px}
.sec-no{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gold);padding-top:8px;font-variant-numeric:tabular-nums}
.sec-hd h2{font-size:clamp(24px,3.1vw,34px);letter-spacing:-.02em}
.sec-hd p{margin-top:12px;color:var(--sub);font-size:15.5px;max-width:46em}
.sec-hd .more{margin-left:auto;align-self:center;flex:0 0 auto}

/* 卡片 */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
  padding:28px 26px;box-shadow:var(--sh);transition:border-color .25s,transform .25s,box-shadow .25s;
}
.card:hover{border-color:#D8CEB4;transform:translateY(-2px);box-shadow:var(--sh-l)}
.card .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.card h3{font-size:17.5px;margin:10px 0 10px;font-weight:600}
.card p{font-size:14.5px;color:var(--sub);line-height:1.75}
.card .ico{width:44px;height:44px;border-radius:12px;background:var(--tint);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.card .ico svg{width:22px;height:22px}

/* 流程 */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:f}
.flow .st{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);
  padding:22px 18px 20px;
}
.flow .st::before{
  counter-increment:f;content:"0" counter(f);
  display:block;font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.1em;margin-bottom:10px;
}
.flow .st b{display:block;font-size:15px;margin-bottom:7px;font-weight:600}
.flow .st p{font-size:13px;color:var(--sub);line-height:1.7}

/* 数字 */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.stat{border-left:2px solid var(--gold);padding:4px 0 4px 18px}
.stat b{display:block;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.stat span{font-size:13px;color:var(--sub)}

/* 深色 CTA 带 */
.band{background:var(--ink);color:#fff;border-radius:0;padding:64px 0;position:relative;overflow:hidden}
.band .rings2{position:absolute;right:-120px;top:-160px;width:520px;height:520px;opacity:.5;pointer-events:none}
.band .wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.band h2{font-size:clamp(22px,2.8vw,30px);color:#fff;letter-spacing:-.015em}
.band p{color:rgba(255,255,255,.72);font-size:15px;margin-top:10px;max-width:36em}
.band .btn-g{color:#fff;border-color:rgba(255,255,255,.32)}
.band .btn-g:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* 产品卡 */
.prod{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column}
.pcard .top{padding:26px 24px 20px;border-bottom:1px dashed var(--line)}
@media (min-width:961px){.pcard .top{min-height:176px}}
.pcard .top .k{font-size:11px;letter-spacing:.16em;color:var(--gold-ink);font-weight:600;text-transform:uppercase}
.pcard h3{font-size:19px;margin:10px 0 8px}
.pcard .top p{font-size:14px;color:var(--sub)}
.pcard .params{padding:6px 24px 20px;margin:0;list-style:none;flex:1}
.pcard .params li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.pcard .params li:last-child{border-bottom:0}
.pcard .params dt,.pcard .params .k2{color:var(--sub)}
.pcard .params .v{color:var(--ink);font-weight:600;text-align:right}
.pcard .foot{padding:0 24px 24px}

/* 表格 */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-m);background:var(--card);box-shadow:var(--sh)}
table.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
table.tbl th,table.tbl td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:top}
table.tbl th{background:var(--bg2);font-size:12.5px;color:var(--sub);font-weight:600;letter-spacing:.05em;white-space:nowrap}
table.tbl tr:last-child td{border-bottom:0}
table.tbl td:first-child{font-weight:600;white-space:nowrap}

/* 列表 */
.ticks{list-style:none;display:grid;gap:12px}
.ticks li{position:relative;padding-left:28px;font-size:14.5px;color:var(--sub);line-height:1.7}
.ticks li::before{
  content:"";position:absolute;left:0;top:7px;width:15px;height:15px;border-radius:50%;
  background:var(--tint);box-shadow:inset 0 0 0 1px #E7CFA2;
}
.ticks li::after{
  content:"";position:absolute;left:4px;top:11px;width:7px;height:3.6px;
  border-left:1.9px solid var(--gold-ink);border-bottom:1.9px solid var(--gold-ink);
  transform:rotate(-45deg);
}
.ticks li b{color:var(--ink);font-weight:600}

/* 时间线 */
.timeline{position:relative;padding-left:26px}
.timeline::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--line)}
.timeline .tl{position:relative;padding-bottom:26px}
.timeline .tl:last-child{padding-bottom:0}
.timeline .tl::before{
  content:"";position:absolute;left:-26px;top:6px;width:11px;height:11px;border-radius:50%;
  background:var(--bg);border:2px solid var(--gold);
}
.timeline .tl time{font-size:12.5px;letter-spacing:.08em;color:var(--gold-ink);font-weight:600}
.timeline .tl b{display:block;font-size:15.5px;margin:4px 0 4px;font-weight:600}
.timeline .tl p{font-size:14px;color:var(--sub)}

/* 表单 */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:32px;box-shadow:var(--sh)}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;color:var(--sub);margin-bottom:7px;font-weight:600;letter-spacing:.02em}
.field input,.field select,.field textarea{
  width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r-s);
  padding:12px 14px;height:48px;transition:border-color .2s,background .2s;
}
.field textarea{height:120px;resize:vertical;line-height:1.7;padding-top:12px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#fff}
.field .hint{font-size:12px;color:var(--sub);margin-top:6px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-note{font-size:12.5px;color:var(--sub);margin-top:14px;line-height:1.6}

/* 联系信息 */
.info{list-style:none;display:grid;gap:0}
.info li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.info li:first-child{padding-top:0}
.info .ic{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:var(--tint);display:flex;align-items:center;justify-content:center}
.info .ic svg{width:18px;height:18px}
.info .k2{font-size:12px;letter-spacing:.1em;color:var(--sub);text-transform:uppercase;font-weight:600}
.info .v2{font-size:15px;margin-top:3px}

/* 页脚 */
.site-footer{background:var(--bg2);border-top:1px solid var(--line);padding:56px 0 32px;margin-top:0}
.ft-grid{display:grid;grid-template-columns:1.5fr .95fr .9fr .9fr 1.15fr;gap:32px}
.ft-grid h4{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sub);margin-bottom:14px;font-weight:600}
.ft-grid ul{list-style:none;display:grid;gap:9px}
.ft-grid ul a,.ft-grid ul li{font-size:14px;color:var(--sub);text-decoration:none}
.ft-grid ul a:hover{color:var(--ink)}
.ft-brand p{font-size:13.5px;color:var(--sub);margin-top:14px;max-width:26em;line-height:1.7}
.ft-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--sub)}
.ft-bottom .links{display:flex;gap:18px;flex-wrap:wrap}
/* 页内编辑入口：正式站不对外显示，需要时地址栏加 ?edit=1 即可打开编辑器 */
.ft-bottom .links a[href="?edit=1"]{display:none}

/* ---------- 滚动揭示（带无 JS / 减弱动效兜底） ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
html.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .btn:hover,.card:hover{transform:none}
}

/* ---------- 编辑模式 ---------- */
.ed-bar{
  position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:90;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;
  background:var(--ink);color:#fff;border-radius:16px;padding:10px 12px;
  box-shadow:0 12px 40px rgba(22,32,58,.28);max-width:calc(100vw - 24px);
}
.ed-bar .st{font-size:12px;color:rgba(255,255,255,.6);letter-spacing:.04em;padding:0 6px}
.ed-bar button{
  border:0;border-radius:9px;padding:8px 13px;font-size:13px;font-weight:600;
  background:rgba(255,255,255,.12);color:#fff;transition:background .2s;
}
.ed-bar button:hover{background:rgba(255,255,255,.22)}
.ed-bar button.pri{background:var(--gold);color:var(--ink)}
.ed-bar button.pri:hover{background:#C87F18}
body.editing [data-e]{outline:1px dashed rgba(217,142,33,.55);outline-offset:3px;border-radius:3px;transition:outline-color .2s,background .2s}
body.editing [data-e]:hover{outline-color:var(--gold);background:rgba(251,240,220,.7)}
body.editing [data-e]:focus{outline:2px solid var(--gold);background:#fff}
.ed-tools{position:absolute;top:-1px;right:-1px;display:none;gap:4px;z-index:5}
body.editing [data-item]{position:relative;outline:1px dashed rgba(46,140,126,.4)}
body.editing [data-item]:hover{outline-color:var(--teal)}
body.editing [data-item]:hover>.ed-tools{display:flex}
.ed-tools button{
  border:0;background:var(--ink);color:#fff;font-size:11px;padding:3px 8px;border-radius:6px;line-height:1.5;
}
.ed-tools button.del{background:#9B2C2C}
.ed-add{
  display:none;margin-top:14px;border:1px dashed var(--line);background:transparent;color:var(--sub);
  border-radius:12px;padding:12px;font-size:13.5px;width:100%;transition:.2s;
}
body.editing .ed-add{display:block}
.ed-add:hover{border-color:var(--gold);color:var(--gold-ink);background:var(--tint)}

/* ---------- 响应式 ---------- */
@media (max-width:960px){
  .nav{display:none}
  .burger{display:flex}
  .hd-right .btn-p{display:none}
  .site-header.nav-open .nav{
    display:flex;position:absolute;left:0;right:0;top:72px;background:var(--bg);
    border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;
    gap:0;padding:10px 24px 22px;box-shadow:0 20px 40px rgba(22,32,58,.08);
  }
  .site-header.nav-open .nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
  .site-header.nav-open .nav a::after{display:none}
  .g4,.flow,.tiers{grid-template-columns:repeat(2,1fr)}
  .g3,.prod{grid-template-columns:1fr 1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
  .hero{padding:64px 0 60px}
  .hero .rings{width:560px;height:560px;right:-220px;top:-160px;opacity:.8}
  .sec{padding:60px 0}
  .sec-hd .more{display:none}
}
@media (max-width:640px){
  .wrap{padding:0 20px}
  .g2,.g3,.g4,.prod,.flow,.stats,.f2,.hero-nums,.kpi,.tiers,.tl2,.team2{grid-template-columns:1fr}
  .vs .roww{grid-template-columns:1fr;gap:8px}
  .tl2{gap:28px}
  .ft-grid{grid-template-columns:1fr;gap:28px}
  .hero h1{font-size:clamp(30px,8.4vw,40px)}
  /* 英文标题词更长，窄屏收一档以免叠成 5 行 */
  html[lang="en"] .hero h1{font-size:clamp(26px,7.4vw,37px)}
  .hd-in{gap:10px;height:64px}
  .logo.wm b{font-size:17px;letter-spacing:.1em}
  .logo.wm small{font-size:8.5px;letter-spacing:.22em}
  .lang button{padding:5px 9px;font-size:11.5px}
  .hero-nums{gap:26px}
  .hero-nums div b{font-size:22px}
  .card{padding:22px 20px}
  .form-card{padding:22px 18px}
  .band{padding:46px 0}
  .band .wrap{gap:22px}
  .ed-bar{bottom:10px;padding:8px}
  .ed-bar button{padding:7px 10px;font-size:12px}
}

/* ---------- 子页首屏 ---------- */
.phero{position:relative;overflow:hidden;padding:70px 0 54px;border-bottom:1px solid var(--line)}
.phero .ring3{position:absolute;right:-150px;top:-190px;width:520px;height:520px;opacity:.85;pointer-events:none}
.phero .wrap{position:relative;z-index:2}
.phero .tag{margin-bottom:16px}
.phero h1{font-size:clamp(27px,3.9vw,44px);letter-spacing:-.022em;max-width:22em;line-height:1.22}
.phero .lead{margin-top:18px;max-width:40em}

/* ---------- 竖向步骤 ---------- */
.steps-v{display:grid;gap:0;margin-top:8px}
.steps-v .sv{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:26px 0;border-top:1px solid var(--line)}
.steps-v .sv:last-child{border-bottom:1px solid var(--line)}
.steps-v .n{font-size:13px;font-weight:700;color:var(--gold);letter-spacing:.08em;padding-top:4px;font-variant-numeric:tabular-nums}
.steps-v h3{font-size:18px;margin-bottom:8px;font-weight:600}
.steps-v p{font-size:14.5px;color:var(--sub);line-height:1.78;max-width:44em}

/* ---------- 信息表 ---------- */
.kv{list-style:none;display:grid;gap:0;margin-top:6px}
.kv li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:13px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.kv li:last-child{border-bottom:0}
.kv .k2{color:var(--sub);font-size:13.5px}
.kv .v2{color:var(--ink);font-weight:500;justify-self:stretch;min-width:0}
/* 侧栏窄卡内改为上下排，避免长公司名撑破列宽 */
.aside .kv li{grid-template-columns:1fr;gap:1px;padding:11px 0}
.aside .kv .k2{font-size:12.5px;letter-spacing:.04em}
.aside .kv .v2{font-size:14.5px;line-height:1.5}

/* ---------- 侧栏卡 ---------- */
.aside{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-l);padding:26px}
.aside h3{font-size:16px;margin-bottom:14px}
.aside p{font-size:14px;color:var(--sub);line-height:1.75}

/* ---------- 双栏内容 ---------- */
.split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
.split.rev{grid-template-columns:.85fr 1.15fr}
@media (max-width:900px){.split,.split.rev{grid-template-columns:1fr;gap:32px}}


/* ============================================================
   新增组件：图片占位 / 在研标签 / 平台层次 / 团队 / 指标
   ============================================================ */

/* 图片占位框：后期把 SVG 换成 <img> 即可，尺寸规则沿用 */
.thumb{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:linear-gradient(155deg,#FDF8EE 0%,#F5EEE0 60%,#EFE6D4 100%);
  border-bottom:1px solid var(--line);
}
.thumb svg{width:100%;height:100%;display:block}
.thumb .cap{
  position:absolute;left:0;right:0;bottom:0;padding:6px 14px;
  font-size:10.5px;letter-spacing:.1em;color:#A08E6E;
  background:linear-gradient(0deg,rgba(243,239,230,.92),rgba(243,239,230,0));
  text-align:right;
}
.thumb.tall{aspect-ratio:4/3}
.thumb.wide{aspect-ratio:21/9}

/* 在研标签 */
.badge{
  display:inline-block;font-size:11px;font-weight:600;letter-spacing:.08em;
  padding:2px 9px;border-radius:20px;background:var(--teal-bg);
  color:#1F6B60;border:1px solid #CFE3DC;vertical-align:2px;white-space:nowrap;
}
.badge.gold{background:var(--tint);color:var(--gold-ink);border-color:#E7CFA2}

/* 平台层次图 */
.stack{display:grid;gap:10px;margin-top:4px}
.stack .ly{
  display:grid;grid-template-columns:56px 1fr;gap:22px;align-items:start;
  padding:24px 26px;border:1px solid var(--line);border-radius:16px;
  border-left:3px solid var(--gold);
}
.stack .ly:nth-child(1){background:#FDFBF6;border-left-color:#EDD9B4}
.stack .ly:nth-child(2){background:#FAF4E6;border-left-color:#E5C68C}
.stack .ly:nth-child(3){background:#F7EDD6;border-left-color:var(--gold)}
.stack .ly:nth-child(4){background:#F3E5C4;border-left-color:var(--gold-lg)}
.stack .ln{font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--gold-ink);letter-spacing:.06em;padding-top:5px}
.stack h3{font-size:17px;margin-bottom:6px;font-weight:600}
.stack p{font-size:14px;color:var(--sub);line-height:1.75;max-width:44em}

/* 团队 */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.member{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
  padding:30px 24px;text-align:center;box-shadow:var(--sh);
}
.member .ava{
  width:78px;height:78px;border-radius:50%;margin:0 auto 18px;
  background:var(--tint);display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 1px #EBD8B6;
}
.member .ava svg{width:30px;height:30px}
.member b{display:block;font-size:15.5px;font-weight:600}
.member .role{display:block;font-size:12px;letter-spacing:.1em;color:var(--gold-ink);font-weight:600;margin:5px 0 10px;text-transform:uppercase}
.member p{font-size:13.5px;color:var(--sub);line-height:1.7}

/* 指标卡 */
.metric{background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:22px}
.metric .mk{font-size:11px;letter-spacing:.14em;color:var(--sub);text-transform:uppercase;font-weight:600}
.metric .mv{display:block;font-size:26px;font-weight:700;letter-spacing:-.02em;margin:8px 0 6px;line-height:1.25}
.metric .mn{font-size:12.5px;color:var(--sub);line-height:1.6}

/* 底部预览提示 */
.preview-note{color:#A08E6E}

/* ============================================================
   新增组件（2026-11 内容对齐 BP）
   ============================================================ */

/* 数据条 */
.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}
.kpi > div{background:var(--card);padding:26px 24px}
.kpi b{display:block;font-size:clamp(22px,2.6vw,28px);font-weight:700;letter-spacing:-.025em;line-height:1.22}
.kpi b .u{font-size:.62em;font-weight:600;letter-spacing:0;color:var(--sub);margin-left:2px}
.kpi > div > span{display:block;font-size:13px;color:var(--sub);margin-top:8px;line-height:1.6}
.kpi b .u{display:inline}

/* 三层平台 */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:t}
.tier{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);
  border-radius:var(--r-m);padding:26px 24px 24px;box-shadow:var(--sh);position:relative;
  display:flex;flex-direction:column}
.tier .n{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--gold-ink);letter-spacing:.1em}
.tier h3{font-size:17px;margin:10px 0 8px;font-weight:600;letter-spacing:-.01em}
.tier p{font-size:13.8px;color:var(--sub);line-height:1.75;flex:1}
.tier .mini{display:inline-block;align-self:flex-start;margin-top:16px;font-size:12px;font-weight:600;color:var(--gold-ink);
  background:var(--tint);border-radius:20px;padding:3px 11px}

/* 对比表：突出最右「优势」列 */
table.tbl.cmp th:last-child{background:var(--tint);color:var(--gold-ink)}
table.tbl.cmp td:last-child{background:#FDFAF3;color:var(--ink);font-weight:500}
table.tbl.cmp td{font-size:13.8px}
table.tbl.cmp td .who{display:block;font-size:12px;color:var(--sub);font-weight:400;margin-top:3px}
table.tbl.cmp td:first-child{white-space:normal;min-width:96px}
table.tbl.cmp th:nth-child(3),table.tbl.cmp td:nth-child(3){color:var(--sub)}
table.tbl.cmp td:nth-child(2){color:var(--ink);font-weight:600}

/* 管线表 */
table.tbl.pipe td:first-child{white-space:nowrap;font-family:var(--mono);font-size:13.5px;color:var(--ink)}
table.tbl.pipe td{font-size:13.8px}
.badge.done{background:var(--teal-bg);color:#1F6B60;border-color:#CFE3DC}
.badge.wip{background:#FDF3E2;color:#8A5A0A;border-color:#EBD3A8}
.badge.plan{background:#F2F1EC;color:#6C6A61;border-color:#E2E0D8}

/* 流程对比：多步 vs 一步 */
.vs{display:grid;gap:16px}
.vs .roww{display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:start}
.vs .lbl{font-size:12.5px;font-weight:600;color:var(--sub);letter-spacing:.05em;padding-top:8px;line-height:1.5}
.vs .chain{display:flex;flex-wrap:wrap;gap:8px}
.vs .cell{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 12px;font-size:13px;line-height:1.5}
.vs .cell.hi{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}
.vs .cell.dead{background:#F4F1E8;border-style:dashed;border-color:#D8D1BE;color:#646A78}
.vs .cell.dead s{text-decoration:line-through;text-decoration-color:#A9A695;text-decoration-thickness:1.5px}
.vs .note-line{font-size:13px;color:var(--sub);margin-top:2px}

/* 双时间轴 */
.tl2{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.tl2 .col h4{font-size:13px;letter-spacing:.1em;color:var(--sub);font-weight:600;
  padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:20px}
.tl2 .col.now h4{color:var(--gold-ink)}
.timeline .tl.hot::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px var(--tint)}

/* 脚注 / 来源 */
.fn{font-size:12.3px;color:var(--sub);line-height:1.7;margin-top:16px}
.fn b{color:var(--ink);font-weight:600}
.mark{background:linear-gradient(180deg,transparent 60%,var(--tint2) 60%);padding:0 2px;font-weight:600;color:var(--ink)}
.lead-s{font-size:15px;color:var(--sub);line-height:1.8;max-width:46em}
/* 团队成员卡（左对齐版，适合 2×2 排布） */
.member.h{text-align:left;display:flex;flex-direction:column}
.member.h .hd{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.member.h .ava{width:54px;height:54px;margin:0;flex:none}
.member.h .ava svg{width:22px;height:22px}
.member.h b{font-size:15.5px;line-height:1.3}
.member.h .role{margin:3px 0 0;font-size:11.5px;letter-spacing:.08em}
.member.h p{font-size:13.5px;color:var(--sub);line-height:1.72}
.team2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}

/* ---------- 窄屏表格堆叠为卡片 ---------- */
@media (max-width:640px){
  .tbl-wrap{overflow:visible;border:0;background:transparent;box-shadow:none}
  table.tbl{min-width:0;font-size:14px}
  table.tbl thead{display:none}
  table.tbl,table.tbl tbody,table.tbl tr,table.tbl td{display:block;width:auto}
  table.tbl tr{
    background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);
    padding:16px 18px;margin-bottom:12px;box-shadow:var(--sh);
  }
  table.tbl tr:last-child{margin-bottom:0}
  table.tbl td{border:0;padding:5px 0;display:grid;grid-template-columns:92px 1fr;gap:12px;
    font-size:13.5px;line-height:1.65;justify-items:start;align-items:center}
  table.tbl td::before{
    content:attr(data-label);font-size:12px;color:var(--sub);font-weight:600;letter-spacing:.02em;
  }
  table.tbl td:first-child{
    display:block;font-size:15px;font-weight:700;color:var(--ink);
    padding:0 0 10px;margin-bottom:6px;border-bottom:1px dashed var(--line);white-space:normal;
  }
  table.tbl td:first-child::before{content:none}
  table.tbl.pipe td:first-child{font-family:var(--mono);font-size:14.5px}
  table.tbl.cmp td:nth-child(2){font-weight:600}
  table.tbl.cmp td:last-child{background:transparent;border-left:2px solid var(--gold);padding-left:10px}
}

/* ============================================================
   收尾：新组件的窄屏覆盖（必须放在文件末尾，
   否则会被前面同优先级的定义反超）
   ============================================================ */
@media (max-width:960px){
  .tiers{grid-template-columns:repeat(2,1fr)}
  .tl2{grid-template-columns:1fr;gap:30px}
  .kpi{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .kpi,.tiers,.team2,.tl2{grid-template-columns:1fr}
  .kpi > div{padding:20px 20px}
  .kpi b{font-size:24px}
  .tier{padding:22px 20px}
  .vs .roww{grid-template-columns:1fr;gap:6px}
  .vs .lbl{padding-top:0;font-size:12px}
  .vs .cell{font-size:12.5px;padding:6px 10px}
}

/* ============================================================
   导航二级菜单 / 卡片出口链接
   ============================================================ */

.nav-dd{position:relative}
.nav-dd > a{display:inline-flex;align-items:center}
.caret{
  display:inline-block;width:5px;height:5px;margin-left:7px;vertical-align:2px;
  border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;
  transform:rotate(45deg);transition:transform .18s ease;
}
.nav-dd:hover .caret,.nav-dd:focus-within .caret{transform:rotate(225deg);vertical-align:-2px}

.dd-menu{
  position:absolute;top:calc(100% + 6px);left:-14px;min-width:172px;z-index:60;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;
  box-shadow:0 12px 34px rgba(22,32,58,.10);
  display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.nav-dd:hover .dd-menu,.nav-dd:focus-within .dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu a{
  padding:9px 12px !important;font-size:13.8px;line-height:1.4;border-radius:8px;
  color:var(--sub) !important;transition:background .14s,color .14s;
}
.dd-menu a::after{display:none}
.dd-menu a:hover,.dd-menu a:focus-visible{background:var(--bg2);color:var(--ink) !important}

/* 卡片出口链接 */
.go{
  display:inline-flex;align-items:center;font-size:13.5px;font-weight:600;line-height:1.4;
  color:var(--gold-ink);text-decoration:none;margin-top:14px;
}
.go::after{
  content:"";flex:none;width:6px;height:6px;margin-left:7px;
  border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;
  transform:rotate(45deg);transition:transform .16s ease;
}
.go:hover{color:var(--ink)}
.go:hover::after{transform:rotate(45deg) translate(2px,-2px)}
.sec-hd .go{margin-top:0}

@media (max-width:960px){
  .dd-menu{
    position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;background:transparent;padding:0 0 4px 16px;min-width:0;
  }
  /* 抽屉里子项不再继承主导航的分隔线，否则出现长短不一的短横 */
  .site-header.nav-open .dd-menu a{
    padding:9px 0 !important;font-size:14px;border-bottom:0;
  }
  /* 父项改为块级，分隔线才能与其它主导航等宽 */
  .nav-dd{width:100%}
  .nav-dd > a{display:flex;width:100%}
  .nav-dd > a .caret{display:none}
}

/* ============================================================
   首页 · 平台与产品双卡（大色块出口，参考 Core-Subsidiaries 版式）
   深色卡片只用于「导航块」：标题/正文均为浅色，对比度 ≥ 5:1
   ============================================================ */

.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.duo-c{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;min-height:382px;
  padding:34px 34px 30px;border-radius:var(--r-l);
  color:#FAF8F3;
  box-shadow:0 10px 30px rgba(22,32,58,.10);
  transition:transform .3s ease,box-shadow .3s ease;
}
.duo-c:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(22,32,58,.20)}
.duo-c > *{position:relative;z-index:2}
.duo-c.navy{background:linear-gradient(152deg,#1D2A48 0%,#16203A 56%,#101A31 100%)}
.duo-c.amber{background:linear-gradient(152deg,#6B4409 0%,#5A3A0C 58%,#48300A 100%)}

.duo-art{
  position:absolute;right:-28px;bottom:-38px;width:330px;height:330px;
  z-index:1;pointer-events:none;max-width:none;
}
.duo-c h3{
  font-size:clamp(21px,2.05vw,25.5px);line-height:1.38;letter-spacing:-.02em;
  color:#FFFDF7;font-weight:700;max-width:16em;
}
.duo-br{
  display:flex;align-items:center;gap:9px;margin-top:24px;
  font-size:12px;letter-spacing:.2em;font-weight:700;
  color:rgba(255,253,247,.70);
}
.duo-br b{font-weight:700;letter-spacing:.2em}
.duo-mk{display:inline-flex;width:21px;height:21px;color:var(--gold)}
.duo-c.amber .duo-mk{color:#F0C173}
.duo-mk svg{width:21px;height:21px}
.duo-c p{
  margin-top:14px;font-size:14.5px;line-height:1.8;
  color:rgba(250,248,243,.84);max-width:34em;
}
.duo-btn{
  margin-top:auto;padding-top:26px;display:inline-flex;align-items:center;gap:9px;
  align-self:flex-start;
}
.duo-btn span{
  display:inline-flex;align-items:center;
  background:#FAF8F3;color:#16203A;
  padding:11px 24px;border-radius:var(--btn-r);
  font-size:14px;font-weight:600;line-height:1.4;
  transition:background .2s ease,transform .2s ease;
}
.duo-btn .ar{
  width:15px;height:15px;color:#FAF8F3;opacity:.72;
  transition:opacity .2s ease,transform .2s ease;
}
.duo-btn:hover{text-decoration:none}
.duo-btn:hover span{background:#fff;transform:translateX(2px)}
.duo-btn:hover .ar{opacity:1;transform:translateX(3px)}

@media (max-width:960px){
  .duo{grid-template-columns:1fr;gap:16px}
  .duo-c{min-height:0;padding:30px 26px 26px}
  .duo-art{width:262px;height:262px;right:-52px;bottom:-62px}
  .duo-c h3{max-width:none}
}
@media (max-width:640px){
  .duo-c{padding:26px 22px 24px}
  .duo-c h3{font-size:20px}
  .duo-c p{font-size:14px}
  .duo-br{margin-top:20px;font-size:11px;letter-spacing:.16em}
  .duo-btn span{padding:10px 20px;font-size:13.5px}
  .duo-art{width:220px;height:220px;right:-58px;bottom:-58px;opacity:.9}
}

/* 英文标签更长，流程方块收紧一点，避免第 7 格掉行 */
html[lang="en"] .vs .cell{font-size:12.5px;padding:6px 9px}
html[lang="en"] .vs .lbl{font-size:12px}

/* ============================================================
   技术平台页 · 重构（2026-11-06）
   01 三段闭环图 + 回流带 + 优势面板
   02 六项能力卡
   03 药物模式轮盘 + 拓展梯队
   ============================================================ */

/* ---------- 01 闭环 ---------- */
.flowx{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:36px;align-items:start}

.flow-bl{display:grid;gap:10px;margin-top:12px}
.flow-bl p{margin-top:0;max-width:54em;text-wrap:pretty}

.fw{display:grid;grid-template-columns:1fr 66px 1fr 66px 1fr;align-items:start}

.node{text-align:center}
.node-c{
  width:168px;height:168px;margin:0 auto;border-radius:50%;
  background:linear-gradient(160deg,#F4F0E6 0%,#EFEADC 100%);
  border:1px solid #E9E3D4;
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s ease,box-shadow .3s ease;
}
.node:hover .node-c{transform:translateY(-3px);box-shadow:0 14px 30px rgba(22,32,58,.10)}
.node-c svg{width:130px;height:130px;display:block}
.node h3{font-size:16px;font-weight:700;line-height:1.45;margin-top:20px;letter-spacing:-.005em}
.node-cap{font-size:12.5px;color:var(--gold-ink);font-weight:600;margin-top:8px;line-height:1.5}

.arrp{height:168px;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:0 3px}
.arrp b{font-size:11.5px;color:var(--sub);font-weight:500;text-align:center;white-space:nowrap}
.arrp i{position:relative;display:block;height:1px;background:#CBC4B0}
.arrp i::after{
  content:"";position:absolute;right:-1px;top:-3.5px;width:0;height:0;
  border-left:7px solid #CBC4B0;border-top:4px solid transparent;border-bottom:4px solid transparent;
}

.loop{position:relative;margin:30px 14.2% 0;height:62px;border:1.5px solid #CBC4B0;border-top:0;border-radius:0 0 18px 18px}
.loop::before{
  content:"";position:absolute;left:-6px;top:-9px;width:0;height:0;
  border-left:5.5px solid transparent;border-right:5.5px solid transparent;border-bottom:8px solid #CBC4B0;
}
.loop-t{
  position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);
  background:var(--bg);padding:7px 18px;border-radius:999px;
  font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;letter-spacing:.01em;
}
.loop-t em{font-style:normal;color:var(--gold-ink)}

.advp{align-self:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:22px 22px 10px;box-shadow:var(--sh)}
.advp-t{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;padding-bottom:14px;border-bottom:1px solid var(--line)}
.advp-t::before{content:"";width:3px;height:15px;background:var(--gold);border-radius:2px}
.advp ul{list-style:none;margin:0}
.advp li{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:baseline;padding:14px 0;border-bottom:1px dashed var(--line);font-size:13.5px;line-height:1.62}
.advp li:last-child{border-bottom:0}
.advp li b{color:var(--gold-ink);font-weight:700;letter-spacing:.04em}
.advp li span{color:var(--sub)}

html[lang="en"] .node h3{min-height:2.9em}
html[lang="en"] .arrp b{font-size:10.5px;white-space:normal;line-height:1.32}

/* ---------- 02 六项能力 ---------- */
.adv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.adv-c{
  background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px 26px 26px;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.adv-c:hover{transform:translateY(-3px);box-shadow:var(--sh-l);border-color:#D8CEB4}
.adv-c .ic{
  width:54px;height:54px;border-radius:50%;background:var(--tint);color:var(--gold-ink);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.adv-c .ic svg{width:25px;height:25px;display:block}
.adv-c h3{font-size:16.5px;font-weight:700;line-height:1.45;margin-bottom:10px;letter-spacing:-.005em}
.adv-c p{font-size:14px;color:var(--sub);line-height:1.74}

/* ---------- 03 生态位（按 BP 生态位战略图重绘） ---------- */
.eco-wrap{position:relative;margin-top:6px}
.eco{position:relative;width:100%;aspect-ratio:1040/620;container-type:inline-size}
.scope-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:0 44px;margin-top:38px}
.scope-foot .routes{display:contents}
.eco-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.eco-labels{position:absolute;inset:0}

.em{
  position:absolute;transform:translate(-50%,-50%);text-align:center;
  width:5.4em;font-size:1.41cqw;font-weight:600;color:var(--ink);line-height:1.28;
}
.em.ctr{font-size:1.64cqw;font-weight:700;line-height:1.3;width:5.4em}
.em.mute{color:#6A6F7E;font-weight:500}

.ecl{
  position:absolute;transform:translate(-50%,-50%);
  display:inline-flex;align-items:center;gap:.4em;white-space:nowrap;
  padding:.4em .8em;border-radius:999px;
  font-size:1.27cqw;font-weight:600;line-height:1.25;
  background:var(--card);border:1px solid #DCD4C2;color:var(--ink);
}
.ecl.p1{background:#F7DFB2;border-color:#DFB671;color:#6B4406;font-weight:700}
.ecl.p2{background:#EBEFF6;border-color:#C2CBDC;color:#22304C}
.ecl.p3{background:#F4F1E8;border-color:#DCD4C2;color:#39415A}
.ecl.p0{background:transparent;border:1px dashed #D3CCBC;color:#6A6F7E;font-weight:500}
.ecl.mute{background:transparent;border:1px dashed #D3CCBC;color:#6A6F7E;font-weight:500}

.ecl-note{
  position:absolute;transform:translate(-50%,-50%);white-space:nowrap;
  font-size:1.1cqw;color:#6A6F7E;font-weight:500;letter-spacing:.01em;
}

.eb{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:1.35em;height:1.35em;border-radius:50%;font-style:normal;
  font-size:.88em;font-weight:700;font-variant-numeric:tabular-nums;
  background:var(--ink);color:#FAF8F3;
}
.ecl.p1 .eb{background:#7A4E06;color:#FFF6E4}
.ecl.p2 .eb{background:#2A3A58;color:#F2F5FA}
.ecl.p3 .eb{background:#E9E2D0;color:#2C3448}

.eco-lg{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:4px;font-size:12px;color:var(--sub);line-height:1.6}
.eco-lg .lg{display:inline-flex;align-items:center;gap:6px}
.eco-lg i{width:9px;height:9px;border-radius:2.5px;flex:none;box-shadow:inset 0 0 0 1px rgba(22,32,58,.12)}
.eco-lg .lg1{background:#F7DFB2}
.eco-lg .lg2{background:#EBEFF6}
.eco-lg .lg3{background:#EDE7D8}
.eco-lg .lgm{background:transparent;border:1px dashed #D3CCBC;box-shadow:none}

.routes{display:grid;gap:0}
.route{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:16px 0 0;border-top:1px solid var(--line)}
.route:last-of-type{border-bottom:1px solid var(--line)}
.route .n{font-size:17px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;padding-top:1px}
.route h3{font-size:14.8px;font-weight:700;margin-bottom:6px;line-height:1.45}
.route p{font-size:13.2px;color:var(--sub);line-height:1.72}
.chip{
  display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;letter-spacing:.02em;
  padding:3px 10px;border-radius:999px;background:var(--tint);color:var(--gold-ink);border:1px solid #EBD3A8;
}
.scope-foot .scope-note{grid-column:1/-1;font-size:12.3px;color:var(--sub);line-height:1.72;margin-top:18px}

/* ---------- 04 承接条 ---------- */
.nexts{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
  padding:32px 36px;box-shadow:var(--sh);
}
.nexts .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.nexts h2{font-size:clamp(20px,2.3vw,24px);margin-top:10px;letter-spacing:-.02em}
.nexts p{font-size:14px;color:var(--sub);line-height:1.72;margin-top:10px;max-width:44em}

@media (max-width:1024px){
  .flowx{grid-template-columns:1fr;gap:30px}
  .advp{max-width:none;align-self:auto;padding-bottom:16px}
  .advp ul{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 26px}
  .advp li{grid-template-columns:1fr;gap:5px;border-bottom:0;padding:12px 0 4px}
  .adv-g{grid-template-columns:repeat(2,1fr)}
  .scope-foot{gap:0 28px}
  .scope-foot .scope-note{margin-top:16px}
  .nexts{grid-template-columns:1fr;gap:22px;padding:28px 26px}
  .nexts .btn{justify-self:start}
}
@media (max-width:760px){
  .fw{grid-template-columns:1fr}
  .node{padding:4px 0}
  .arrp{height:auto;padding:12px 0}
  .arrp i{display:none}
  .arrp b::after{content:" ↓"}
  .loop{border:0;height:auto;margin:20px 0;text-align:center}
  .loop::before{display:none}
  .loop-t{position:static;transform:none;display:inline-block;background:var(--tint);border:1px solid #EBD3A8;padding:8px 16px}
  .adv-g{grid-template-columns:1fr}
  .advp ul{grid-template-columns:repeat(2,1fr)}
  .advp li{padding:12px 0 4px}
  .adv-c{padding:24px 22px}
  .adv-c .ic{width:48px;height:48px;margin-bottom:14px}
  .eco{display:none}
  .eco-lg{display:none}
  .scope-foot{grid-template-columns:1fr}
  .route{grid-template-columns:34px 1fr;gap:12px;padding:14px 0 0}
  .route .n{font-size:16px}
}

/* ============================================================
   产品与方案页 · 三种方案（产品 / 开发服务 / 衣壳改造）
   ============================================================ */
#resin,#service,#capsid,#dtn001,#main{scroll-margin-top:94px}

/* 首屏三张概览卡 */
.offer{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px}
.ofc{
  display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);
  padding:22px 22px 20px;box-shadow:var(--sh);color:inherit;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.ofc:hover{text-decoration:none;border-color:#D8CEB4;transform:translateY(-2px);box-shadow:var(--sh-l)}
.ofc .n{font-size:11.5px;letter-spacing:.16em;color:var(--gold-ink);font-weight:700;font-variant-numeric:tabular-nums}
.ofc h3{font-size:16.5px;margin:11px 0 9px;font-weight:600;line-height:1.5;letter-spacing:-.01em}
.ofc p{font-size:13.6px;color:var(--sub);line-height:1.72;flex:1}
.ofc .m{
  margin-top:16px;display:inline-flex;align-items:center;gap:7px;
  font-size:12.8px;font-weight:600;color:var(--gold-ink);
}
.ofc .m svg{width:13px;height:13px;flex:none;transition:transform .25s}
.ofc:hover .m svg{transform:translateX(3px)}

/* 章节内分块小标题 */
.blkx{margin-top:46px;margin-bottom:20px}
.blkx>h3{
  display:flex;align-items:center;gap:12px;
  font-size:clamp(18px,1.7vw,21px);font-weight:700;letter-spacing:-.01em;
}
.blkx>h3::before{content:"";width:24px;height:2px;background:var(--gold);border-radius:2px;flex:none}
.blkx>h3+p{margin-top:10px;font-size:14.8px;color:var(--sub);line-height:1.78;max-width:50em}
.blkx>h3+p+*{margin-top:16px}
.sh{font-size:16px;font-weight:700;margin-bottom:16px}

@media (max-width:900px){
  .offer{grid-template-columns:1fr;gap:12px;margin-top:32px}
  .ofc{padding:20px 20px 18px}
  .blkx{margin-top:38px}
}

/* ---------- 产品页：紧凑节奏（文案精简后收紧留白） ---------- */
#resin,#service,#capsid{padding:62px 0}
#resin .sec-hd,#service .sec-hd,#capsid .sec-hd{margin-bottom:28px}
.blkx{margin-top:40px;margin-bottom:18px}
.blkx>h3{font-size:17.5px;gap:10px}
.blkx>h3::before{width:18px}
.note-page{margin-top:14px}
#capsid .nexts{margin-top:36px}

/* 服务信息条（全宽分格） */
.facts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sh);
}
.facts>div{background:var(--card);padding:20px 20px 18px}
.facts span{display:block;font-size:12px;color:var(--sub);letter-spacing:.04em}
.facts b{display:block;margin-top:7px;font-size:14px;font-weight:600;line-height:1.55;color:var(--ink)}
@media (max-width:1024px){.facts{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  .facts{grid-template-columns:1fr}
  .facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 18px}
  .facts b{margin-top:0;text-align:right;max-width:78%}
}

/* 首屏收紧（仅产品页） */
.phero.tight{padding:56px 0 42px}
.phero.tight .offer{margin-top:32px}
html[lang="en"] .vs .roww{grid-template-columns:108px 1fr}

/* ============================================================
   产品页：流程示意图 / 双格指标 / 图片占位
   ============================================================ */
/* 全景示意图：白底卡片包一层，中英双版随 <html lang> 切换，无需 JS */
.figw{
  margin-top:26px;padding:20px 22px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-m);
}
.figw img{display:block;width:100%;height:auto}
.figw .en-only{display:none}
html[lang="en"] .figw .zh-only{display:none}
html[lang="en"] .figw .en-only{display:block}

/* 两格指标条（原三格删掉「15 批 → 6 批」后剩两格，避免留空格露出分隔线底色） */
.kpi.two{grid-template-columns:repeat(2,1fr)}

/* 待补图占位（注意：.ph 已被「待补充」内联标签占用，故用 .phbox） */
.phbox{
  margin-top:30px;aspect-ratio:10/3;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  border:1px dashed #D9CFB6;border-radius:var(--r-m);
  background:linear-gradient(155deg,#FDF9F0 0%,#F6EFE2 100%);
  color:#B39B72;text-align:center;padding:22px;
}
.phbox svg{width:26px;height:26px;color:#C4AE85}
.phbox b{font-size:13px;font-weight:600;color:#8B7A5A;letter-spacing:.03em}
.phbox span{font-size:12.3px;color:#A89372;letter-spacing:.02em}
#service .phbox{background:linear-gradient(155deg,#FFFDF8 0%,#F7F1E6 100%)}
.phbox + .fn{margin-top:22px}

@media (max-width:640px){
  .kpi.two{grid-template-columns:1fr}
  .figw{margin-top:18px}
  .phbox{aspect-ratio:4/3;margin-top:24px}
}

/* 全景示意图窄屏：横向滑动，保住图内文字可读（压到 335px 时字号会掉到 4px） */
.figw-hint{display:none}
@media (max-width:760px){
  .figw{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:12px}
  .figw img{min-width:720px;max-width:none}
  .figw-hint{display:block;margin-top:9px;font-size:12.2px;color:#A89372}
}

/* ============================================================
   产品页「4 步合 1」流程图（2026-11-09）
   设备图形为内联 SVG，标签是网页文字——改字不动图、可搜索、可翻译
   七列网格：3–6 列为 DTN001 一步替代的四步，由 .fx-box 圈出
   ============================================================ */
.fxd{margin-top:26px}
.fxd .fxfig{
  margin:0;border:1px solid var(--line);border-radius:var(--r-m);
  background:var(--card);overflow:hidden;
}
.fxd .fx{position:relative;container-type:inline-size;padding:5.4% 1.2% 2.4%}
.fxd .fx svg{display:block;overflow:visible}

/* 右上角说明与 DTN001 芯片 */
.fxd .fx-note{
  position:absolute;top:0;margin-top:1.7%;right:11.4%;width:32%;text-align:right;
  font-family:var(--mono);font-size:clamp(11px,1.32cqw,14px);line-height:1.62;color:var(--sub);
}
.fxd .fx-chip{
  position:absolute;top:0;margin-top:1.1%;right:.9%;width:8.4%;
  padding:1cqw .8cqw 1.1cqw;border:1.5px dashed var(--gold-lg);border-radius:2px;background:#fff;
}
.fxd .fx-chip-t{
  display:block;margin-bottom:1.1em;text-align:center;white-space:nowrap;
  font-family:var(--mono);font-size:clamp(10px,.92cqw,12px);font-weight:600;
  letter-spacing:.05em;color:var(--gold-lg);
}
.fxd .fx-link{position:absolute;top:0;margin-top:9.6%;right:9.6%;width:5.6%}

/* 七步网格 */
.fxd .fx-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:2%}
.fxd .fx-box{
  grid-column:3/7;grid-row:1/4;border:1.5px solid var(--gold-lg);border-radius:3px;
  margin:10.2% -1.9% -1.8% -1.75%;pointer-events:none;
}
.fxd .fx-step{grid-row:1/4;display:grid;grid-template-rows:auto auto auto;align-content:start}
@supports (grid-template-rows:subgrid){.fxd .fx-step{grid-template-rows:subgrid}}
.fxd .fx-s1{grid-column:1}
.fxd .fx-s2{grid-column:2}
.fxd .fx-s3{grid-column:3}
.fxd .fx-s4{grid-column:4}
.fxd .fx-s5{grid-column:5}
.fxd .fx-s6{grid-column:6}
.fxd .fx-s7{grid-column:7}
.fxd .fx-art{position:relative;aspect-ratio:180/420}
.fxd .fx-art>svg{width:100%;height:auto}
.fxd .fx-art>.fx-arw{
  position:absolute;left:-16.8%;top:49.5%;width:16.8%;height:auto;
  transform:translateY(-50%);
}
.fxd .fx-bar{
  margin-top:1.6%;padding:.95em .45em;background:var(--ink);color:#fff;text-align:center;
  font-size:clamp(11px,1.1cqw,13.5px);font-weight:500;letter-spacing:.02em;line-height:1.42;
}
.fxd .fx-det{
  margin-top:1%;padding:1.1em .55em;background:#FAF2E2;color:var(--sub);text-align:center;
  font-size:clamp(10.5px,1cqw,12.5px);line-height:1.68;
}

/* 窄屏：保住图内可读性，横向滑动 */
@media (max-width:760px){
  .fxd{margin-top:18px}
  .fxd .fxfig{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
  .fxd .fx{min-width:720px}
}

/* ============================================================
   管线进度条（2026-11-07）
   四阶段：概念 › 可行性 › 开发 › 上市，data-st 标当前阶段
   ============================================================ */
.pg{display:block;min-width:186px;max-width:230px}
.pg-t{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.pg-t i{
  height:7px;border-radius:2px;background:#EFEAE0;
  box-shadow:inset 0 0 0 1px #E3DCCB;
}
/* 阶段轴：与四段条一一对齐 */
.pg-l{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:7px}
.pg-l em{
  font-style:normal;font-size:10.5px;line-height:1.2;text-align:center;
  color:#AEA491;letter-spacing:0;white-space:nowrap;
}
.pg[data-st="1"] .pg-t i:nth-child(1),
.pg[data-st="2"] .pg-t i:nth-child(-n+2),
.pg[data-st="3"] .pg-t i:nth-child(-n+3),
.pg[data-st="4"] .pg-t i:nth-child(-n+4){
  background:linear-gradient(180deg,#E6B360,#D98E21);
  box-shadow:inset 0 0 0 1px #CE8D24;
}
.pg[data-st="1"] .pg-l em:nth-child(1),
.pg[data-st="2"] .pg-l em:nth-child(2),
.pg[data-st="3"] .pg-l em:nth-child(3),
.pg[data-st="4"] .pg-l em:nth-child(4){
  color:var(--gold-ink);font-weight:700;
}
table.tbl.pipe td[data-label="开发进度"]{white-space:nowrap}
/* 英文阶段名更长：收紧字号并放宽带宽 */
html[lang="en"] .pg{max-width:300px}
html[lang="en"] .pg-l em{font-size:9px}
@media (max-width:640px){
  .pg{min-width:0;width:100%}
  table.tbl.pipe td[data-label="开发进度"]{grid-template-columns:92px 1fr;white-space:normal}
  .pg-l em{font-size:10px}
}

/* 首屏：双按钮位置改为一句话小标题，承接下方三项数据 */
.hero .kpi-hd{
  margin-top:34px;font-size:13.5px;font-weight:600;letter-spacing:.06em;
  color:var(--sub);
}
.hero .kpi-hd + .kpi{margin-top:14px}

/* 产品页 DTN001：图位与右侧信息卡等高（.even 用在 .split 上） */
.split.even{align-items:stretch}
.split.even .thumb{aspect-ratio:auto;height:100%;display:flex;flex-direction:column}
.split.even .thumb svg{flex:1 1 auto;min-height:0;height:100%}
@media (max-width:900px){
  .split.even .thumb{height:auto;aspect-ratio:16/10}
}

/* 投资段只保留两格信息时，避免右半空出底色 */
.facts.two{grid-template-columns:1fr 1fr}

/* ============================================================
   联系我们页：表单投递（2026-11-07）
   提交后由后端直接发信，不再唤起本地邮件客户端
   ============================================================ */
.fh{font-size:20px;margin-bottom:6px}
.form-card > .small{margin-bottom:22px}
.fh2{font-size:clamp(20px,2.4vw,26px);margin:12px 0 22px}

/* 蜜罐字段：只对机器人可见 */
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}

.field.is-bad input,.field.is-bad textarea,.field.is-bad select{border-color:#C0533F;background:#FDF6F3}
.field.is-bad label{color:#A4442F}

.form-status{font-size:13.5px;line-height:1.65;margin:14px 0 0;min-height:1.2em}
.form-status.ok{color:#1F6B60;font-weight:600}
.form-status.bad{color:#A4442F;font-weight:600}
.form-status.send{color:var(--sub)}
.btn[disabled]{opacity:.6;cursor:default;pointer-events:none}

/* ============================================================
   2026-11-07 第三轮
   ============================================================ */
/* 产品页首屏双行标题（第二行固定英文短语） */
.phero h1 .h1sub{
  display:block;margin-top:12px;
  font-size:clamp(15px,1.6vw,19px);font-weight:400;letter-spacing:.01em;
  color:var(--gold-lg);line-height:1.4;
}

/* 关于页 02 目标：四条难点两列排布，全景示意图另占整行 */
.ticks.grid2{grid-template-columns:1fr 1fr;gap:14px 40px}
@media (max-width:900px){
  .ticks.grid2{grid-template-columns:1fr;gap:12px}
}
