/* ============================================================================
   CERATHERM · First-tier industrial design system  (v3 / rebuild)
   ----------------------------------------------------------------------------
   Palette A  — warm ivory paper 72% · graphite ink 10% · warm hairlines 3%
                furnace orange <5% (CTA / one number / hot zone / state only)
   Type       — Archivo (display + body) · IBM Plex Mono (data only)
                IBM Plex Mono (figures, captions, callouts)
   Structure  — buyer decision path, not module stack:
                01 evidence wall  02 specification wall  03 hard-cut comparison
                04 numbered parts catalogue  05 full-bleed plant + HUD
                06 RFQ sheet with a permanent quote rail
   Rules      — hard cuts, no rounded SaaS cards, no drop-shadow stacks,
                no gradients, deep tone only as a cut-in module (never full-page)
   ========================================================================== */
:root{
  --paper:#F0F1F2; --card:#FFFFFF; --surface:#E7E9EB; --surface2:#D9DDE0;
  --stage:#D8DFE7;   /* 图版区底色（全家福同源） */
  --band:#E7EAEE;    /* 首屏与正文之间的中间调：深 #E0E5EC → 中 #E7EAEE → 浅 #F0F1F2 */
  --hero-bg:#DCE0E8; /* 首页底色 = 首屏产品图背景实测中位色，产品白瓷+黑投影与其不同调，融合不没 */
  --ink:#202629; --ink2:#4C545A; --ink3:#5F686F; /* 2026-11-09 WCAG AA：白 5.68 / paper 5.02 / surface 4.67 / band 4.71；原 #7C858B 仅 3.32 */
  --line:#D8DDE0; --line2:#C2C9CD;
  --heat:#D0181C; --heat-d:#A81416; --heat-soft:#F5E0E0;
  --ember:#D0181C; --cold:#6B757A;
  --on-dark:#F0F1F2; --on-dark2:rgba(240,241,242,.64); --on-dark3:rgba(240,241,242,.32);
  --f-display:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-body:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --pad:clamp(20px,5vw,80px); --sec:clamp(76px,8vw,128px);
  --r:0px; --ease:cubic-bezier(.16,1,.3,1);
  /* legacy aliases — old inline styles & landing pages still reference these */
  --brand:var(--ink); --brand2:var(--ink2); --bg2:var(--surface);
  --white:var(--card); --ok:var(--cold); --blue-soft:var(--surface);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(30,42,44,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(30,42,44,.022) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,#000,transparent 92%)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
::selection{background:var(--ink);color:#fff}
.wrap{width:100%;max-width:1480px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);position:relative;z-index:1}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
section{padding-top:var(--sec);padding-bottom:var(--sec);position:relative}
.hairline{height:1px;background:var(--line);border:0;margin:0}
.center{text-align:center}

/* ---------------- typography ---------------- */
h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;letter-spacing:-.015em;line-height:.9;margin:0;color:var(--ink)}
h1{font-size:clamp(42px,5.6vw,92px);line-height:1.05}
h2{font-size:clamp(34px,4.4vw,68px);line-height:1.08}
h3{font-size:clamp(23px,2.2vw,34px);line-height:1.12}
h4{font-size:20px;line-height:1.1}
p{margin:0}
.lede{font-size:clamp(16px,1.3vw,19px);color:var(--ink2);max-width:62ch;line-height:1.75}
.heat{color:var(--heat)}
.mono{font-family:var(--f-mono)}
.eyebrow{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);display:flex;align-items:center;gap:10px;font-weight:500}
.eyebrow .no{display:none}
.chap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:40px;align-items:end;margin-bottom:clamp(36px,4vw,64px);padding-bottom:22px;border-bottom:1px solid var(--line)}
.chap-n{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--ink3);text-transform:uppercase;display:block;margin-bottom:18px;font-weight:600}
.chap h2{line-height:.88}
.chap-p{color:var(--ink2);font-size:15px;line-height:1.75;margin:0}
/* 章首说明下的补充一句（如「客户参考可签保密协议后提供」），独立成行、不抢标题 */
.chap-note{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);
  color:var(--ink);font-size:13.5px;line-height:1.6;font-weight:500}
/* legacy section head (landing pages / older markup) */
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:40px;align-items:end;margin-bottom:clamp(36px,4vw,60px);padding-bottom:22px;border-bottom:1px solid var(--line)}
.sec-head .num{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;color:var(--ink3);text-transform:uppercase;margin-bottom:16px;display:block;font-weight:600}
.sec-head p{color:var(--ink2);font-size:15px;line-height:1.75}
.num{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;color:var(--ink3);text-transform:uppercase;font-weight:600}

/* ---------------- buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;font-family:var(--f-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;border-radius:var(--r);cursor:pointer;transition:transform .3s var(--ease),background .25s,color .25s,border-color .25s;white-space:nowrap}
.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:var(--ink2);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:#0F1819;transform:translateY(-2px)}
.btn-sm{padding:10px 16px;font-size:11px}
.btn-block{width:100%}

/* ---------------- topbar + nav + quote rail ---------------- */
.topbar{background:var(--ink);color:var(--on-dark2);font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;position:relative;z-index:30}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:18px}
.topbar b{color:var(--on-dark);font-weight:600}
.topbar i{width:4px;height:4px;background:var(--ink3);border-radius:50%;display:inline-block;margin-right:7px;vertical-align:2px}
.tb-right{display:flex;gap:22px;align-items:center}
.topbar a:hover{color:var(--ink)}
.nav{position:sticky;top:0;z-index:40;background:rgba(220,224,232,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:26px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--f-display);font-size:26px;font-weight:700;letter-spacing:.01em;color:var(--ink);flex:none}
.brand .mark{width:28px;height:28px;flex:none}
.brand small{display:block;font-family:var(--f-mono);font-size:8px;letter-spacing:.16em;color:var(--ink3);line-height:1;margin-top:5px;font-weight:500;text-transform:uppercase}
.nav-links{display:flex;gap:clamp(12px,1.8vw,26px);align-items:center;margin-left:auto}
.nav-links a{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);padding:8px 0;position:relative;white-space:nowrap;transition:color .25s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:2px;width:0;height:2px;background:var(--ink);transition:width .3s var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{width:100%}
.nav-links .btn::after{display:none}
.nav-links .btn{color:#fff}
.nav-links .btn:hover{color:#fff}
.burger{display:none;background:transparent;border:1px solid var(--line2);color:var(--ink);width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:var(--r)}
.burger span{width:18px;height:1.8px;background:currentColor;display:block}
/* 语言切换：编辑式细线分段控件，桌面/移动端常驻 */
.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line2);background:var(--card);flex:none}
.lang-switch button,.lang-switch a{background:none;border:0;cursor:pointer;padding:5px 8px;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;line-height:1;color:var(--ink3);text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.lang-switch button:hover,.lang-switch a:hover{color:var(--ink)}
.lang-switch button.is-on,.lang-switch a.is-on{background:var(--ink);color:var(--paper)}
.lang-switch button[data-lang-set="zh"],.lang-switch a[hreflang="zh-CN"]{font-family:var(--f-sans);font-size:11px;letter-spacing:0;text-transform:none}
.lang-switch span{color:var(--line2);font-family:var(--f-mono);font-size:10px;padding:0 1px}
.quote-rail{display:none}
/* ≤1200px：竖排会遮挡内容，但「每一屏都能进询盘」不打折 ——
   改成底部常驻 CTA 横条（顶级 B2B 站移动端通用转化件），
   暖象牙底 + 橙色只落在一个 CTA 方块上，深色不做全屏底。 */
@media(max-width:1200px){
  .quote-rail{
    display:flex;
    position:fixed;
    top:auto;bottom:0;left:0;right:0;transform:none;writing-mode:horizontal-tb;
    width:auto;height:auto;padding:11px var(--pad);
    justify-content:space-between;gap:16px;
    background:var(--paper);color:var(--ink);
    border-top:1px solid var(--line2);
    font-size:11px;letter-spacing:.1em;z-index:38;
  }
  .quote-rail::before{display:none}
  .quote-rail::after{content:"→";flex:none;background:var(--ink);color:#fff;
    font-family:var(--f-body);font-size:15px;line-height:1;letter-spacing:0;
    padding:8px 15px;transition:background .25s}
  .quote-rail:hover{background:var(--paper)}
  .quote-rail:hover::after{background:var(--ink2)}
  body{padding-bottom:54px}
}
/* 手机端顶部：资质条收成一行（可左右滑看全），不再折成 3 行把 3 秒大标题往下推。
   配色、文案、文档抬头一概不动；六项证件仍在中部「文件条证据区」可点开。 */
@media(max-width:680px){
  .topbar .wrap{min-height:30px}
  .topbar .wrap > div:first-child{
    min-width:0;flex:1;
    white-space:nowrap;overflow-x:auto;overflow-y:hidden;
    font-size:8.5px;letter-spacing:.06em;line-height:1.45;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .topbar .wrap > div:first-child::-webkit-scrollbar{display:none}
}

/* ---------------- 01 / evidence wall ---------------- */
.hero{padding:0;overflow:hidden}
.hero-frame{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border-bottom:1px solid var(--line);min-height:min(600px,68vh);background:var(--hero-bg)}
.hero-copy{padding:clamp(36px,4vw,60px) clamp(28px,4vw,72px) clamp(30px,3.2vw,48px) var(--pad);display:flex;flex-direction:column;justify-content:center}
.hero-title{font-size:clamp(46px,6.2vw,100px);line-height:1.02;letter-spacing:-.03em;margin:18px 0 16px}
.hero-title .t1{display:block}
.hero-title .t2{display:block;font-size:.46em;letter-spacing:-.01em;line-height:.98;margin-top:16px;color:var(--ink2)}
.hero-sub{font-size:clamp(15px,1.2vw,18px);color:var(--ink2);max-width:50ch;line-height:1.7}
.hero-params{display:flex;flex-wrap:wrap;gap:8px 26px;margin:20px 0 0;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;color:var(--ink2);text-transform:uppercase;border-top:1px solid var(--line);padding-top:14px}
.hero-params em{font-style:normal;color:var(--heat);font-weight:600}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.hero-meta{margin-top:18px}
.hero-visual{position:relative;background:transparent;overflow:hidden;min-height:420px}
.hv-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(240,241,242,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(240,241,242,.07) 1px,transparent 1px);background-size:46px 46px}
.hv-chip{position:absolute;left:16%;top:34%;width:64%;height:30%;background:var(--paper);border:1px solid rgba(240,241,242,.5);transform:rotate(-8deg)}
.hv-chip::before{content:"";position:absolute;inset:8%;border:1px solid rgba(30,42,44,.14)}
.hv-chip::after{content:"";position:absolute;left:12%;right:12%;top:38%;height:22%;background:var(--ink3)}
.hv-lead{position:absolute;height:1px;background:rgba(32,38,41,.35);z-index:2}
.hv-tag{position:absolute;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);font-weight:600;z-index:3}
.hv-hud{position:absolute;border:1px solid var(--line2);background:rgba(255,255,255,.86);backdrop-filter:blur(6px);padding:10px 14px;z-index:3}
.hv-hud .k{color:var(--ink3);font-family:var(--f-mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark2)}
.hv-hud .v{font-family:var(--f-display);font-size:34px;font-weight:700;line-height:1;color:var(--ink)}
.hv-hud .v em{font-style:normal;color:var(--ember)}
.hv-cap{position:absolute;left:20px;bottom:16px;font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);z-index:3}
.hero-visual.has-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.hv-photo{position:absolute;inset:0}
.plant-photo{position:absolute;inset:0}

