@charset "UTF-8";
.language-suggestion{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:12px 20px;background:#edf2fc;color:#131a22;font-size:14px}
.language-suggestion[hidden]{display:none}
.language-suggestion a{color:#15429e;font-weight:600;text-decoration:underline}
.language-suggestion button{font:inherit;border:1px solid #c9d3df;background:#fff;padding:6px 12px;cursor:pointer}
/* ==========================================================================
   ideatodevice.com — Idea to Device
   设计语言：显示面板 / 台式仪器。
   浅底、深灰字、单一克制蓝；深色只用于能力展示带。
   结构即信息：细线、规格行、网格承担组织作用，不用装饰纹理与光效。

   全站字号、行高、间距、圆角一律走本文件顶部的语义变量。
   需要调整视觉密度时改变量，不要在组件里写具体像素值。
   ========================================================================== */

:root{
  /* ---- 颜色 ---- */
  --canvas:#F5F7FA;
  --surface:#FFFFFF;
  --ink:#131A22;
  --ink-2:#4B5867;
  --ink-3:#627084;          /* 辅助文字：白底 5.0:1、画布 4.6:1，满足正文对比度 */
  --line:#E2E8EF;
  --line-2:#C9D3DF;
  --blue:#1D5BD6;
  --blue-dark:#15429E;
  --blue-wash:#EDF2FC;
  --dark:#0F1620;
  --dark-2:#18212D;
  --dark-line:#2B3646;
  --on-dark:#E9EEF4;
  --on-dark-2:#96A6BA;
  --on-dark-link:#7FA8F5;

  /* ---- 字体 ---- */
  --font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --fw-normal:400;
  --fw-semi:600;
  --fw-bold:700;

  /* ---- 字号层级（语义） ---- */
  --fs-h1:clamp(32px,4.4vw,50px);        /* 首页主标题 */
  --fs-h1-page:clamp(30px,3.4vw,42px);   /* 内页与文章标题 */
  --fs-h2:clamp(26px,2.7vw,32px);        /* 区块标题 */
  --fs-h2-sub:24px;                      /* 文章正文二级标题 */
  --fs-h3:clamp(20px,1.5vw,22px);        /* 卡片标题 */
  --fs-lead:clamp(17px,1.3vw,18px);      /* 首屏说明 / 卡片内小标题 */
  --fs-body:16px;                        /* 正文 */
  --fs-ui:15px;                          /* 导航、按钮、表格正文、列表正文 */
  --fs-dense:14px;                       /* 卡片与表格密集正文 */
  --fs-note:13px;                        /* 辅助文字、标签、图片说明、元信息 */
  --fs-brand:19px;                       /* 页眉品牌名 */
  --fs-brand-sub:12px;                   /* 页眉品牌说明 */

  /* ---- 行高与字距：中英文各一套 ---- */
  --lh-h1:1.3;
  --lh-head:1.35;
  --lh-h3:1.4;
  --lh-body:1.75;
  --lh-dense:1.65;
  --track-h1:0;

  /* ---- 宽度、间距、尺寸 ---- */
  --wrap:1180px;
  --gut:24px;
  --sect:84px;
  --measure:35em;                        /* 阅读行宽，约 70 余个西文字符 */
  --qr:clamp(180px,18vw,220px);          /* 二维码显示宽度：有上下限，容器更小时由 max-width 继续收缩 */
  --r:3px;
  --h-cta:50px;
  --h-ctl:44px;
  --gap-1:4px;
  --gap-2:8px;
  --gap-3:12px;
  --gap-4:16px;
  --gap-5:24px;
  --gap-6:32px;
  --gap-7:48px;
  --gap-8:64px;
}

/* 英文用更紧的行高与轻微负字距；中文保持正常字距。 */
html[lang="en"]{
  --lh-h1:1.2;
  --lh-body:1.6;
  --track-h1:-.012em;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:var(--font);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  font-weight:var(--fw-normal);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.dark :focus-visible{outline-color:var(--on-dark-link)}

.wrap{width:min(var(--wrap),calc(100% - var(--gut) * 2));margin-inline:auto}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 20px;z-index:99;font-size:var(--fs-dense)}
.skip:focus{left:8px;top:8px}

/* ---------- 文字基元 ---------- */
h1,h2,h3,h4{margin:0;font-weight:var(--fw-semi);line-height:var(--lh-head);letter-spacing:0}
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--track-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
p{margin:0;color:var(--ink-2)}
.lead{font-size:var(--fs-lead)}
.kicker{font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--blue);margin:0 0 14px}
.dark .kicker{color:var(--on-dark-link)}
.muted{color:var(--ink-3);font-size:var(--fs-note)}
.num{font-variant-numeric:tabular-nums}

/* ---------- 按钮与链接 ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--h-cta);padding:0 26px;border-radius:var(--r);
  background:var(--blue);color:#fff;border:1px solid var(--blue);
  font-size:var(--fs-ui);font-weight:var(--fw-semi);line-height:1;cursor:pointer;
  transition:background .14s ease,border-color .14s ease;
}
.btn:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:#fff;border-color:var(--ink-3)}
.dark .btn-ghost{color:var(--on-dark);border-color:var(--dark-line)}
.dark .btn-ghost:hover{background:var(--dark-2);border-color:var(--on-dark-2)}
.btn-on-dark{background:#fff;color:var(--ink);border-color:#fff}
.btn-on-dark:hover{background:#E4EAF2;border-color:#E4EAF2}

.link{
  display:inline-flex;align-items:center;min-height:var(--h-ctl);
  font-size:var(--fs-ui);font-weight:var(--fw-semi);color:var(--blue);
  border-bottom:1px solid rgba(29,91,214,.28);
  transition:border-color .14s ease;
}
.link:hover{border-bottom-color:var(--blue)}
.dark .link{color:var(--on-dark-link);border-bottom-color:rgba(127,168,245,.35)}
.dark .link:hover{border-bottom-color:var(--on-dark-link)}

/* ---------- 页头 ---------- */
.head{
  position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--line);
}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-6);min-height:74px}
.brand{display:flex;align-items:baseline;gap:var(--gap-3);flex:none}
.brand b{font-size:var(--fs-brand);font-weight:var(--fw-bold)}
.brand span{font-size:var(--fs-brand-sub);color:var(--ink-3)}
.nav{display:flex;align-items:center;gap:var(--gap-1);font-size:var(--fs-ui)}
.nav > a,.nav summary{
  display:inline-flex;align-items:center;min-height:var(--h-ctl);padding:0 14px;
  border-radius:var(--r);color:var(--ink-2);cursor:pointer;font-weight:400;
}
.nav > a:hover,.nav summary:hover{background:var(--blue-wash);color:var(--ink)}
.nav a[aria-current="page"],.nav summary[aria-current="page"]{color:var(--ink);font-weight:var(--fw-semi)}
.nav .btn{margin-left:10px;min-height:var(--h-ctl);font-size:var(--fs-ui);padding:0 20px;color:#fff}
.nav .btn:hover{background:var(--blue-dark);color:#fff}
.lang{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--h-ctl);padding:0 14px;border:1px solid var(--line-2);
  border-radius:var(--r);font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--ink-2);
}
.lang:hover{border-color:var(--ink-3);color:var(--ink)}