/* ---- 真实影像接入（借鉴产品 PPT：满幅影像 + 方向性渐变 + 图上压文字）----
   只换「底」：几何示意图退场，参数引线 / HUD / 图注整层保留并提到蒙版之上。
   渐变下深上浅 —— 底部压暗保图注与左下 HUD 可读，中上部透光让电路的炽橙发出来。 */
.hv-photo.has-photo .hv-grid,
.hv-photo.has-photo .hv-chip,
.hv-photo.has-photo .hv-dot{display:none}
/* 真实照片亮部（白陶瓷片）会吃掉浅色引线字：加一层编辑式深色标签底衬，
   位置与文案不动，只保证落在任何明暗背景上都读得清。 */
.hv-photo.has-photo .hv-tag{background:rgba(255,255,255,.82);color:var(--ink2);text-shadow:none;padding:3px 6px;backdrop-filter:blur(3px)}
/* 产品图完整呈现：四边透明羽化 PNG，边缘自然过渡到页面底色；
   right/width 控制横向位置（略左移，避免顶到图版右缘）。 */
.hv-photo.has-photo img{position:absolute;right:30%;top:2%;height:96%;width:94%;object-fit:contain;object-position:right center;z-index:0}
/* 图片自带 alpha 羽化，边缘已渐隐到透明；不再叠加蒙版，避免洗淡产品 */
.hv-photo.has-photo::after{content:none}
.plant-photo.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.plant-frame:has(.plant-photo.has-photo)::before{
  background:linear-gradient(180deg,rgba(14,21,29,.30) 0%,rgba(14,21,29,.02) 40%,rgba(14,21,29,.66) 100%);
  z-index:1}
/* legacy illustration slots */
.visual{position:relative;background:var(--stage);border:1px solid var(--line);min-height:340px;display:grid;place-items:center;overflow:hidden}
.visual svg{width:min(88%,460px);height:auto;position:relative;z-index:1}
.visual img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1;padding:16px}
.visual-tag,.vcap{color:var(--ink3)!important;position:absolute;left:16px;bottom:14px;font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark3);z-index:2}
.readout{position:absolute;background:var(--card);border:1px solid var(--line);padding:10px 14px;z-index:3}
.readout .k{font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.readout .v{font-family:var(--f-display);font-size:30px;font-weight:700;line-height:1.1;color:var(--heat)}
.readout .v small{font-size:13px;color:var(--ink2)}
.readout.r1{top:10%;right:3%}.readout.r2{bottom:14%;left:3%}
.corner{position:absolute;width:14px;height:14px;border-color:var(--on-dark3);border-style:solid;z-index:2}
.c1{top:10px;left:10px;border-width:1px 0 0 1px}.c2{top:10px;right:10px;border-width:1px 1px 0 0}
.c3{bottom:10px;left:10px;border-width:0 0 1px 1px}.c4{bottom:10px;right:10px;border-width:0 1px 1px 0}
.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
.hero-meta i{width:4px;height:4px;background:var(--ink3);border-radius:50%;display:inline-block;margin-right:8px;vertical-align:2px}
.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.hero-proof div{display:flex;gap:9px;font-size:13px;color:var(--ink2);font-weight:600}
.hero-proof svg{width:17px;height:17px;color:var(--ink2);flex:none}
.hero-side{display:flex;flex-direction:column;gap:18px}

/* evidence band */
.evidence{background:var(--band);border-bottom:1px solid var(--line)}
.evidence-in{display:grid;grid-template-columns:repeat(4,1fr)}
.ev-item,#statGrid .stat{padding:22px 24px;border-right:1px solid var(--line)}
.ev-item:first-child,#statGrid .stat:first-child{padding-left:0}
.ev-item:last-child,#statGrid .stat:last-child{border-right:0}
.ev-n{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;color:var(--ink3)}
.ev-b{font-family:var(--f-display);font-size:26px;font-weight:700;line-height:1}
.ev-s{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
#statGrid .stat .v{font-family:var(--f-display);font-size:clamp(30px,3vw,46px);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--ink)}
#statGrid .stat .v span{font-size:.4em;color:var(--heat);margin-left:4px}
#statGrid .stat .l{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-top:8px}
.statbar{background:var(--ink);color:var(--on-dark);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr)}
.statbar .stat{padding:clamp(24px,3vw,38px);border-right:1px solid var(--on-dark3)}
.statbar .stat:last-child{border-right:0}
.statbar .stat .v{font-family:var(--f-display);font-size:clamp(36px,4vw,58px);font-weight:700;line-height:1;color:var(--on-dark)}
.statbar .stat .v span{font-size:.4em;color:var(--ember);margin-left:4px}
.statbar .stat .l{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark2);margin-top:10px}

/* ---------------- 02 / specification wall ---------------- */
.specwall{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--card)}
.sw-cell{padding:clamp(22px,2.6vw,38px);border-right:1px solid var(--line);position:relative}
.sw-cell:last-child{border-right:0}
.sw-n{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;color:var(--ink3);text-transform:uppercase}
.sw-v{font-family:var(--f-display);font-size:clamp(44px,5vw,78px);font-weight:700;line-height:.9;letter-spacing:-.03em;margin:20px 0 12px;color:var(--ink)}
.sw-cell:first-child .sw-v{color:var(--heat)}
.sw-v small{font-size:.38em;color:var(--ink3);margin-left:4px}
/* 四格数值共用同一字号：取能容下最长值 3.7–220 V 的上限，绝不单独缩小第四格。
   nowrap 只防折行，不制造大小差异。配色与栅格不动。 */
.sw-v{white-space:nowrap;font-size:clamp(32px,4.4vw,64px)}
html[lang="zh-CN"] .sw-v{font-size:clamp(17px,2.2vw,33px)}
.sw-l{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);border-top:1px solid var(--line);padding-top:12px;margin-top:16px}
.tnote{font-family:var(--f-mono);font-size:10.5px;color:var(--ink3);margin-top:16px;line-height:1.8}
.table-wrap{border:1px solid var(--line);overflow-x:auto;background:var(--card);margin-top:26px}
table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}
thead th{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-weight:500;background:var(--surface)}
/* 对比表：高亮列从表头到数据行连成同一条淡红带（复用已有 --heat-soft，不新增色值） */
thead th.hi{color:var(--ink);background:var(--heat-soft);font-weight:700}
tbody th{font-weight:600;color:var(--ink2);font-size:13px}
td{color:var(--ink2)}
td.hi{color:var(--ink);background:var(--heat-soft);font-weight:700}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}

/* ---------------- 03 / hard-cut comparison ---------------- */
.compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.cmp-side{padding:clamp(28px,3vw,48px)}
.cmp-a{background:var(--card);border-right:2px solid var(--ink)}
.cmp-b{background:var(--surface)}
.cmp-head{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:8px;display:flex;justify-content:space-between;gap:12px}
.cmp-b .cmp-head{color:var(--ink3)}
.cmp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13.5px;align-items:baseline}
.cmp-row:last-child{border-bottom:0}
.cmp-row .k{color:var(--ink2)}
.cmp-row .v{font-family:var(--f-mono);font-size:12px;color:var(--ink);font-weight:600;text-align:right}
.cmp-a .cmp-row.hi .v{color:var(--heat)}
.cmp-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:22px}
.cmp-foot p{font-size:14px;color:var(--ink2);max-width:60ch}
.tech-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(34px,5vw,80px);align-items:start}
.feature-list{margin-top:30px;border-top:1px solid var(--line)}
.feature-row{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);transition:padding-left .35s var(--ease)}
.feature-row:hover{padding-left:8px}
.feature-row .n{font-family:var(--f-mono);font-size:11px;color:var(--ink3);padding-top:4px;font-weight:600}
.feature-row b{display:block;font-family:var(--f-display);font-size:21px;font-weight:700;letter-spacing:-.01em}
.feature-row p{margin:4px 0 0;font-size:13.5px;color:var(--ink2);line-height:1.65}

/* ---------------- 04 / numbered parts catalogue ---------------- */
.catalog{border-top:1px solid var(--line)}
.cat-row{display:grid;grid-template-columns:64px 116px minmax(0,1fr) minmax(140px,220px) 34px;gap:clamp(14px,2vw,28px);align-items:center;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),background .35s}
.cat-row:hover{background:var(--card);padding-left:14px;padding-right:14px}
.cat-n{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--ink3);font-weight:600}
.cat-fig{height:78px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;padding:8px}
.cat-fig svg{width:100%;height:auto}
.cat-fig img{width:100%;height:100%;object-fit:contain}
/* 注入实拍图后，容器底色与图片底色统一为 --hero-bg(#DCE0E8)，
   padding 区与图片零色差，不出现内嵌矩形；沿用站点已有色值，不新增配色。 */
.cat-fig.has-photo{background:var(--hero-bg)}
.cat-name{font-family:var(--f-display);font-size:clamp(24px,2.3vw,34px);font-weight:700;line-height:1;letter-spacing:-.01em}
.cat-desc{font-size:12.5px;color:var(--ink2);line-height:1.55;margin-top:7px;max-width:58ch}
.cat-spec{font-family:var(--f-mono);font-size:10px;color:var(--ink3);line-height:1.9;text-transform:uppercase;letter-spacing:.03em}
.cat-spec b{color:var(--ink);font-weight:600}
.cat-go{width:32px;height:32px;border:1px solid var(--line2);display:grid;place-items:center;font-size:16px;color:var(--ink2);transition:background .25s,color .25s,border-color .25s}
.cat-row:hover .cat-go{background:var(--ink);border-color:var(--ink);color:#fff}
/* legacy product cards */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.prod{background:var(--card);padding:26px 24px 28px;display:flex;flex-direction:column;transition:background .3s}
.prod:hover{background:var(--surface)}
.prod-img{height:clamp(140px,14vw,180px);display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);margin-bottom:20px;position:relative;padding:12px}
.prod-img svg{width:min(80%,200px);height:auto}
.prod-img img{width:100%;height:100%;object-fit:contain}
.prod-img .ptag{position:absolute;top:10px;left:12px;font-family:var(--f-mono);font-size:9px;letter-spacing:.1em;color:var(--ink2);text-transform:uppercase;background:var(--card);border:1px solid var(--line);padding:4px 8px}
.prod-body .code{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;color:var(--ink3);text-transform:uppercase;font-weight:600}
.prod-body h3{margin:10px 0 10px;font-size:26px}
.prod-body p{font-size:13.5px;color:var(--ink2);margin:0 0 16px;line-height:1.65;flex:1}
.spec-mini{border-top:1px solid var(--line);padding-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:18px}
.spec-mini div{font-family:var(--f-mono);font-size:10px;color:var(--ink3);line-height:1.5}
.spec-mini b{display:block;color:var(--ink);font-weight:600;font-size:11.5px;margin-top:2px;font-family:var(--f-body)}
.prod-link{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:9px;background:none;border:0;padding:0;cursor:pointer;font-weight:600}
.prod-link span{transition:transform .3s var(--ease)}
.prod-link:hover span{transform:translateX(5px)}

/* ---------------- 05 / full-bleed plant + HUD ---------------- */
.plant{background:var(--ink);color:var(--on-dark);padding:0}
.plant-frame{position:relative;min-height:clamp(340px,42vw,560px);overflow:hidden;border-bottom:1px solid var(--on-dark3)}
.plant-frame::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(240,241,242,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(240,241,242,.06) 1px,transparent 1px);background-size:52px 52px}
.plant-frame.has-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.plant-frame.has-photo::before{background:rgba(30,42,44,.4)}
.phud{position:absolute;border:1px solid var(--on-dark3);background:rgba(30,42,44,.72);backdrop-filter:blur(8px);padding:12px 16px;z-index:2}
.phud .v{font-family:var(--f-display);font-size:clamp(30px,3vw,46px);font-weight:700;line-height:1;color:var(--ember)}
.phud .l{font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark2);margin-top:6px}
.plant-cap{position:absolute;left:var(--pad);bottom:18px;font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark2);z-index:2}
.plant-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);padding:clamp(40px,5vw,72px) 0}
/* 检验室图版（Fig. 06）：深色区内单幅实拍，方形角、无卡片化 */
.plant-strip{margin:0}
.plant-strip-photo{position:relative;overflow:hidden;aspect-ratio:16/7;min-height:220px;max-width:100%;background:var(--stage)}
.plant-strip-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.strip-cap{font-family:var(--f-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark2);padding-top:10px}
.plant h2,.plant h3{color:var(--on-dark)}
.plant p{color:var(--on-dark2)}
.plant .eyebrow{color:var(--on-dark2)}
.plant .eyebrow::before{background:var(--on-dark3)}
.qc-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--on-dark3)}
.qc-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--on-dark3);font-size:13.5px;color:var(--on-dark2)}
.qc-list .tick{color:var(--on-dark);font-weight:700}
.qc-list b{color:var(--on-dark);font-weight:700}
.certstrip{display:flex;border-top:1px solid var(--on-dark3);border-bottom:1px solid var(--on-dark3);overflow-x:auto}
.cert{flex:1 0 158px;min-width:158px;padding:20px 18px;border-right:1px solid var(--on-dark3);display:flex;flex-direction:column;gap:8px}
.cert:last-child{border-right:0}
.cert img{width:100%;height:76px;object-fit:contain;background:var(--paper);padding:6px}
.cert .cn{font-family:var(--f-display);font-size:19px;font-weight:700;color:var(--on-dark);line-height:1.1}
.certstrip .cert .cn{min-height:2.2em}
.cert .cd{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark3)}
.cert .ph-ico{width:30px;height:30px;color:var(--on-dark3)}
/* light certificate grid (about page) */
.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:24px}
.cert-grid .cert{background:var(--card);color:var(--ink);flex:none;min-width:0}
.cert-grid .cert .cn{color:var(--ink)}
.cert-grid .cert .cd{color:var(--ink3)}
.cert-grid .cert .ph-ico{color:var(--ink3)}
/* certificate scans (about page) */
.cert-grid .cert{padding:16px 16px 18px;display:flex;flex-direction:column;gap:9px}
.cert-fig{position:relative;height:420px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.cert-shot{position:absolute;inset:8px;display:block;padding:0;margin:0;border:0;background:none;cursor:zoom-in}
.cert-shot:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cert-shot img{width:100%;height:100%;object-fit:contain;display:block}
.cert-grid .cn{font-size:14px;line-height:1.3}
.cert-grid .cd{font-size:10px;line-height:1.5;letter-spacing:.02em}
.cert-grid .cs{font-size:11px;line-height:1.55;color:var(--ink3)}
.cert-lb{position:fixed;inset:0;z-index:120;background:rgba(18,22,25,.93);display:none;place-items:center;padding:4vh 4vw;overflow:auto}
.cert-lb.on{display:grid}
.cert-lb img{max-width:100%;max-height:92vh;object-fit:contain;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.45);cursor:zoom-in}
.cert-lb.zoom img{max-width:none;max-height:none;cursor:zoom-out}
.cert-hint{position:absolute;right:14px;bottom:14px;z-index:2;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:rgba(24,30,34,.72);padding:5px 9px;border-radius:0;pointer-events:none;opacity:0;transition:opacity .18s}
.cert:hover .cert-hint,.cert-fig:focus-within .cert-hint{opacity:1}
@media (hover:none){.cert-hint{opacity:1}}