.submenu{position:relative}
.submenu > summary{list-style:none;gap:7px}
.submenu > summary::-webkit-details-marker{display:none}
.submenu > summary::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.submenu[open] > summary::after{transform:rotate(-135deg) translateY(-1px)}
.submenu-panel{
  position:absolute;top:calc(100% + 6px);left:0;min-width:250px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:var(--gap-2);display:grid;gap:2px;
}
.submenu-panel a{display:block;padding:11px 14px;border-radius:var(--r);font-size:var(--fs-ui);color:var(--ink-2)}
.submenu-panel a:hover{background:var(--blue-wash);color:var(--ink)}
.submenu-panel a b{display:block;font-weight:400}
.submenu-panel small{display:block;color:var(--ink-3);font-size:var(--fs-note);font-weight:400;margin-top:2px}
.m-group{display:block;padding:10px 14px;font-size:var(--fs-note);color:var(--ink-3)}

.menu-toggle{display:none}
.mobile-actions{display:none}

/* ---------- 首屏 ---------- */
.hero{background:var(--surface);border-bottom:1px solid var(--line)}
.hero-in{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  gap:var(--gap-8);align-items:center;padding:var(--sect) 0 calc(var(--sect) - 16px);
}
.hero h1{margin:0 0 22px}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero .lead{max-width:33em}
.actions{display:flex;flex-wrap:wrap;gap:var(--gap-3);margin-top:var(--gap-6)}
.audience{margin-top:22px;font-size:var(--fs-note);color:var(--ink-3)}