/* ---------- 首页资质背书带（六份文件） ---------- */
.cred-band{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(38px,4.6vw,60px) 0;scroll-margin-top:86px}
.cred-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,530px);gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(22px,3vw,34px)}
.cred-k{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.cred-h{font-family:var(--f-display);font-size:clamp(21px,2.7vw,38px);line-height:1.08;letter-spacing:-.02em;margin:0;color:var(--ink);font-weight:700}
.cred-p{margin:0;font-size:14px;line-height:1.62;color:var(--ink2);max-width:54ch}
.cred-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cred{background:var(--card);padding:0;display:flex;flex-direction:column;min-width:0}
.cred-shot{position:relative;display:block;width:100%;height:238px;padding:0;border:0;background:#fff;cursor:zoom-in;overflow:hidden}
.cred-shot img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .32s cubic-bezier(.2,.7,.3,1)}
.cred:hover .cred-shot img{transform:scale(1.03)}
.cred-shot.is-empty{display:grid;place-items:center;color:var(--ink3)}
.cred-shot.is-empty svg{width:34px;height:34px}
.cred-zoom{position:absolute;right:6px;top:6px;width:22px;height:22px;display:grid;place-items:center;font-size:11px;line-height:1;
  color:#fff;background:rgba(24,30,34,.68);opacity:0;transition:opacity .18s}
.cred:hover .cred-zoom,.cred-shot:focus-visible .cred-zoom{opacity:1}
.cred-meta{padding:12px 12px 14px}
.cred-n{font-family:var(--f-display);font-size:14px;font-weight:700;color:var(--ink);line-height:1.25;min-height:2.5em}
.cred-s{font-family:var(--f-mono);font-size:9.5px;line-height:1.55;color:var(--ink3);margin-top:5px;letter-spacing:.02em}
.cred-foot{margin-top:16px;text-align:right}
.cred-foot a{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);border-bottom:1px solid var(--line2);padding-bottom:2px}
.cred-foot a:hover{color:var(--ink);border-color:var(--ink)}
/* 关闭按钮：实心墨底 + 白色 ×，任何证书底色上都可见；fixed + 高 z-index，
   避免移动端图片 min-width:640px 横向铺满时把按钮压在白证书下面。
   用站点已有 --ink，不新增配色（配色冻结不动）。 */
.cert-lb-x{position:fixed;top:14px;right:14px;z-index:130;width:46px;height:46px;
  border:1px solid rgba(255,255,255,.55);background:var(--ink);color:#fff;
  font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer;
  -webkit-tap-highlight-color:transparent}
.cert-lb-x:hover,.cert-lb-x:focus-visible{border-color:#fff;outline:2px solid #fff;outline-offset:2px}
.placeholder{display:grid;place-items:center;text-align:center;padding:30px;width:100%;min-height:300px;border:1px dashed var(--line2);background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(30,42,44,.015) 12px,rgba(30,42,44,.015) 24px);color:var(--ink2)}
.placeholder .ph-ico{width:40px;height:40px;color:var(--ink3);margin:0 auto 14px}
.placeholder b{display:block;font-family:var(--f-display);font-size:21px;font-weight:700;color:var(--ink)}
.placeholder span{font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:var(--ink3);text-transform:uppercase;line-height:1.8;display:block;margin-top:8px}
.factory-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.factory-media{background:var(--surface2);min-height:360px;position:relative;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center}
.factory-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.qc{padding:30px 32px;background:var(--card);border:1px solid var(--line)}
.qc h3{font-size:28px;margin-bottom:10px}
.qc>p{font-size:14px;color:var(--ink2);margin:0 0 20px}
.qc-list:not(.plant .qc-list){border-top:1px solid var(--line)}
.certs{margin-top:54px}
.certs h3{font-size:27px;margin-bottom:8px}
.certs>p{font-size:14px;color:var(--ink2);margin:0 0 24px}

/* ---------------- applications / process (legacy) ---------------- */
.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.app{background:var(--card);padding:26px 22px;min-height:186px;display:flex;flex-direction:column;transition:background .3s}
.app:hover{background:var(--surface)}
.app .ico{width:36px;height:36px;color:var(--ink2);margin-bottom:20px}
.app h4{font-size:19px;margin:0 0 8px;font-weight:700}
.app p{font-size:12.5px;color:var(--ink3);margin:0;line-height:1.6}
.app .idx{font-family:var(--f-mono);font-size:10px;color:var(--ink3);margin-top:auto;padding-top:16px;letter-spacing:.1em}
.process{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.step{background:var(--card);padding:22px 18px 24px;position:relative}
.step .n{font-family:var(--f-mono);font-size:10px;color:var(--ink3);letter-spacing:.12em;font-weight:600}
.step .dot{width:8px;height:8px;border:2px solid var(--ink3);background:transparent;margin:16px 0 20px;transform:rotate(45deg)}
.step:nth-child(odd) .dot{background:var(--ink3)}
.step h4{font-size:18px;margin:0 0 8px;line-height:1.1}
.step p{font-size:12px;color:var(--ink3);margin:0;line-height:1.6}
.oem-band{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;margin-top:36px;padding:32px 36px;background:var(--surface);border:1px solid var(--line)}
.checklist h3{font-size:28px;margin-bottom:8px}
.checklist>p{font-size:14.5px;color:var(--ink2);margin-bottom:20px}
.check-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.check{background:var(--card);padding:16px 15px;font-size:13px;color:var(--ink2);line-height:1.5}
.check b{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:7px;font-weight:600}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.why-card{background:var(--card);padding:28px 26px 30px}
.why-card .wn{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;color:var(--ink3);text-transform:uppercase;font-weight:600}
.why-card h3{font-size:24px;margin:14px 0 10px}
.why-card p.b{font-size:14px;color:var(--ink2);line-height:1.7}
.specs-grid{display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:clamp(34px,5vw,80px);align-items:start}
.spec-table{border-top:2px solid var(--ink)}
.spec-table .row{display:grid;grid-template-columns:minmax(140px,.75fr) 1.25fr;gap:20px;padding:13px 4px;border-bottom:1px solid var(--line);font-size:14px}
.spec-table .row .k{font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3)}
.spec-table .row .v{color:var(--ink);font-weight:600}
.spec-table .row .v em{font-style:normal;color:var(--heat)}
.side-note{background:var(--ink);color:var(--on-dark);padding:30px 28px;position:sticky;top:100px}
.side-note h3{color:var(--on-dark);font-size:27px;margin-bottom:12px}
.side-note p{font-size:14px;color:var(--on-dark2);margin:0 0 20px}
.side-note ul{list-style:none;padding:0;margin:0 0 24px}
.side-note li{font-size:13px;color:var(--on-dark2);padding:9px 0 9px 20px;border-bottom:1px solid var(--on-dark3);position:relative}
.side-note li::before{content:"+";position:absolute;left:0;color:var(--ink3);font-weight:700}

/* ---------------- FAQ ---------------- */
.faq-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(34px,5vw,80px);align-items:start}
.faq-note h3{font-size:clamp(26px,2.6vw,38px);margin:0 0 14px;line-height:1}
.faq-note p{font-size:14px;color:var(--ink2);margin:0 0 18px;line-height:1.75}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{width:100%;background:none;border:0;color:var(--ink);text-align:left;padding:21px 44px 21px 0;cursor:pointer;position:relative;font-family:var(--f-display);font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.15;letter-spacing:-.01em}
.faq-q::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:var(--f-mono);font-size:22px;color:var(--ink3);font-weight:400;transition:transform .4s var(--ease)}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a p{padding:0 40px 22px 0;margin:0;font-size:14px;color:var(--ink2);line-height:1.8}

/* ---------------- 06 / RFQ sheet ---------------- */
.rfq{background:var(--surface);border-top:1px solid var(--line)}
.rfq-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(34px,5vw,80px);align-items:start}
.rfq h2{margin:22px 0 18px}
.rfq .lede{color:var(--ink2)}
.promises{margin-top:30px;border-top:1px solid var(--line)}
.promises > div{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--ink2);align-items:baseline}
.promises > div > div{line-height:1.65}
.promises span{color:var(--ink3);font-family:var(--f-mono);font-size:11px;font-weight:600}
.promises b{color:var(--ink)}
.direct{margin-top:26px;font-family:var(--f-mono);font-size:11px;color:var(--ink3);line-height:2.1}
.direct a{color:var(--ink);border-bottom:1px solid var(--line2)}
.direct a:hover{color:var(--ink);border-color:var(--ink)}
.form-box{background:var(--card);color:var(--ink);border:1px solid var(--line);padding:clamp(24px,3vw,38px)}
.form-box .fh{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);padding-bottom:16px;border-bottom:1px solid var(--ink);margin-bottom:0;display:flex;justify-content:space-between;gap:12px;font-weight:500}
.form-box .fh b{color:var(--ink);font-weight:600}
.form-grid{display:grid;grid-template-columns:1fr 1fr}
.field{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.field:nth-child(2n){border-right:0}
.field.full{grid-column:1/-1;border-right:0}
.field label{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-weight:500}
.field label i{color:var(--ink3);font-style:normal}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;color:var(--ink);padding:4px 0;font-size:14px;font-family:var(--f-body);border-radius:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;box-shadow:inset 0 -2px 0 var(--ink)}
.field input::placeholder,.field textarea::placeholder{color:#A9AFA6}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237B847E' fill='none' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px;cursor:pointer}
.field textarea{resize:vertical;min-height:76px}
.field select option{background:var(--card);color:var(--ink)}
.form-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
.form-foot small{font-family:var(--f-mono);font-size:10px;color:var(--ink3);max-width:38ch;line-height:1.65}
.form-status{margin-top:18px;padding:13px 15px;border:1px solid var(--line2);font-size:13px;display:none;line-height:1.65}
.form-status.ok{display:block;border-color:var(--ink);background:var(--surface);color:var(--ink)}
.form-status.warn{display:block;border-color:var(--ink3);background:var(--surface);color:#7A2A0E}
.form-status .st-title{display:block;font-family:var(--f-display);font-size:19px;font-weight:700;margin-bottom:5px}
.form-status a{color:var(--ink3);text-decoration:underline;margin-right:14px}
.form-status .st-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}
.form-status .st-actions a{border:1px solid var(--line2);padding:7px 12px;text-decoration:none;font-family:var(--f-mono);font-size:10px;text-transform:uppercase}
.err{box-shadow:inset 0 -2px 0 #C0392B !important;background:#FBEDE9 !important}
/* legacy quick-quote card */
.qq-card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--ink3);padding:22px 24px 20px}
.qq-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.qq-head h3{font-size:22px}
.qq-head .qq-badge{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);background:var(--surface);border:1px solid var(--line);padding:5px 9px;font-weight:600;white-space:nowrap}
.qq-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.qq-form .full{grid-column:1/-1}
.qq-field{display:flex;flex-direction:column;gap:5px}
.qq-field label{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.qq-field label i{color:var(--ink3);font-style:normal}
.qq-field input,.qq-field textarea,.qq-field select{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:10px 12px;font-size:13.5px}
.qq-field input:focus,.qq-field textarea:focus,.qq-field select:focus{outline:0;border-color:var(--ink3)}
.qq-field textarea{resize:vertical;min-height:62px}
.qq-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.qq-note{font-family:var(--f-mono);font-size:9.5px;color:var(--ink3);line-height:1.6;max-width:30ch}
.inquiry{background:var(--surface)}
.inq-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(40px,5vw,88px);align-items:start}
.inq-left h2{margin:22px 0 18px}
.inq-left .lede{font-size:15.5px}