.plate{margin:0}
.plate-frame{
  border:1px solid var(--line-2);border-radius:var(--r);
  background:var(--canvas);overflow:hidden;
}
.plate-frame img{width:100%;aspect-ratio:3/2;object-fit:cover}
.plate figcaption{
  display:flex;justify-content:space-between;gap:var(--gap-4);align-items:baseline;
  border-top:1px solid var(--line);padding:12px 2px 0;margin-top:12px;
  font-size:var(--fs-note);color:var(--ink-3);
}
.plate figcaption b{font-weight:var(--fw-semi);color:var(--ink-2)}

/* 规格行：以数据表方式列出已跑通能力 */
.specs{border-top:1px solid var(--line);margin-top:52px}
.specs dl{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0}
.specs div{padding:22px 28px 22px 0;border-right:1px solid var(--line)}
.specs div:last-child{border-right:0;padding-right:0}
.specs dt{font-size:var(--fs-note);color:var(--ink-3);margin-bottom:var(--gap-2)}
.specs dd{margin:0;font-size:var(--fs-h3);font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}
.specs dd small{display:block;font-size:var(--fs-note);font-weight:400;color:var(--ink-3);margin-top:var(--gap-1)}

/* ---------- 区块骨架 ---------- */
.section{padding:var(--sect) 0;border-top:1px solid var(--line)}
.section:first-of-type{border-top:0}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:var(--gap-7);align-items:end;margin-bottom:52px}
.section-head p{max-width:32em}

/* ---------- 两种形态 ---------- */
.panels{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.panel{padding:36px 40px 0 0;border-right:1px solid var(--line)}
.panel:last-child{border-right:0;padding-right:0;padding-left:40px}
.panel-media{border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;background:var(--canvas)}
.panel-media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.panel-body{padding:26px 0 0}
.panel h3{margin-bottom:14px}
.panel .link{margin-top:var(--gap-5)}
.tag{
  display:inline-block;font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--blue);
  background:var(--blue-wash);border:1px solid var(--blue-wash);border-radius:var(--r);
  padding:3px 9px;margin-bottom:var(--gap-4);
  font-variant-numeric:tabular-nums;
}

/* ---------- 深色能力带 ---------- */
.dark{background:var(--dark);color:var(--on-dark)}
.dark p{color:var(--on-dark-2)}
.dark h2,.dark h3{color:#fff}
.band{padding:var(--sect) 0}
.band-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:var(--gap-8);align-items:start}
.cap-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--dark-line)}
.cap-list li{
  display:grid;grid-template-columns:auto 1fr;gap:var(--gap-5);align-items:baseline;
  padding:22px 0;border-bottom:1px solid var(--dark-line);
}
.cap-list b{font-size:var(--fs-lead);font-weight:var(--fw-semi);color:#fff;min-width:9.5em}
.cap-list span{font-size:var(--fs-dense);color:var(--on-dark-2)}
.band .plate-frame{border-color:var(--dark-line);background:var(--dark-2)}
.band .plate figcaption{border-top-color:var(--dark-line);color:var(--on-dark-2)}
.band .plate figcaption b{color:var(--on-dark)}

/* ---------- 定制与交付 ---------- */
.deliver{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-7)}
.deliver article{border-top:2px solid var(--ink);padding-top:var(--gap-5)}
.deliver h3{margin-bottom:14px}
.deliver ul{margin:var(--gap-4) 0 0;padding:0;list-style:none}
.deliver li{font-size:var(--fs-dense);color:var(--ink-2);padding:9px 0 9px 20px;position:relative}
.deliver li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--blue)}

/* ---------- 平台入口模块 ---------- */
.gate{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap-7);align-items:center;
  background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--blue);
  border-radius:var(--r);padding:44px 48px;
}

/* ---------- 联系 ----------
   两个语言各显示一个即时通讯渠道：中文页微信、英文页 WhatsApp。
   二维码按原图完整展示，不加边框、圆角或覆盖层；白色quiet zone 由页面白底提供。 */
.contact{background:var(--surface);border-top:1px solid var(--line);padding:var(--sect) 0}
/* 左：咨询标题；右：紧凑联系卡。卡片宽度由内容决定，不跟随整列拉伸。 */
/* 卡片比左侧文案高，居中对齐避免左栏下方留出大片空白 */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--gap-8);align-items:center}
.contact-intro{max-width:34em}
.contact h2{margin-bottom:18px}

.contact-card{
  display:flex;flex-direction:column;align-items:center;
  width:max-content;max-width:100%;
  padding:var(--gap-5) var(--gap-5) var(--gap-4);
  border:1px solid var(--line);border-radius:var(--r);background:var(--surface);
}
/* 二维码：正方形自适应，有上下限；容器同步受限，窄屏安全缩小不溢出。
   圆角只加在卡片上，二维码本身不裁剪、不覆盖，白色静区完整保留。 */
.qr{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--gap-3);max-width:100%}
.qr-link{display:block;width:var(--qr);max-width:100%;line-height:0}
.qr-link img{display:block;width:100%;height:auto}
.qr-cap{font-size:var(--fs-dense);font-weight:var(--fw-semi);color:var(--ink);text-align:center}
.qr-hint{margin:var(--gap-3) 0 0;font-size:var(--fs-note);color:var(--ink-3);text-align:center;max-width:22em}
.mail-row{
  display:flex;flex-direction:column;align-items:center;gap:var(--gap-1);
  width:100%;margin:var(--gap-5) 0 0;padding-top:var(--gap-4);
  border-top:1px solid var(--line);text-align:center;
}
.mail-k{font-size:var(--fs-note);color:var(--ink-3)}
.mail-v{
  font-size:var(--fs-dense);font-weight:var(--fw-semi);color:var(--ink);
  overflow-wrap:anywhere;border-bottom:1px solid var(--line-2);
}
.mail-v:hover{color:var(--blue);border-bottom-color:var(--blue)}

.hint{margin-top:22px;font-size:var(--fs-note);color:var(--ink-3);max-width:36em}

/* ---------- 流程（真实序列，故用序号） ---------- */
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.steps li{padding:28px 32px 0 0;border-right:1px solid var(--line)}
.steps li:last-child{border-right:0;padding-right:0}
.steps .n{font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--blue);font-variant-numeric:tabular-nums}
.steps h3{margin:var(--gap-4) 0 var(--gap-3);font-size:var(--fs-lead)}
.steps p{font-size:var(--fs-dense)}
.dark .steps{border-top-color:var(--dark-line)}
.dark .steps li{border-right-color:var(--dark-line)}
.dark .steps .n{color:var(--on-dark-link)}

/* ---------- 表格 ---------- */
.table-wrap{border:1px solid var(--line);border-radius:var(--r);overflow-x:auto;background:var(--surface)}
table.compare{min-width:720px;font-size:var(--fs-dense)}
table.compare th,table.compare td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.compare thead th{font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--ink-3);background:var(--canvas);white-space:nowrap}
table.compare tbody th{font-weight:var(--fw-semi);color:var(--ink);font-size:var(--fs-dense);white-space:nowrap}
table.compare td{color:var(--ink-2)}
table.compare .own{background:var(--blue-wash)}
table.compare .own strong{display:block;color:var(--ink);font-weight:var(--fw-semi)}
table.compare tbody tr:last-child th,table.compare tbody tr:last-child td{border-bottom:0}
.table-note{margin-top:var(--gap-4);font-size:var(--fs-note);color:var(--ink-3)}