/* ---------------- landing pages ---------------- */
.page-hero{background:var(--card);border-bottom:1px solid var(--line);padding:clamp(48px,5vw,80px) 0;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-4%;top:-40%;width:42%;height:180%;background-image:linear-gradient(rgba(30,42,44,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(30,42,44,.035) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.page-hero .wrap>*{position:relative;z-index:1}
.crumb{display:flex;gap:10px;align-items:center;font-family:var(--f-mono);font-size:10.5px;color:var(--ink3);margin-bottom:30px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.08em}
.crumb a:hover{color:var(--ink3)}
.crumb span{color:var(--line2)}
.crumb b{color:var(--ink);font-weight:600}
.page-hero h1{max-width:22ch;font-size:clamp(48px,6vw,96px);margin:20px 0 18px;line-height:.88}
.page-hero .lede{font-size:17px;max-width:66ch}
.kicker{margin-top:26px;display:flex;gap:10px 22px;flex-wrap:wrap;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
.kicker b{color:var(--ink3)}
.kicker span{display:inline-flex;align-items:center;gap:8px}
.kicker span::before{content:"+";color:var(--ink3);font-weight:700}
/* buyer decision path — turns a keyword set into a sourcing journey */
.decision-path{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:center;padding:0 0 26px;margin-bottom:clamp(30px,4vw,52px);border-bottom:1px solid var(--line)}
.dp-label{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.dp-links{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dp-step{background:var(--card);padding:13px 14px;font-family:var(--f-display);font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ink2);display:flex;align-items:baseline;gap:9px;transition:background .25s,color .25s}
.dp-step span{display:none}  /* 去 AI 味指令 06：删决策路径编号 */
.dp-step:hover{background:var(--ink);color:var(--on-dark)}
.dp-step:hover span{color:var(--ink3)}
.dp-step.dp-here{background:var(--ink);color:#fff}
.dp-step.dp-here span{color:rgba(255,255,255,.75)}
.lp-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.62fr);gap:clamp(32px,5vw,72px);align-items:start}
.article{max-width:78ch}
.article h2{font-size:clamp(30px,3vw,44px);margin:52px 0 18px;line-height:1;letter-spacing:-.02em}
.article h2:first-child{margin-top:0}
.article h2::before{content:"";display:block;width:34px;height:2px;background:var(--ink);margin-bottom:18px}
.article h3{font-size:23px;margin:30px 0 10px}
.article p{font-size:15px;color:var(--ink2);line-height:1.85;margin-bottom:16px}
.article ul{margin:0 0 20px;padding-left:0;list-style:none}
.article li{font-size:14.5px;color:var(--ink2);padding:9px 0 9px 24px;position:relative;line-height:1.7;border-bottom:1px solid var(--line)}
.article li::before{content:"→";position:absolute;left:0;color:var(--ink3);font-weight:700}
.article li strong{color:var(--ink)}
.article a:not(.btn){color:var(--ink3);text-decoration:underline;text-underline-offset:3px}
.lp-spec{border-top:2px solid var(--ink);margin:8px 0 12px}
.lp-spec .row{display:grid;grid-template-columns:minmax(150px,.72fr) 1.28fr;gap:18px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:14px}
.lp-spec .row .k{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}
.lp-spec .row .v{color:var(--ink);font-weight:600}
.faq-list{margin-top:8px}
.side-card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--ink3);padding:26px 24px;position:sticky;top:100px}
.sc-tag{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:12px}
.side-card h3{font-size:27px;margin-bottom:12px}
.side-card>p{font-size:13.5px;color:var(--ink2);line-height:1.75;margin-bottom:20px}
.side-card .btn{width:100%;margin-bottom:10px}
.side-card .mini{font-family:var(--f-mono);font-size:10.5px;color:var(--ink3);line-height:2;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.side-card .mini b{color:var(--ink3)}
.cta-band{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;margin:44px 0 0;padding:28px 30px;background:var(--surface);border:1px solid #E9CBBB}
.cta-band h3{font-size:26px;margin-bottom:7px}
.cta-band p{font-size:14px;color:var(--ink2);margin:0;max-width:58ch}
.related{margin-top:48px}
.related h3{font-size:24px;margin-bottom:18px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.rel-grid a{background:var(--card);padding:20px;display:block;transition:background .3s}
.rel-grid a:hover{background:var(--surface)}
.r-k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.r-t{font-family:var(--f-display);font-size:19px;font-weight:700;letter-spacing:-.01em;margin:9px 0 7px;line-height:1.15}
.r-d{font-size:12.5px;color:var(--ink3);line-height:1.6}
.lp-form{margin-top:52px;max-width:860px}
.lp-form .eyebrow{margin-bottom:20px}

/* ---------------- footer ---------------- */
footer{background:var(--ink);color:var(--on-dark2);padding-top:clamp(56px,6vw,80px);padding-bottom:26px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:clamp(28px,4vw,60px);padding-bottom:48px}
.foot-brand .brand{color:var(--on-dark);margin-bottom:4px}
.foot-brand p{font-size:13.5px;color:var(--on-dark2);max-width:36ch;margin:16px 0 0;line-height:1.8}
.foot-col h5{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin:0 0 16px;font-weight:600}
.foot-col a,.foot-col span{display:block;font-size:13px;color:var(--on-dark2);padding:5px 0;transition:color .25s}
.foot-col a:hover{color:var(--on-dark)}
.foot-bottom{border-top:1px solid var(--on-dark3);padding-top:20px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;color:var(--on-dark3)}
.foot-bottom a:hover{color:var(--on-dark)}
.demo-note{background:var(--surface);color:#7A2A0E;text-align:center;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.05em;padding:9px 16px;border-top:1px solid #E9CBBB}
.demo-note b{font-weight:700}

/* ---------------- reveal ---------------- */
/* 去 AI 味（指令 06）：全站淡入与 55ms 阶梯已移除，内容立即出现 */
.rv{opacity:1;transform:none}

/* ---------------- responsive ---------------- */
@media(max-width:1100px){
  .hero-frame{grid-template-columns:1fr;min-height:0}
  .hero-copy{border-bottom:1px solid var(--line)}
  .hero-visual{min-height:0}
  /* 窄屏：图片改为文档流，高度随自身比例，避免上下露出羽化边 */
  .hv-photo{position:relative;inset:auto}
  .hv-photo.has-photo img{position:relative;right:auto;top:auto;width:auto;height:auto;max-width:100%;max-height:58vh;margin:0 auto;display:block;object-fit:contain;object-position:center}
  .hv-tag,.hv-lead,.hv-cap{display:none}
  .tech-grid,.specs-grid,.faq-grid,.inq-grid,.lp-grid,.factory-grid,.rfq-grid,.plant-body{grid-template-columns:1fr}
  .side-note,.side-card{position:static}
  .prod-grid,.rel-grid,.app-grid,.why-grid{grid-template-columns:repeat(2,1fr)}
  .check-grid{grid-template-columns:repeat(3,1fr)}
  .process{grid-template-columns:repeat(3,1fr)}
  .cert-grid{grid-template-columns:repeat(2,1fr)}
  .cert-fig{height:330px}
  .foot-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--card);border-bottom:1px solid var(--line2);flex-direction:column;align-items:stretch;padding:16px var(--pad) 24px;gap:0}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
  .nav-links .btn{margin:18px 0 0;justify-content:center}
  .burger{display:flex}
  .nav .wrap{gap:10px}
  .lang-switch{margin-left:auto;margin-right:4px}
}
@media(max-width:680px){
  .hv-hud{display:none}
  .chap,.sec-head{grid-template-columns:1fr;gap:16px}
  .specwall{grid-template-columns:1fr 1fr}
  .sw-cell:nth-child(2){border-right:0}
  .sw-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .compare,.evidence-in,.statgrid{grid-template-columns:1fr}
  .cmp-a{border-right:0;border-bottom:2px solid var(--ink3)}
  .ev-item,#statGrid .stat,.statbar .stat{border-right:0;border-bottom:1px solid var(--line);padding-left:24px}
  .ev-item:first-child,#statGrid .stat:first-child{padding-left:24px}
  .ev-item:last-child,#statGrid .stat:last-child,.statbar .stat:last-child{border-bottom:0}
  .cat-row{grid-template-columns:44px 72px minmax(0,1fr) 28px;gap:12px}
  .cat-spec{display:none}
  .cat-fig{height:58px}
  .prod-grid,.app-grid,.why-grid,.rel-grid,.check-grid,.foot-grid{grid-template-columns:1fr}
  .process{grid-template-columns:1fr 1fr}
  .cert-grid{grid-template-columns:1fr}
  .cert-fig{height:300px}
  .cert-grid .cert{padding:12px 12px 14px}
  .form-grid,.qq-form{grid-template-columns:1fr}
  .field,.field:nth-child(2n){border-right:0}
  .oem-band,.cta-band{grid-template-columns:1fr;padding:22px}
  .decision-path{grid-template-columns:1fr;gap:12px}
  .dp-links{grid-template-columns:repeat(5,1fr)}
  .dp-step{font-size:13px;padding:10px 6px;flex-direction:column;gap:2px;text-align:center;justify-content:center}
  .tb-right{display:none}
  /* 窄屏导航通用收紧：英文态 brand 字号大于中文态，之前只验中文态漏了溢出 */
  .nav .wrap{gap:8px}
  .brand{font-size:20px;gap:8px}
  .brand .mark{width:24px;height:24px}
  .brand small{font-size:7px;letter-spacing:.08em}
  .lang-switch{padding:2px}
  .lang-switch button{padding:5px 6px}
  .burger{width:38px;height:38px}
  .readout{padding:8px 11px;min-width:100px}.readout .v{font-size:22px}
  .form-box,.qq-card,.qc{padding:20px 18px}
  .page-hero h1{font-size:clamp(40px,9vw,60px)}
  .hero-title{font-size:clamp(40px,10vw,68px)}
}
/* ---------------- 中文态版式（Archivo 无中文字形，用系统 CJK） ---------------- */
html[lang="zh-CN"]{
  --f-display:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',sans-serif;
  --f-sans:'IBM Plex Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC',sans-serif}
html[lang="zh-CN"] .hero-title{font-size:clamp(48px,5.3vw,76px);line-height:1.06;letter-spacing:-.01em}
/* 中文黑体字面宽、笔画密：标题统一降字号、拉开行距与字距，避免顶格粘连 */
html[lang="zh-CN"] h2{font-size:clamp(34px,4.6vw,58px);line-height:1.16;letter-spacing:.01em}
html[lang="zh-CN"] h3{line-height:1.2}
html[lang="zh-CN"] .chap-n{margin-bottom:14px}
html[lang="zh-CN"] .hero-title .t1,html[lang="zh-CN"] .hero-title .t2{white-space:nowrap}
html[lang="zh-CN"] .brand{font-size:22px}
html[lang="zh-CN"] .table-wrap table{font-size:12.5px}
html[lang="zh-CN"] .table-wrap th,html[lang="zh-CN"] .table-wrap td{white-space:normal;word-break:break-word}
html[lang="zh-CN"] .faq-q,html[lang="zh-CN"] .cat-name,html[lang="zh-CN"] .r-t{letter-spacing:0}
@media(max-width:1100px){
  html[lang="zh-CN"] .nav .wrap{gap:12px}
  html[lang="zh-CN"] .lang-switch{margin-right:6px}
}
@media(max-width:680px){
  html[lang="zh-CN"] .hero-title{font-size:clamp(34px,8.6vw,52px)}
  html[lang="zh-CN"] .hero-title .t1{white-space:normal}
  html[lang="zh-CN"] .brand{font-size:19px}
  html[lang="zh-CN"] .brand small{font-size:7px;letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .rv{opacity:1;transform:none}
}

/* ---------------- 05 / APPLICATIONS (home) ---------------- */
.apps-sec{background:var(--line);border-color:var(--line)}
.apps-sec .app{background:var(--paper);padding:24px 22px;min-height:172px}
.apps-sec .app:hover{background:var(--band)}
.apps-sec .app .ico{width:30px;height:30px;color:var(--ink3);margin-bottom:16px;opacity:.9}
.apps-sec .app h4{font-size:17.5px;letter-spacing:-.005em;margin:0 0 7px;line-height:1.2}
.apps-sec .app p{font-size:12.5px;color:var(--ink3);line-height:1.62;margin:0}
.apps-sec .app .idx{margin-top:16px;padding-top:0;font-size:9.5px;color:var(--ink3);opacity:.7}

/* ---------------- OEM variables strip (home / product section) ---------------- */
.oem-strip{margin-top:clamp(30px,3.4vw,48px);border-top:1px solid var(--line);padding-top:clamp(24px,2.6vw,34px)}
.oem-strip .oem-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:40px;align-items:baseline;margin-bottom:22px}
.oem-strip .oem-h p{font-size:13.5px;color:var(--ink3);line-height:1.7}
.oem-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.oem-cell{background:var(--paper);padding:18px 16px 20px}
.oem-k{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:9px;line-height:1.35}
.oem-v{font-size:12px;color:var(--ink3);line-height:1.6}
@media (max-width:1100px){.oem-grid{grid-template-columns:repeat(3,1fr)}.oem-strip .oem-h{grid-template-columns:1fr;gap:12px}}
@media (max-width:680px){.oem-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.plant-strip-photo{aspect-ratio:auto;min-height:0;height:190px}}

@media (max-width:1200px){.cred-shot{height:210px}}
@media (max-width:1100px){
  .cred-head{grid-template-columns:1fr;align-items:start}
  .cred-wall{grid-template-columns:repeat(3,1fr)}
  .cred-shot{height:262px}
}
@media (max-width:680px){
  .cred-wall{grid-template-columns:1fr 1fr}
  html[lang="zh-CN"] .cred-h{font-size:clamp(23px,5.6vw,26px)}
  .cred-p{font-size:12.5px}
  .cred-shot{height:200px}
  .cred-meta{padding:10px 10px 12px}
  .cred-n{font-size:13px}
  .cred-s{font-size:9px}
  .cred-foot{text-align:left}
}

@media (max-width:1320px){
  .nav-links{gap:13px}
  .nav-links a{font-size:10.8px;letter-spacing:.035em}
  .nav-links .btn{padding-left:13px;padding-right:13px}
}

@media (max-width:1160px){
  .nav-links{gap:9px}
  .nav-links a{font-size:10.2px;letter-spacing:.015em}
  .nav-links .btn{padding-left:11px;padding-right:11px;gap:6px}
  .brand small{font-size:8.5px}
}

html[lang="zh-CN"] .cred-h{font-size:clamp(24px,3vw,34px);line-height:1.16;letter-spacing:.005em}

/* ---------- 询盘表单：图纸上传 + 隐私同意 ---------- */
.fhint{font-family:var(--f-mono);font-size:9.5px;font-weight:400;letter-spacing:.04em;color:var(--ink3);margin-left:6px;text-transform:none}
.file-drop{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px dashed var(--line2);background:var(--surface2);cursor:pointer;position:relative;transition:border-color .2s,background .2s}
.file-drop:hover{border-color:var(--ink3);background:#fff}
.file-drop.is-over{border-color:var(--ink3);background:#fff}
.file-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-drop.err{border-color:var(--ink3)}
.fd-ico{width:22px;height:22px;flex:none;display:grid;place-items:center;border:1px solid var(--line2);color:var(--ink2);font-size:15px;line-height:1}
.fd-t{font-size:12.5px;color:var(--ink2)}
.fd-n{font-family:var(--f-mono);font-size:10px;color:var(--ink3);margin-left:auto;text-align:right;max-width:52%;text-transform:none;letter-spacing:0}
.fd-n.err{color:var(--ink3)}
.consent{margin-top:2px}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.62;color:var(--ink2);cursor:pointer}
.ck input{margin:3px 0 0;width:14px;height:14px;flex:none;accent-color:var(--ink3)}
.ck a{color:var(--ink);border-bottom:1px solid currentColor}
.ck i{color:var(--ink3);font-style:normal}
.ck input.err{outline:1px solid var(--ink3);outline-offset:2px}

/* ---------- 隐私政策 / 404 ---------- */
.pp{max-width:74ch;margin-top:38px}
.pp h2{font-family:var(--f-display);font-size:clamp(19px,1.6vw,23px);line-height:1.25;letter-spacing:-.01em;margin:34px 0 10px;color:var(--ink)}
.pp h2:first-child{margin-top:0}
.pp p{font-size:14.5px;line-height:1.78;color:var(--ink2);margin:0}
.pp a{color:var(--ink);border-bottom:1px solid var(--line2)}
html[lang="zh-CN"] .pp h2{font-size:clamp(18px,1.6vw,22px);line-height:1.4;letter-spacing:0}
html[lang="zh-CN"] .pp p{line-height:1.95}
@media (max-width:680px){.pp{margin-top:28px}.pp h2{margin:26px 0 8px}.pp p{font-size:14px;line-height:1.7}}

/* iOS：输入框字号 <16px 会在聚焦时强制放大页面 */
@media (max-width:680px){
  .field input,.field select,.field textarea{font-size:16px}
}

/* ============================================================================
   文章中心 / Technical library  ·  按发布时间倒序的清单式版式
   ========================================================================== */
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:20px 0 24px;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-weight:500}
.byline time{color:var(--ink2)}
.by-k{color:var(--ink3)}
.by-sep{color:var(--line2)}
.by-rt b{font-weight:600;color:var(--ink)}
.by-au{color:var(--ink2)}

.jrn-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;
  border-top:1px solid var(--line);padding:14px 0 0;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3);font-weight:500}
.jrn-list{display:block}
.jrn-item{position:relative;display:grid;grid-template-columns:190px 1fr;gap:0 clamp(24px,4vw,64px);
  padding:clamp(28px,3.4vw,42px) 0 clamp(24px,3vw,36px);border-bottom:1px solid var(--line)}
.jrn-item:first-child{border-top:1px solid var(--line)}
.jrn-meta{display:flex;flex-direction:column;gap:8px;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-weight:500;line-height:1.5}
.jrn-meta time{color:var(--ink2)}
.jrn-cat{color:var(--ink3)}
.jrn-rt b{font-weight:600;color:var(--ink2)}
.jrn-t{font-family:var(--f-display);font-size:clamp(24px,2.6vw,34px);line-height:1.06;font-weight:700;margin:0 0 12px;letter-spacing:-.01em}
.jrn-t a{color:var(--ink);transition:color .25s}
.jrn-t a::after{content:"";position:absolute;inset:0}
.jrn-d{margin:0 0 14px;max-width:62ch;color:var(--ink2);font-size:15.5px;line-height:1.62}
.jrn-more{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink3)}
.jrn-more::after{content:"→";transition:transform .3s var(--ease)}
.jrn-item:hover .jrn-t a,.jrn-item:focus-within .jrn-t a{color:var(--ink3)}
.jrn-item:hover .jrn-more::after{transform:translateX(5px)}
@media (max-width:760px){
  .jrn-item{grid-template-columns:1fr;gap:0}
  .jrn-meta{flex-direction:row;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}
  .jrn-d{font-size:15px}
}
html[lang="zh-CN"] .jrn-t{font-family:var(--f-body);font-weight:600;letter-spacing:0;line-height:1.35;font-size:clamp(20px,2.2vw,27px)}
html[lang="zh-CN"] .byline,html[lang="zh-CN"] .jrn-meta,html[lang="zh-CN"] .jrn-bar{letter-spacing:.06em;text-transform:none}

/* 中文界面：无衬线拉丁字体没有中文字形，回退字重偏黑、行高 .88 会挤成一坨 */
html[lang="zh-CN"] .page-hero h1{font-family:var(--f-body);font-weight:600;
  font-size:clamp(30px,4.4vw,54px);line-height:1.3;letter-spacing:0;max-width:1180px}
html[lang="zh-CN"] .article h2{line-height:1.35}

.lib-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;margin:44px 0 0;
  padding-top:20px;border-top:1px solid var(--line)}