table.spec-table{font-size:var(--fs-ui)}
table.spec-table th,table.spec-table td{padding:15px 20px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.spec-table tbody th{font-weight:var(--fw-semi);color:var(--ink-3);font-size:var(--fs-dense);width:22%;white-space:nowrap}
table.spec-table td{color:var(--ink-2);font-variant-numeric:tabular-nums}
table.spec-table tbody tr:last-child th,table.spec-table tbody tr:last-child td{border-bottom:0}

/* 三列：能力模块 / 参数与接口 / 开发价值 */
table.spec-table.cols-3{min-width:880px}
table.spec-table.cols-3 thead th{
  padding:12px 20px;font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--ink-3);
  background:var(--canvas);border-bottom:1px solid var(--line);white-space:nowrap;
}
table.spec-table.cols-3 tbody th{width:17%;white-space:normal;color:var(--ink);font-size:var(--fs-body);line-height:var(--lh-h3)}
table.spec-table.cols-3 tbody td:nth-child(2){width:39%}
table.spec-table.cols-3 tbody td:nth-child(3){color:var(--ink-2)}
table.spec-table.cols-3 tbody tr:first-child th,
table.spec-table.cols-3 tbody tr:first-child td{border-top:0}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1fr);gap:var(--gap-8);align-items:start}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{
  display:flex;justify-content:space-between;gap:var(--gap-5);align-items:center;
  padding:20px 0;cursor:pointer;list-style:none;font-size:var(--fs-body);font-weight:var(--fw-semi);color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:11px;height:11px;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(45deg) translateY(-3px);transition:transform .18s ease}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.faq details p{padding:0 40px 22px 0;font-size:var(--fs-ui)}

/* ---------- 文章 ---------- */
.posts{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.posts li{border-bottom:1px solid var(--line)}
.posts a{display:grid;grid-template-columns:150px minmax(0,1fr);gap:36px;padding:30px 0;align-items:baseline}
.posts a:hover h3{color:var(--blue)}
.posts time{font-size:var(--fs-note);color:var(--ink-3);font-variant-numeric:tabular-nums}
.posts h3{margin-bottom:var(--gap-2);transition:color .14s ease}
.posts p{font-size:var(--fs-ui);max-width:56em}
.posts .topic{display:inline-block;font-size:var(--fs-note);color:var(--blue);margin-top:10px}

.article-head{border-bottom:1px solid var(--line);padding:calc(var(--sect) - 20px) 0 var(--gap-6)}
.article-head h1{font-size:var(--fs-h1-page);margin-bottom:18px}
.article-head .meta{display:flex;flex-wrap:wrap;gap:var(--gap-2) var(--gap-5);font-size:var(--fs-note);color:var(--ink-3);font-variant-numeric:tabular-nums}
.prose{max-width:var(--measure);padding:var(--gap-7) 0 0}
.prose > * + *{margin-top:22px}
.prose h2{font-size:var(--fs-h2-sub);margin-top:44px}
.prose h3{font-size:var(--fs-lead);margin-top:var(--gap-6)}
.prose ul,.prose ol{padding-left:22px;color:var(--ink-2);font-size:var(--fs-body)}
.prose li{margin-top:9px}
.prose a{color:var(--blue);border-bottom:1px solid rgba(29,91,214,.28)}
.prose a:hover{border-bottom-color:var(--blue)}
.prose blockquote{
  margin:0;padding:var(--gap-1) 0 var(--gap-1) 22px;border-left:2px solid var(--blue);
  color:var(--ink-2);font-size:var(--fs-ui);
}
.prose code{
  font-family:var(--font-mono);
  font-size:.9em;background:var(--blue-wash);padding:2px 6px;border-radius:var(--r);color:var(--ink);
}
.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.article-foot{margin-top:52px;padding-top:28px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}

/* ---------- 页脚 ---------- */
.foot{background:var(--dark);color:var(--on-dark);padding:56px 0 32px;margin-top:0}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--gap-6);align-items:start}
.foot b{font-size:var(--fs-body);font-weight:var(--fw-semi);display:block;color:#fff}
.foot p{color:var(--on-dark-2);font-size:var(--fs-note);margin-top:var(--gap-2)}
.foot-nav{display:flex;flex-wrap:wrap;gap:var(--gap-2) 26px;font-size:var(--fs-dense)}
.foot-nav a{color:var(--on-dark-2)}
.foot-nav a:hover{color:#fff}
.foot-bot{
  border-top:1px solid var(--dark-line);margin-top:36px;padding-top:22px;
  display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;
  font-size:var(--fs-note);color:var(--on-dark-2);
}
.foot-bot a:hover{color:#fff}

/* ---------- 内页页头 ---------- */
.hero.page .hero-in{padding:calc(var(--sect) - 30px) 0;gap:var(--gap-7)}
.hero.page h1{font-size:var(--fs-h1-page);margin-bottom:20px}
/* 无配图的页头：让文案跨列并限制在可读行宽内 */
.hero .hero-in > div:only-child{grid-column:1 / -1;max-width:44em}
.crumbs{font-size:var(--fs-note);color:var(--ink-3);margin-bottom:var(--gap-4)}
.crumbs a{color:var(--ink-3)}
.crumbs a:hover{color:var(--blue)}

/* ---------- 交替底色，制造阅读节奏 ---------- */
.section.alt{background:var(--surface)}

/* ---------- 细线分栏列表 ---------- */
.grid-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.grid-list > div{padding:var(--gap-5) 28px var(--gap-5) 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.grid-list > div:nth-child(3n){border-right:0;padding-right:0}
.grid-list > div:nth-last-child(-n+3){border-bottom:0}
.grid-list h3{margin-bottom:var(--gap-2)}
.grid-list p{font-size:var(--fs-dense)}
.grid-list.cols-2{grid-template-columns:repeat(2,1fr)}
.grid-list.cols-2 > div:nth-child(3n){border-right:1px solid var(--line);padding-right:28px}
.grid-list.cols-2 > div:nth-child(2n){border-right:0;padding-right:0}
.grid-list.cols-2 > div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
.grid-list.cols-2 > div:nth-last-child(-n+2){border-bottom:0}

/* ---------- 技术应用与开发机会 ---------- */
.opp-focus{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--gap-6);align-items:center;
  border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);
  padding:var(--gap-5) 28px;margin-bottom:40px;
}
.opp-focus .tag{margin-bottom:var(--gap-3)}
.opp-focus h3{margin-bottom:6px}
.opp-focus p{font-size:var(--fs-dense);margin:0;max-width:46em}
.opp-focus .actions{margin:0}

.opp-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.opp-list > article{padding:28px 34px 28px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.opp-list > article:nth-child(2n){border-right:0;padding-right:0}
.opp-list > article:nth-last-child(-n+2){border-bottom:0}
.opp-list > article:last-child{border-right:0;padding-right:0}

/* 应用市场标签：比“合作开发评估”状态更靠前、更醒目，但不大于标题。 */
.markets{margin:0 0 10px;font-size:var(--fs-dense);line-height:var(--lh-dense);font-weight:var(--fw-semi);color:var(--ink)}
.markets .k{font-weight:400;color:var(--ink-3)}
.opp-list h3{margin-bottom:var(--gap-3)}
/* 状态标签退为次级信息，把视觉优先级让给市场标签与标题 */
.opp-list .tag{background:transparent;border-color:var(--line-2);color:var(--ink-3);margin-bottom:var(--gap-4)}

.opp-list dl{margin:var(--gap-4) 0 0;display:grid;gap:var(--gap-3)}
.opp-list dt{font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--ink-3);margin-bottom:3px}
.opp-list dd{margin:0;font-size:var(--fs-dense);color:var(--ink-2)}
/* 设计边界：卡片末尾的次级信息区，与主体信息分开但保持可读 */
.opp-list dl > div:last-child{margin-top:var(--gap-1);padding-top:var(--gap-3);border-top:1px solid var(--line)}
.opp-list dl > div:last-child dt{color:var(--ink-2)}
.opp-list dl > div:last-child dd{color:var(--ink-3)}

/* ---------- 工程询盘入口 ---------- */
.gate.inquiry{align-items:start}
.gate .btn{margin-top:var(--gap-5)}
.checklist{margin:22px 0 0;padding:0;list-style:none;counter-reset:chk;border-top:1px solid var(--line)}
.checklist li{
  counter-increment:chk;position:relative;padding:11px 0 11px 34px;
  border-bottom:1px solid var(--line);font-size:var(--fs-ui);color:var(--ink-2);
}
.checklist li:last-child{border-bottom:0}
.checklist li::before{
  content:counter(chk,decimal-leading-zero);position:absolute;left:0;top:12px;
  font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--blue);font-variant-numeric:tabular-nums;
}

/* ---------- 场景 / 规格双栏 ---------- */
.facts{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.facts li{display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr);gap:28px;padding:20px 0;border-bottom:1px solid var(--line)}
.facts b{font-size:var(--fs-body);font-weight:var(--fw-semi)}
.facts span{font-size:var(--fs-ui);color:var(--ink-2)}

/* ---------- 404 ---------- */
.notfound{padding:calc(var(--sect) * 1.3) 0;text-align:left}
.notfound h1{margin-bottom:20px}
.notfound .actions{margin-top:30px}

/* ---------- 通用 ---------- */
.mt-8{margin-top:var(--gap-2)}
.mt-18{margin-top:18px}
.mt-26{margin-top:var(--gap-5)}
.mt-28{margin-top:var(--gap-5)}
.stack-sm > * + *{margin-top:14px}
.section-note{margin-top:20px;font-size:var(--fs-note);color:var(--ink-3);max-width:52em}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ==========================================================================
   响应式
   ========================================================================== */
/* 英文品牌定位文案比中文长得多，在导航收起为汉堡菜单之前先隐藏，
   否则 901–1120px 区间品牌会挤压导航。品牌名本身始终保留。 */
@media (max-width:1120px){
  html[lang="en"] .brand span{display:none}
}

@media (max-width:1080px){
  :root{--sect:72px}
  .hero-in{gap:44px;padding:var(--sect) 0 calc(var(--sect) - 18px)}
  .hero.page .hero-in{padding:calc(var(--sect) - 14px) 0;gap:44px}
  .band-grid,.gate,.deliver,.section-head{gap:40px}
  .contact-grid,.faq{gap:44px}
}

@media (max-width:900px){
  .mobile-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
  .menu-toggle{
    display:inline-flex;align-items:center;gap:10px;min-height:var(--h-ctl);padding:0 14px;
    border:1px solid var(--line-2);border-radius:var(--r);background:#fff;
    font-size:var(--fs-dense);font-weight:var(--fw-semi);color:var(--ink-2);cursor:pointer;list-style:none;
  }
  .menu-toggle::-webkit-details-marker{display:none}
  .menu-toggle::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .mobile-nav[open] .menu-toggle::after{transform:rotate(-135deg) translateY(-1px)}
  .nav{display:none}
  .mobile-nav{position:relative}
  .mobile-panel{
    position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 40px));
    background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;
    display:grid;gap:2px;
  }
  .mobile-panel a{display:block;padding:13px 14px;border-radius:var(--r);font-size:var(--fs-ui);color:var(--ink-2)}
  .mobile-panel a:hover{background:var(--blue-wash);color:var(--ink)}
  .mobile-panel .sub{padding-left:30px;font-size:var(--fs-dense)}
  .mobile-panel .btn{margin-top:var(--gap-2);color:#fff}
  .mobile-panel .divider{height:1px;background:var(--line);margin:var(--gap-2) var(--gap-1)}
  /* 三列参数表：窄屏改为堆叠，避免横向滚动 */
  table.spec-table.cols-3{min-width:0;width:100%;table-layout:auto}
  table.spec-table.cols-3 thead{display:none}
  table.spec-table.cols-3,
  table.spec-table.cols-3 tbody,
  table.spec-table.cols-3 tr,
  table.spec-table.cols-3 tbody th,
  table.spec-table.cols-3 tbody td,
  table.spec-table.cols-3 tbody td:nth-child(2),
  table.spec-table.cols-3 tbody td:nth-child(3){display:block;width:auto;min-width:0}
  table.spec-table.cols-3 tr{padding:20px;border-bottom:1px solid var(--line)}
  table.spec-table.cols-3 tr:last-child{border-bottom:0}
  table.spec-table.cols-3 tbody th,
  table.spec-table.cols-3 tbody td{padding:0;border-bottom:0}
  table.spec-table.cols-3 tbody th{margin-bottom:var(--gap-3)}
  table.spec-table.cols-3 tbody td{margin-top:10px;font-size:var(--fs-dense);color:var(--ink-2)}
  table.spec-table.cols-3 tbody td,
  table.spec-table.cols-3 tbody td *{overflow-wrap:anywhere}
  table.spec-table.cols-3 tbody td::before{
    display:block;font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--ink-3);
    margin-bottom:3px;content:attr(data-label);
  }
  /* 两列对照表（对应关系、工程选型边界）：同样改为堆叠 */
  table.spec-table.rows{min-width:0;width:100%}
  table.spec-table.rows thead{display:none}
  table.spec-table.rows,
  table.spec-table.rows tbody,
  table.spec-table.rows tr,
  table.spec-table.rows tbody th,
  table.spec-table.rows tbody td{display:block;width:auto;min-width:0;white-space:normal}
  table.spec-table.rows tr{padding:18px 20px;border-bottom:1px solid var(--line)}
  table.spec-table.rows tr:last-child{border-bottom:0}
  table.spec-table.rows tbody th,
  table.spec-table.rows tbody td{padding:0;border-bottom:0}
  table.spec-table.rows tbody th{font-size:var(--fs-body);margin-bottom:var(--gap-2)}
  table.spec-table.rows tbody td{font-size:var(--fs-dense);color:var(--ink-2)}
  table.spec-table.rows tbody td::before{
    display:block;font-size:var(--fs-note);font-weight:var(--fw-semi);color:var(--ink-3);
    margin-bottom:3px;content:attr(data-label);
  }
}