.lib-k{font-family:var(--f-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink3);font-weight:600}
.article .lib-strip a{font-size:14.5px;color:var(--ink2);text-decoration:none;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.article .lib-strip a:hover{color:var(--ink);border-color:var(--ink)}

/* ============================================================================
   产品页 · 工程示意图（datasheet 式版式，不是产品照）
   ========================================================================== */
.prod-fig{margin:0;background:#E9EBED;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.prod-fig .pf-in{padding:clamp(18px,3.2vw,38px) var(--pad) 0}
.prod-fig img{display:block;width:100%;max-width:1140px;height:auto;margin:0 auto}
.prod-fig figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;
  max-width:1140px;margin:0 auto;padding:14px var(--pad) clamp(16px,2.4vw,24px);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink3);font-weight:500;line-height:1.5}
.pf-no{display:none}  /* 去 AI 味指令 06：删图注编号 */
.pf-series{color:var(--ink);font-weight:600}
.pf-note{color:var(--ink3);letter-spacing:.04em;text-transform:none;font-family:var(--f-body);
  font-size:13px;max-width:52ch}
.pf-unit{margin-left:auto;color:var(--ink3);font-size:9.5px;letter-spacing:.16em;text-transform:none}
@media (max-width:760px){
  .prod-fig figcaption{padding-left:var(--pad);padding-right:var(--pad)}
  .pf-unit{margin-left:0;width:100%}
}
html[lang="zh-CN"] .pf-note{font-size:13px;letter-spacing:.02em}

/* 产品页首屏：左文右图，首屏就能看到工程图 */
.hero-split .wrap{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(28px,3.8vw,68px);align-items:center}
.hs-l{min-width:0}
.hs-l h1{font-size:clamp(44px,4.9vw,86px);line-height:.92}
.hs-fig{margin:0;min-width:0}
.hs-fig img{display:block;width:100%;height:auto;background:#E9EBED;
  border:1px solid var(--line)}
.hs-fig figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 14px;padding:12px 2px 0;
  font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink3);font-weight:500;line-height:1.5}
.hs-fig .pf-note{font-family:var(--f-body);text-transform:none;letter-spacing:.01em;
  font-size:11.5px;max-width:38ch}
@media (max-width:1080px){
  .hero-split .wrap{grid-template-columns:1fr;gap:clamp(24px,4vw,36px)}
  .hs-l h1{font-size:clamp(40px,7vw,72px)}
  .hs-fig{order:2}
}
html[lang="zh-CN"] .hs-l h1{font-family:var(--f-body);font-weight:600;line-height:1.24;
  font-size:clamp(28px,3.5vw,48px);letter-spacing:0}
html[lang="zh-CN"] .hs-fig figcaption{letter-spacing:.05em;text-transform:none}
.hero-split .eyebrow{font-size:9.5px;letter-spacing:.15em;gap:8px}
.hero-split .kicker{font-size:9.5px;letter-spacing:.12em;gap:6px 14px}
.hero-split .lede{font-size:16px;max-width:46ch}
html[lang="zh-CN"] .hero-split .eyebrow{font-size:9.5px;letter-spacing:.06em}
.hs-fig img,.prod-fig img{cursor:zoom-in}
.cert-lb img[src$=".svg"]{background:#F0F1F2}
@media (max-width:760px){
  .cert-lb{overflow:auto;-webkit-overflow-scrolling:touch}
  .cert-lb img{min-width:640px}
}

/* ============================================================================
   去 AI 味 · 批次 B/C：图纸 / 文档体裁层（2026-11）
   配色冻结：以下样式只复用 :root 现有色值，不新增任何颜色、不动产品图底色。
   ========================================================================== */

/* ---- 指令 02：页眉图纸标题栏（全站最顶一条等宽细线栏） ---- */
.dwg-head{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);
  background:var(--card);font-family:var(--f-mono);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink3)}
.dwg-head .wrap{display:flex;justify-content:space-between;align-items:center;
  gap:16px;min-height:30px;flex-wrap:wrap}
.dwg-head .dh-r{white-space:nowrap}
@media (max-width:680px){
  .dwg-head{font-size:8.5px;letter-spacing:.07em}
  .dwg-head .wrap{min-height:26px;gap:6px}
  .dwg-head .dh-r{white-space:normal}
}