@media (max-width:820px){
  :root{--sect:60px}
  .hero-in{grid-template-columns:1fr;gap:36px;padding:var(--sect) 0}
  .hero.page .hero-in{padding:var(--sect) 0;gap:36px}
  .hero .plate{order:2}
  .specs{margin-top:36px}
  .specs dl{grid-template-columns:1fr}
  .specs div{padding:var(--gap-4) 0;border-right:0;border-bottom:1px solid var(--line)}
  .specs div:last-child{border-bottom:0}
  .section-head{grid-template-columns:1fr;gap:22px;margin-bottom:38px}
  .panels{grid-template-columns:1fr}
  .panel{padding:0 0 34px;border-right:0;border-bottom:1px solid var(--line)}
  .panel:last-child{padding:34px 0 0;border-bottom:0}
  .band-grid,.deliver,.gate,.contact-grid,.faq{grid-template-columns:1fr;gap:36px}
  .gate{padding:32px 26px}
  .deliver article + article{margin-top:var(--gap-2)}
  .steps{grid-template-columns:1fr 1fr}
  .steps li{padding:22px 24px 22px 0;border-bottom:1px solid var(--line)}
  .steps li:nth-child(2n){border-right:0;padding-right:0}
  .steps li:nth-last-child(-n+2){border-bottom:0}
  /* 单列时联系卡居中，不再靠左贴边留出空档 */
  .contact-card{margin-inline:auto}
  .grid-list,.grid-list.cols-2{grid-template-columns:1fr}
  .grid-list > div,.grid-list.cols-2 > div{
    border-right:0!important;padding-right:0;border-bottom:1px solid var(--line)!important;
  }
  .grid-list > div:last-child,.grid-list.cols-2 > div:last-child{border-bottom:0!important}
  .facts li{grid-template-columns:1fr;gap:6px}
  .opp-focus{grid-template-columns:1fr;gap:18px;padding:var(--gap-5) var(--gap-5)}
  .opp-list{grid-template-columns:1fr}
  .opp-list > article{padding:var(--gap-5) 0;border-right:0}
  .opp-list > article:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .opp-list > article:last-child{border-bottom:0}
  .posts a{grid-template-columns:1fr;gap:10px;padding:var(--gap-5) 0}
  .article-foot{flex-direction:column;align-items:flex-start}
  .foot-top{grid-template-columns:1fr;gap:28px}
}

@media (max-width:560px){
  :root{--sect:48px;--gut:20px;--qr:180px;--fs-brand:17px}
  .head-in{min-height:66px;gap:14px}
  .brand span{display:none}
  .hero-in{padding:calc(var(--sect) - 14px) 0 calc(var(--sect) - 10px)}
  .hero.page .hero-in{padding:calc(var(--sect) - 14px) 0}
  .actions{gap:10px}
  .actions .btn{width:100%}
  .plate figcaption{flex-direction:column;gap:var(--gap-1)}
  .steps{grid-template-columns:1fr}
  .steps li{border-right:0;padding-right:0;padding-bottom:20px;border-bottom:1px solid var(--line)}
  .steps li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
  .steps li:last-child{border-bottom:0}
  .cap-list li{grid-template-columns:1fr;gap:6px}
  .cap-list b{min-width:0}
  .faq summary{font-size:var(--fs-ui)}
  .faq details p{padding-right:0}
  .prose{font-size:var(--fs-ui)}
  .prose h2{font-size:var(--fs-h3)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