/* ---- 指令 05：产品页顶部「规格表文件头」 ---- */
.doc-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;
  border-top:2px solid var(--ink);border-bottom:1px solid var(--line);
  padding:10px 0;margin-bottom:26px;font-family:var(--f-mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.doc-line span:first-child{color:var(--ink);font-weight:600}
@media (max-width:680px){.doc-line{font-size:8.5px;letter-spacing:.06em;margin-bottom:20px}}

/* ---- 指令 05：正式规格表（st-head / st-row，与旧 .spec-table .row 互不干扰） ---- */
.spec-table .st-head{display:grid;grid-template-columns:minmax(140px,.72fr) 1.28fr;gap:18px;
  padding:11px 4px;border-bottom:1px solid var(--line2);
  font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.spec-table .st-row{display:grid;grid-template-columns:minmax(140px,.72fr) 1.28fr;gap:18px;
  padding:13px 4px;border-bottom:1px solid var(--line);font-size:14.5px;align-items:baseline}
.spec-table .st-row:last-child{border-bottom:0}
.spec-table .st-row .k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink3)}
.spec-table .st-row .v{color:var(--ink);font-weight:600;line-height:1.6}
@media (max-width:680px){
  .spec-table .st-head,.spec-table .st-row{grid-template-columns:1fr;gap:4px}
  .spec-table .st-head{font-size:9px}
  .spec-table .st-row .v{font-size:13.5px}
}
html[lang="zh-CN"] .spec-table .st-row .v{line-height:1.8}

/* ---- 指令 03：首页首屏两栏（文档式规格清单，不再是营销大数字） ---- */
.hero-doc{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  border-bottom:1px solid var(--line);background:var(--hero-bg)}
.hd-copy{padding:clamp(26px,2.8vw,40px) clamp(28px,3.2vw,56px) clamp(24px,2.6vw,38px) var(--pad);
  display:flex;flex-direction:column;justify-content:center}
.hd-kicker{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink2);margin-bottom:12px}
.hd-title{font-size:clamp(40px,4.5vw,68px);line-height:1.0;letter-spacing:-.025em;margin:0 0 14px}
.hd-title .t1{display:block}
.hd-title .t1 .heat{color:var(--heat)}
.hd-title .t2{display:block;font-size:.42em;letter-spacing:-.01em;line-height:1.12;
  margin-top:12px;color:var(--ink2);font-weight:500}
.hd-lede{font-size:13.5px;color:var(--ink2);line-height:1.62;max-width:58ch;margin:0 0 4px}
.hd-specs{margin:14px 0 0;border-top:1px solid var(--line2);padding-top:4px}
.hs-row{display:flex;align-items:baseline;gap:10px;padding:4px 0;border-bottom:1px dotted var(--line2);font-size:13px}
.hs-row:last-child{border-bottom:1px solid var(--line)}
.hs-row .k{font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink3);flex:none}
.hs-row .dots{flex:1;border-bottom:1px dotted var(--line2);min-width:12px;transform:translateY(-3px)}
.hs-row .v{font-family:var(--f-mono);font-size:12.5px;color:var(--ink);font-weight:600;text-align:right}
.hs-row .v em{font-style:normal;color:var(--ink3);font-weight:400}
.hd-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hd-fig{position:relative;background:var(--hero-bg);display:flex;flex-direction:column;min-height:360px}
.hd-fig-img{position:relative;flex:1;overflow:hidden;background:var(--hero-bg)}
/* 主视觉是 632×1002 竖构图全家福，右栏是横框；contain 会在两侧留大片同色底，
   产品只占右栏宽约 31%，显得空、焦点散。去掉内边距并等比放大，把产品占比提到约 41%。
   溢出的部分全是与 --hero-bg 同色的纯底，被 overflow:hidden 无痕裁掉：
   不新增色值、不改布局高度（transform 不占布局）、不裁到产品主体。
   硬上限：竖图塞横框时，高度撑满后产品宽最多约 0.60×容器高；
   若要产品铺满整个右栏，需换横构图实拍（本次不动图片资产）。 */
.hd-fig-img.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  object-position:center;padding:0;transform:scale(1.10);transform-origin:center center}
.hd-fig-cap{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;
  border-top:1px solid var(--line2);padding:12px clamp(18px,2.6vw,34px);
  font-family:var(--f-mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3)}
@media (max-width:1100px){
  .hero-doc{grid-template-columns:1fr}
  .hd-copy{border-bottom:1px solid var(--line)}
  .hd-fig{min-height:0}
  .hd-fig-img{min-height:clamp(260px,42vw,420px)}
}
@media (max-width:680px){
  .hd-title{font-size:clamp(30px,8vw,44px)}
  .hs-row .v{font-size:11.5px}
  .hd-fig-cap{font-size:8.5px;letter-spacing:.06em}
  /* 窄屏小标签折行时，不让中点单独甩到行首 */
  .hd-kicker{font-size:9px;letter-spacing:.1em;line-height:1.6}
}
html[lang="zh-CN"] .hd-title{font-family:var(--f-body);font-size:clamp(28px,3.6vw,48px);
  line-height:1.3;letter-spacing:0;font-weight:600}
html[lang="zh-CN"] .hd-title .t2{font-size:.56em}
html[lang="zh-CN"] .hs-row .k{font-size:10px;letter-spacing:0}
/* 灰蓝底(#DCE0E8)上 --ink3 仅 4.29:1，不足 AA；统一压到 --ink2(5.83:1)。
   红色 --heat 只用于 >=40px 的大号数字，大字阈值 3:1 达标(4.14:1)。 */
.hero-doc .hd-kicker,.hero-doc .hs-row .k,.hero-doc .hd-fig-cap{color:var(--ink2)}

/* ---- 指令 04：真目录表（保留已确认的实拍缩略图，去卡片感与 hover 位移） ---- */
.cat-thead{display:grid;grid-template-columns:64px 116px minmax(0,1fr) minmax(140px,220px) 34px;
  gap:clamp(14px,2vw,28px);align-items:center;padding:0 0 12px;
  border-bottom:2px solid var(--ink);font-family:var(--f-mono);font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.cat-thead span:first-child{color:var(--ink);font-weight:600}
.catalog .cat-row{transition:background .2s}
.catalog .cat-row:hover{padding-left:0;padding-right:0;background:var(--band)}
.catalog .cat-fig{border:0;background:transparent;padding:0}
.catalog .cat-fig.has-photo{background:var(--hero-bg)}
.catalog .cat-n{font-size:13px;color:var(--ink);letter-spacing:.04em}
@media (max-width:680px){.cat-thead{display:none}}

/* ---- 指令 08：证据文件条（每条都指向真实可点开的证书扫描件） ---- */
.file-list{display:block;border-top:2px solid var(--ink)}
.file-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.25fr) minmax(0,.75fr) 96px;
  gap:clamp(12px,2vw,28px);align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}
.file-row:last-child{border-bottom:0}
.fr-name{font-family:var(--f-display);font-size:17px;font-weight:700;color:var(--ink);line-height:1.25}
.fr-no{font-family:var(--f-mono);font-size:11px;color:var(--ink2);line-height:1.6;letter-spacing:.02em}
.fr-issuer{font-family:var(--f-mono);font-size:9.5px;color:var(--ink3);line-height:1.6;letter-spacing:.04em}
.fr-open{justify-self:end;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);border:0;border-bottom:1px solid var(--line2);padding:0 0 2px;background:none;
  cursor:pointer;white-space:nowrap}
.fr-open:hover{color:var(--ink2);border-color:var(--ink)}
.file-intro{margin:0 0 18px;font-size:13.5px;color:var(--ink2);line-height:1.7;max-width:78ch}
/* about 页 #certGrid 原本是 2 列网格卡片，文件条形态改为单列列表 */
.file-list.cert-grid{display:block;background:transparent;border:1px solid var(--line);
  border-top:2px solid var(--ink);margin-top:24px;padding:0 clamp(14px,2vw,24px)}
@media (max-width:900px){
  .file-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 88px;gap:8px 16px}
  .fr-issuer{grid-column:1/3;grid-row:2}
  .fr-open{grid-column:3;grid-row:1/3}
}
@media (max-width:680px){
  .file-row{grid-template-columns:1fr auto;gap:6px 12px;padding:14px 2px}
  .fr-name{font-size:15px}
  .fr-no{grid-column:1/3;grid-row:2;font-size:10px}
  .fr-issuer{grid-column:1/3;grid-row:3}
  .fr-open{grid-column:2;grid-row:1;font-size:9px}
}
html[lang="zh-CN"] .fr-name{font-family:var(--f-body);font-size:16px;font-weight:600}
/* 首页文件条替代六格证书墙：cred-wall 容器不再用网格 */
.file-list.cred-wall{display:block;background:transparent;border:0;border-top:2px solid var(--ink);gap:0}
.file-list.cred-wall .file-row{background:transparent}

