/* RESPONSY 主题前台样式
   来源：以项目根目录 cn-site.css（中文站共享样式，纸白/石墨/钢灰/橙/墨蓝，工程制图语言）全文为基础，
   追加模板层新增组件：顶栏工具条、页脚四栏、面包屑内页、分页、产品卡片、图集、
   关键参数、功能标签、粘性面板、结果卡、搜索表单、返回顶部。 */

/* 色板以客户 LOGO 为准：RESPONSY 是酒红 #8E1B2E，DISPLAYS 是中灰 #6E6867。
   橙 #FF6A13 全面让位 —— 全站强调色、按钮、深底都走酒红系，
   底噪（纸白 / 石墨 / 中灰）保留，保证工程制图语言的克制感。 */
:root{
  --paper:#F5F3F0;
  --card:#FFFFFF;
  --ink:#14171A;
  --steel:#6E6867;
  --line:#DED9D4;
  --hair:#EAE5E0;
  --acc:#8E1B2E;        /* LOGO 主色：酒红 */
  --acc-dk:#6E1524;     /* 深酒红：悬停 */
  --acc-ink:#4A0E18;    /* 更深酒红：正文里的强调文字 */
  --acc-soft:#F7EBEC;   /* 浅酒红：标签底 */
  --deep:#460D16;       /* 深底（原 --blue #0B2440）：与 LOGO 同色系的深酒红 */
  --mono:ui-monospace,"JetBrains Mono","SFMono-Regular",Consolas,"Courier New",monospace;
  --sans:"PingFang SC","HarmonyOS Sans SC","Source Han Sans SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  --block:96px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.015em;line-height:1.22}
p{margin:0 0 14px}
.mono{font-family:var(--mono);letter-spacing:.03em}

.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.sec{padding-block:var(--block)}
.sec--tight{padding-block:64px}
.sec--card{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec--dark{background:var(--deep);color:#fff}
.lede{color:var(--steel);max-width:54ch;font-size:15.5px;margin-top:12px}
.sec--dark .lede{color:#DCC8CA}
.kicker{font:600 11.5px/1 var(--mono);letter-spacing:.16em;color:var(--steel);margin-bottom:16px}
.sec--dark .kicker{color:#AC9294}
.sec-head{margin-bottom:44px}
.sec-head h2{font-size:clamp(24px,3vw,34px);max-width:20ch}

a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--acc);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--acc);color:#fff;padding:10px 16px;z-index:99;font-weight:700}
.skip:focus{left:12px;top:12px}

/* 尺寸标注线 */
.dim{display:flex;align-items:center;gap:10px;font:500 11px/1 var(--mono);letter-spacing:.1em;color:var(--steel)}
.dim::before,.dim::after{content:"";height:1px;background:var(--line);flex:1}
.dim b{color:var(--ink);font-weight:600}

/* 顶栏工具条（模板新增） */
.topbar{background:var(--deep);color:#C6A9AB;font-size:12.5px;line-height:1.6}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:7px 28px}
.topbar-tel a{color:#fff;font-family:var(--mono);font-weight:700}
.topbar-tel a:hover{color:#fff}
.topbar-sep{margin:0 8px;opacity:.5}

/* 顶栏 */
.nav{position:sticky;top:0;z-index:40;background:rgba(245,243,240,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair)}
.nav-in{display:flex;align-items:center;gap:26px;height:64px}
/* 品牌位：放客户 LOGO（透明 PNG，宽高比 4.92:1）
   高度锁 44px —— 原文字版是单排 17px 字，换图后视觉重量重了一些，压到 44 刚好不顶导航 */
.brand{display:flex;align-items:center;flex:none}
.brand-logo{height:44px;width:auto;display:block}
.nav-links{display:flex;gap:22px;font-size:14.5px;color:#33383D}
.nav-links ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav-links li{margin:0}
.nav-links a{padding:4px 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a[aria-current="page"],
.nav-links .current-menu-item>a,.nav-links .current_page_item>a{border-bottom-color:var(--acc)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:16px}
/* 页头电话药丸：二级联系动作。实心红钮「发图询价」是主动作，电话用描边药丸 + 等宽酒红数字，
   显眼但不抢主 CTA（Martin 2026-10-16：首页联系方式要更显眼）；悬停反色成实心，拨号意图一眼可辨。 */
.tel{display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 13px;
  border:1.5px solid var(--acc);border-radius:999px;background:var(--acc-soft);
  color:var(--acc);font:700 15px/1 var(--mono);letter-spacing:.02em;
  transition:background .18s ease,border-color .18s ease,color .18s ease}
.tel:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.tel .tel-ico{flex:none;width:16px;height:16px}
.nav-cta{padding:10px 16px;font-size:14px}
.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:7px 12px;font:600 13px/1 var(--sans);color:var(--ink);cursor:pointer}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 22px;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;
  transition:background .18s,color .18s,border-color .18s}
.btn-y{background:var(--acc);color:#fff}
.btn-y:hover{background:var(--acc-dk)}
.btn-o{border-color:#14171A;color:#14171A;background:transparent}
.btn-o:hover{background:#14171A;color:#fff}
.sec--dark .btn-o{border-color:#8B6E70;color:#EEDADD}
.sec--dark .btn-o:hover{background:#fff;color:var(--deep);border-color:#fff}

/* 首屏 */
.hero{padding-block:72px 60px}
.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:52px;align-items:center}
.eyebrow{font:500 11.5px/1 var(--mono);letter-spacing:.16em;color:var(--steel);margin-bottom:20px}
.eyebrow span{color:var(--ink);font-weight:600}
.hero h1{font-size:clamp(32px,4.4vw,50px);max-width:16ch}
.hero p.sub{margin-top:20px;font-size:16.5px;color:#3B4148;max-width:44ch;line-height:1.8}
.hero-cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
.hero-trust{margin-top:22px;font-size:13px;color:var(--steel)}
.hero-trust b{color:var(--ink)}

/* 首屏轮播（有海报时） */
.hero--carousel{padding-block:0}
/* 轮播区刻意沿用原版藏蓝系（底色/遮罩 rgba(11,36,64,.56)/箭头/小标/副标 均为原配色），
   不跟随 --acc 酒红与 --deep 改色；只有轮播圆点走 var(--acc) 与全站一致。 */
.hero-carousel{position:relative;height:min(82vh,720px);min-height:520px;background:#0B2440;overflow:hidden}
.hero-carousel .slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease}
.hero-carousel .slide.is-active{opacity:1;visibility:visible}
.hero-carousel .slide img{width:100%;height:100%;object-fit:cover}
/* 上沿融进纸白、下沿沉成酒红的局部渐变：
   顶部一条纸白雾让 hero 与页面底噪无缝衔接（不再是一块生硬的深色方块），
   底部酒红由深到浅往上化开，标题和按钮压在最浓的一层上仍然读得清。 */
.hero-carousel .slide__scrim{
  position:absolute;inset:0;
  background:rgba(11,36,64,.56);
}
.hero-carousel .slide__copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 28px 13%}
.hero-carousel .slide__copy .eyebrow{color:#CFE0F2}
.hero-carousel .slide__copy h1{color:#fff;font-size:clamp(30px,4.6vw,56px);max-width:18ch;margin-top:18px}
.hero-carousel .slide__copy .sub{color:#E7EEF6;margin-top:18px;font-size:17px;max-width:46ch;line-height:1.8}
.hero-carousel .hero-cta{margin-top:28px}
.hero-carousel .btn-o--light{border-color:rgba(255,255,255,.75);color:#fff}
.hero-carousel .btn-o--light:hover{background:#fff;color:#0B2440;border-color:#fff}
.hero-dots{position:absolute;left:0;right:0;bottom:26px;display:flex;gap:10px;justify-content:center;z-index:3}
.hero-dot{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.85);background:transparent;cursor:pointer;transition:background .2s,border-color .2s}
.hero-dot.is-active{background:var(--acc);border-color:var(--acc)}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  font:600 26px/1 var(--sans);color:#fff;background:rgba(11,36,64,.35);border:1px solid rgba(255,255,255,.4);cursor:pointer;transition:background .2s}
.hero-arrow:hover{background:rgba(11,36,64,.6)}
.hero-prev{left:18px}.hero-next{right:18px}
@media (max-width:768px){
  .hero-carousel{height:70vh;min-height:440px}
  .hero-carousel .slide__copy{padding-bottom:18%}
  .hero-carousel .slide__copy h1{font-size:clamp(26px,7vw,38px)}
  .hero-arrow{display:none}
  .hero-dots{bottom:18px}
}

/* 图纸卡 */
.blueprint{background:var(--card);border:1px solid var(--line);padding:20px}
.bp-head{display:flex;justify-content:space-between;align-items:baseline;
  font:500 11px/1 var(--mono);letter-spacing:.1em;color:var(--steel);padding-bottom:12px;border-bottom:1px solid var(--hair)}
.bp-body{margin:16px 0;border:1px dashed var(--line);background:#FBFBF8;padding:30px 16px;text-align:center}
.bp-body .ph-main{font-size:13px;color:var(--steel);line-height:1.7}
.bp-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.bp-dims div{text-align:center;font:600 12px/1.5 var(--mono);color:var(--ink)}
.bp-dims div small{display:block;font-weight:400;font-size:10px;color:var(--steel);letter-spacing:.1em}
.bp-tags{display:flex;gap:8px;flex-wrap:wrap}
.bp-tags span{font:500 11px/1 var(--mono);letter-spacing:.06em;background:#EEECE4;color:#4A5058;padding:6px 9px}

/* 页头（内页） */
.phead{background:var(--card);border-bottom:1px solid var(--line);padding-block:52px 44px}
.crumb{font:500 11.5px/1 var(--mono);letter-spacing:.1em;color:var(--steel);margin-bottom:18px}
.crumb a:hover{color:var(--acc-ink)}
.phead h1{font-size:clamp(26px,3.4vw,40px);max-width:22ch}
.phead .lede{margin-top:16px}

/* 数字条 */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stats-grid.g5{grid-template-columns:repeat(5,1fr)}
.stat{padding:28px 22px;border-left:1px solid var(--hair)}
.stat:first-child{border-left:0}
.stat .n{font:800 32px/1 var(--mono);letter-spacing:-.01em}
.stat .n em{font-style:normal;font-size:14px;font-weight:600;color:var(--steel);margin-left:2px}
.stat .l{font-size:13px;color:var(--steel);margin-top:8px}

/* 通用网格 */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.g6{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}

/* 卡片 */
.card{background:var(--card);border:1px solid var(--line);padding:24px}
.card h3{font-size:17px;padding-bottom:14px;border-bottom:2px solid var(--acc);margin-bottom:14px}
.card .meta{font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--steel);margin-bottom:12px}
.card p{font-size:14.5px;color:#41474E;line-height:1.75}
.card ul{margin:0;padding-left:18px;font-size:14px;line-height:1.8;color:#41474E}
/* 产线配图（工厂页「七条产线」卡片内，每条产线各一张）
   4:3 画框用 padding-bottom:75% 老技法撑框 —— 不依赖 aspect-ratio，任何浏览器引擎
   （含不认 aspect-ratio/object-fit 的内置预览浏览器）都能得到正确的横构框；图片绝对定位
   填满画框，object-fit:cover 把非 4:3 的图居中裁满（Martin 2026-10-15 要求"不要空边"）。
   2026-10-16 踩坑：Martin 的预览环境不认 aspect-ratio，带 height 属性的 768x576 图被直接
   拉成竖条（全局 img 复位缺 height:auto 同罪），故画框改结构撑框 + 复位补 height:auto 双保险。
   上传横图 4:3 最稳；竖图在 modern 引擎会被裁成中间一条。 */
.line-fig{position:relative;width:100%;padding-bottom:75%;background:var(--hair);
  border:1px solid var(--hair);margin-bottom:2px;overflow:hidden}
.line-fig .line-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
/* 没传图的产线：占位框撑成和图片差不多的 4:3（老引擎无 aspect-ratio 时用 min-height 兜底） */
.ph.line-ph{aspect-ratio:4/3;min-height:180px}
.more-link{font-size:13px;color:var(--acc-ink);font-weight:600}
.more-link:hover{color:var(--acc-dk)}

/* 占位图 */
.ph{border:1px dashed var(--line);background:#FBFAF6;padding:22px 16px;text-align:center;
  font-size:12.5px;color:var(--steel);line-height:1.65;position:relative;min-height:110px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.ph.tall{min-height:190px}
.ph .size{font:500 10px/1 var(--mono);letter-spacing:.08em;color:#9A968A}
.ph .tag{position:absolute;top:8px;left:8px;background:var(--acc);color:#fff;
  font:600 9.5px/1 var(--mono);letter-spacing:.08em;padding:4px 6px}

/* 实拍图（车间 / 案例 / 页面配图） */
.shot{margin:0;border:1px solid var(--line);background:var(--card);overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}

/* 表格 */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{text-align:left;font:600 12.5px/1.5 var(--sans);letter-spacing:.04em;color:var(--steel);
  padding:10px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--hair);vertical-align:top}
.tbl td:first-child{color:var(--steel);white-space:nowrap}
.tbl td:nth-child(2){font-family:var(--mono);font-weight:600;font-size:13.5px}

/* 对比表 */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);background:var(--card)}
.compare>div{padding:26px 28px}
.compare .col-bad{border-right:1px solid var(--line)}
.compare h3{font-size:16px;margin-bottom:4px;border-bottom:0;padding-bottom:0}
.compare .who{font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--steel);margin-bottom:18px}
.compare .who.hl{color:var(--acc-ink)}
.compare ul{list-style:none;margin:0;padding:0}
.compare li{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--hair);font-size:14.5px;line-height:1.6}
.compare li span.k{color:var(--steel);min-width:74px;flex-shrink:0}
.compare .col-good{background:var(--acc-soft)}
.compare .col-good li b{color:#14171A}

/* 能力矩阵 */
.matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mcol{background:var(--card);border:1px solid var(--line);padding:26px}
.mcol h3{font-size:16px;padding-bottom:14px;border-bottom:2px solid var(--acc);margin-bottom:16px}
.mcol ul{list-style:none;margin:0;padding:0}
.mcol li{padding:9px 0;font-size:14.5px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--hair)}
.mcol li:last-child{border-bottom:0}
.mcol li span{font:500 11.5px/1.5 var(--mono);color:var(--steel);letter-spacing:.04em}

/* 流程 */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}
.steps.s6{grid-template-columns:repeat(6,1fr)}
.step{padding:22px 16px 22px 0;border-right:1px solid var(--line)}
.step:last-child{border-right:0}
.step .n{font:700 12px/1 var(--mono);letter-spacing:.1em;color:var(--acc-ink)}
.step h4{font-size:15px;margin:10px 0 6px;font-weight:700}
.step .d{font-size:13px;color:var(--steel);line-height:1.6}
.step .t{margin-top:12px;font:600 12px/1 var(--mono);background:#EEECE4;padding:6px 8px;display:inline-block}

/* 案例 */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tab{background:transparent;border:1px solid var(--line);padding:9px 16px;font-size:14px;cursor:pointer;color:var(--ink)}
.tab[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.case{background:var(--card);border:1px solid var(--line)}
.case .ph{min-height:180px}
.cph{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--hair)}
.cph img{width:100%;height:100%;object-fit:contain}
.case-b{padding:22px}
.case-b .ind{font:600 10.5px/1 var(--mono);letter-spacing:.14em;color:var(--steel);margin-bottom:10px}
.case-b h3{font-size:18px;margin-bottom:14px}
.case-b h3 a:hover{color:var(--acc-ink)}
.case-b dt{font-weight:700;font-size:13.5px;float:left;clear:left;margin:0 6px 0 0}
.case-b dd{margin:0 0 10px;font-size:14px;color:#41474E;line-height:1.7}
.case-b dd.res{color:var(--ink);font-weight:600}
.case-b::after{content:"";display:block;clear:both}

/* 产品卡片（模板新增） */
.pcard{background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column}
.pthumb{display:block;overflow:hidden;background:#FBFAF6}
.pthumb img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}
.pthumb:hover img{transform:scale(1.03)}
.pcard-b{padding:18px 20px 20px}
.pcard-b .meta{font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--steel);margin-bottom:10px}
.pcard-b h3{font-size:16.5px;padding-bottom:0;border-bottom:0;margin:0}
.pcard-b h3 a:hover{color:var(--acc-ink)}

/* 产品图集（模板新增） */
.pgal{display:grid;grid-template-columns:1fr 96px;gap:12px}
.pgal .main{border:1px solid var(--line);background:#FBFAF6;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pgal .main img{width:100%;height:100%;object-fit:contain}
.pgal .thumbs{display:grid;gap:10px;align-content:start}
.pthumb-btn{border:1px solid var(--line);background:#FBFAF6;padding:0;cursor:pointer;overflow:hidden;min-height:88px}
.pthumb-btn.on{border-color:var(--acc)}
.pthumb-btn img{width:100%;height:100%;object-fit:cover;display:block}

/* 关键参数 / 粘性面板（模板新增） */
.pkeys{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--card)}
.pkeys div{padding:14px 16px;border-left:1px solid var(--hair)}
.pkeys div:first-child{border-left:0}
.pkeys .k{font:500 10.5px/1 var(--mono);letter-spacing:.12em;color:var(--steel);margin-bottom:7px}
.pkeys .v{font:700 17px/1 var(--mono)}
.pkeys .v em{font-style:normal;font-size:12px;color:var(--steel);margin-left:2px}
.panel{background:var(--card);border:1px solid var(--line);padding:24px;position:sticky;top:88px}
.panel h3{font-size:16px;padding-bottom:12px;border-bottom:2px solid var(--acc);margin-bottom:14px}
.panel .btn{width:100%;margin-top:10px}

/* 功能标签（模板新增） */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chip{font:600 12px/1 var(--mono);letter-spacing:.04em;background:#EEECE4;border:1px solid var(--line);padding:7px 10px}
.chip.on{background:var(--acc);border-color:var(--acc);color:#fff}
a.chip:hover{border-color:var(--acc-ink)}

/* 工程说明卡（模板新增） */
.eng{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.eng .card{border-left:3px solid var(--acc)}
.eng .card .no{font:700 12px/1 var(--mono);letter-spacing:.1em;color:var(--acc-ink);margin-bottom:8px}

/* 可定制项 / 场景网格（模板新增） */
.cust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.cust div{padding:16px 18px;border-bottom:1px solid var(--hair);border-left:1px solid var(--hair);font-size:14.5px}
.cust div:nth-child(4n+1){border-left:0}
.cust b{font-family:var(--mono);font-size:13.5px;margin-right:8px;color:var(--steel)}

/* 工厂 */
.fac{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:start}
.fac-nums{display:grid;gap:0;border-top:1px solid var(--line)}
.fac-nums div{display:flex;justify-content:space-between;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--hair)}
.fac-nums .k{font-size:14px;color:var(--steel)}
.fac-nums .v{font:700 16px/1 var(--mono);color:var(--ink)}

/* 交付成果卡（案例详情，模板新增） */
.res-card{background:var(--acc-soft);border:1px solid var(--line);border-left:4px solid var(--acc);padding:24px 28px}
.res-card .kicker{color:var(--acc-ink)}
.res-card p{font-size:16px;font-weight:600;color:var(--ink);margin:0}
.res-card p+p{margin-top:8px;font-weight:400;font-size:14.5px}

/* 资质 */
.cert{background:var(--card);border:1px solid var(--line);padding:18px}
.cert .ph{min-height:140px}
.cert .nm{margin-top:12px;font-weight:700;font-size:14.5px}
.cert .org{font-size:12.5px;color:var(--steel)}
.cert-img{width:100%;border:1px solid var(--hair)}
.cert .valid{font-size:12px;color:var(--steel);margin-top:6px}
.cert-dl{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--acc);border:1px solid var(--acc);padding:6px 12px;border-radius:4px;transition:background .15s,color .15s}
.cert-dl:hover{background:var(--acc);color:#fff}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;padding:20px 0;font-weight:700;font-size:16.5px;list-style:none;
  display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 22px/1 var(--mono);color:var(--acc-ink)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 20px;color:#3F454C;font-size:15px;max-width:60ch}

/* 表单 */
.form{background:var(--card);border:1px solid var(--line);padding:28px}
.field{margin-bottom:18px}
.field label{display:block;font-weight:700;font-size:14px;margin-bottom:7px}
.field label span{font-weight:400;color:var(--steel);font-size:12.5px}
.field input,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);
  background:#FCFCFA;font:400 15px/1.6 var(--sans);color:var(--ink)}
.field input:focus,.field textarea:focus{border-color:var(--acc);outline:none}
.field textarea{min-height:96px;resize:vertical}
.form .btn{width:100%}
.fok{display:none;margin-top:14px;background:var(--acc-soft);border-left:3px solid var(--acc);
  padding:12px 14px;font-size:14px;color:#8A3A06;line-height:1.7}
.fok.show{display:block}

/* 搜索表单（模板新增） */
.searchform{display:flex;gap:10px}
.searchform input{flex:1;padding:12px 14px;border:1px solid var(--line);background:#FCFCFA;
  font:400 15px/1.6 var(--sans);color:var(--ink)}
.searchform input:focus{border-color:var(--acc);outline:none}

/* 信息行 */
.infolist{display:grid;gap:0;border-top:1px solid var(--line)}
.infolist div{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--hair);font-size:14.5px}
.infolist .k{color:var(--steel);min-width:76px;flex-shrink:0}
.infolist b{font-family:var(--mono);font-size:15.5px}

/* 分页（模板新增） */
.pager{margin-top:34px}
.pager .nav-links{display:flex;gap:6px;flex-wrap:wrap;font-size:14px;justify-content:center}
.pager .nav-links ul{gap:6px;flex-wrap:wrap}
.pager .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--line);
  background:var(--card);font:600 13px/1 var(--mono);color:var(--ink)}
.pager .nav-links a{border-bottom:1px solid var(--line)}
.pager .nav-links a:hover{border-bottom-color:var(--acc)}
.pager .page-numbers:hover{border-color:var(--acc)}
.pager .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager a.page-numbers{text-decoration:none}

/* 返回顶部（模板新增） */
.totop{position:fixed;right:20px;bottom:20px;z-index:60;width:44px;height:44px;
  background:var(--ink);color:#fff;border:1px solid var(--ink);font:600 16px/1 var(--mono);
  cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}
.totop.show{opacity:1;pointer-events:auto;transform:none}
.totop:hover{background:var(--acc);border-color:var(--acc);color:#fff}

/* 页脚 */
footer{background:#360A11;color:#C6A9AB;padding:44px 0 28px;font-size:13.5px}
.foot-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px}
.foot-logo{height:40px;width:auto;display:block;margin-bottom:18px}
.foot-cols .fn{font-weight:700;color:#EBDADA;font-size:15px}
.foot-cols p{margin:8px 0 0;line-height:1.8}
.fcol-t{font:600 11px/1 var(--mono);letter-spacing:.14em;color:#9A7E80;margin-bottom:14px}
.foot-nav{list-style:none;margin:0;padding:0}
.foot-nav li{margin-bottom:8px}
.foot-nav a:hover{color:#EBDADA}
.foot-bar{margin-top:28px;padding-top:14px;border-top:1px solid rgba(255,255,255,.10);
  font-size:12.5px;line-height:1.9;color:#C6A9AB}
.foot-bar a{color:#C6A9AB}
.foot-bar a:hover{color:#EBDADA}

/* 入场 */
.rise{opacity:0;transform:translateY(14px);animation:rise .6s cubic-bezier(.2,.7,.3,1) forwards}
.rise:nth-child(2){animation-delay:.08s}
.rise:nth-child(3){animation-delay:.16s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rise{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}

/* 响应式 */
@media(max-width:1080px){
  .g4{grid-template-columns:repeat(2,1fr)}
  .g6{grid-template-columns:repeat(3,1fr)}
  .g3{grid-template-columns:1fr}
  .steps.s6{grid-template-columns:repeat(3,1fr)}
  .step{border-bottom:1px solid var(--line);padding-right:16px}
  .foot-cols{grid-template-columns:1fr 1fr}
  .pgal{grid-template-columns:1fr}
  .pgal .thumbs{grid-template-columns:repeat(4,1fr)}
  .eng,.cust{grid-template-columns:1fr 1fr}
  .panel{position:static}
}
@media(max-width:860px){
  :root{--block:60px}
  .wrap{padding:0 20px}
  .topbar-in{justify-content:center}
  .topbar-note{display:none}
  .nav .nav-links,.nav .nav-links ul{display:none}
  .nav .nav-links.open{display:block;position:absolute;top:64px;left:0;right:0;background:var(--paper);
    border-bottom:1px solid var(--line);padding:8px 20px 16px}
  .nav .nav-links.open ul{display:flex;flex-direction:column;gap:0}
  .nav .nav-links.open a{padding:12px 0;border-bottom:1px solid var(--hair)}
  .nav-toggle{display:block}
  /* 电话不再藏身：小屏收成紧凑药丸（≤520px 再缩成图标钮，号码在顶栏依旧可见） */
  .nav-right .tel{padding:8px 12px 8px 10px;font-size:13.5px;gap:6px}
  .nav-right .tel .tel-ico{width:14px;height:14px}
  .nav .brand{min-width:0}      /* 空间吃紧时让 LOGO 收缩，电话药丸优先 */
  .brand-logo{height:30px}      /* 窄屏收一档，给电话药丸和「发图询价」留位置 */
  .stats-grid,.stats-grid.g5{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3),.stat:nth-child(5){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--hair)}
  .g2,.g4,.g6{grid-template-columns:1fr}
  .steps,.steps.s6{grid-template-columns:repeat(2,1fr)}
  .cta-grid{grid-template-columns:1fr}
  .pkeys{grid-template-columns:1fr 1fr}
  .pkeys div:nth-child(3){border-left:0}
  .eng,.cust{grid-template-columns:1fr}
  .cust div{border-left:0}
  .compare{grid-template-columns:1fr}
  .compare .col-bad{border-right:0;border-bottom:1px solid var(--line)}
  .matrix{grid-template-columns:1fr}
  .fac{grid-template-columns:1fr;gap:28px}
  .foot-cols{grid-template-columns:1fr}
}
@media(max-width:520px){
  .stats-grid,.stats-grid.g5{grid-template-columns:1fr}
  .stat{border-left:0}
  .stat+.stat{border-top:1px solid var(--hair)}
  .steps,.steps.s6{grid-template-columns:1fr}
  .step{border-right:0}
  .hero-cta .btn{width:100%}
  .bp-dims{grid-template-columns:1fr}
  .pgal .thumbs{grid-template-columns:repeat(4,1fr)}
  .nav-right .tel{padding:8px}          /* 最窄屏：电话收成图标钮，号码在顶栏可见 */
  .nav-right .tel .tel-num{display:none}
}

/* ==========================================================
   中文排版细节 + 空状态（2026-09-29 追加）
   —— 只新增规则，不改动上面任何一条，可整段删除回滚
   ========================================================== */

/* 标题避免末行只剩一个字；正文避免末行孤字 */
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}

/* 型号、规格、数字列对齐成等宽，表格竖着看才齐 */
.mono,.tbl td,.tbl th,.stat .n,.card .meta{font-variant-numeric:tabular-nums}

/* 长型号 / 长 URL 允许在任意位置断行，别把卡片撑破 */
.tbl td,.mono,.pgal,.spec-value{overflow-wrap:anywhere}

/* ---- 空状态：产品中心 / 做过什么 还没内容时 ---- */
.empty{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start;
  background:var(--card);border:1px solid var(--line);border-left:3px solid var(--acc);padding:28px}
.empty-art{position:relative;border:1px dashed var(--line);background:#FBFAF6;min-height:190px;
  display:flex;align-items:center;justify-content:center}
.empty-art .tag{position:absolute;top:8px;left:8px;background:var(--acc);color:#fff;
  font:600 9.5px/1 var(--mono);letter-spacing:.08em;padding:4px 6px}
.empty-art .size{font:500 11px/1 var(--mono);letter-spacing:.08em;color:#9A968A}
.empty-body h3{font-size:20px;margin-bottom:12px}
.empty-body>p{font-size:15px;color:#41474E;line-height:1.8;max-width:52ch}
.empty-list{margin:16px 0 22px;padding:0;list-style:none;display:grid;gap:10px;
  font-size:14px;color:#41474E;line-height:1.7}
.empty-list li{position:relative;padding-left:20px}
.empty-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--acc)}
.empty-list b{color:var(--ink);font-weight:700}
.empty-act{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0}
.empty-act .hint{font:500 12px/1.6 var(--mono);color:var(--steel)}
@media(max-width:760px){
  .empty{grid-template-columns:1fr;gap:20px;padding:22px}
  .empty-art{min-height:150px}
}

/* ==========================================================
   新闻列表 / 详情 / 首页动态条（2026-10-06 追加）
   —— 只新增，不改上面任何一条
   ========================================================== */

/* 列表按「时间轴 + 标题行」排，不做成卡片瀑布流，和全站工程制图母题一致 */
.news-list{border-top:1px solid var(--line)}
.news-row{display:grid;grid-template-columns:96px 1fr auto;gap:22px;align-items:center;
  padding:20px 16px 20px 14px;border-bottom:1px solid var(--hair);
  border-left:3px solid transparent;transition:background .18s,border-color .18s}
.news-row:hover{background:var(--card);border-left-color:var(--acc)}
.news-date{font-family:var(--mono);text-align:center;line-height:1}
.news-date b{display:block;font-size:26px;font-weight:800;letter-spacing:-.02em}
.news-date i{display:block;font-style:normal;font-size:11px;letter-spacing:.08em;color:var(--steel);margin-top:5px}
.news-main{min-width:0}
.news-title{display:block;font-size:17px;font-weight:700;line-height:1.45;letter-spacing:-.01em}
.news-row:hover .news-title{color:var(--acc-ink)}
.news-ex{margin-top:7px;font-size:14px;color:var(--steel);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-cat{font:600 11px/1 var(--mono);letter-spacing:.06em;background:#EEECE4;border:1px solid var(--line);
  padding:6px 9px;white-space:nowrap}
.news-row:hover .news-cat{border-color:var(--acc);color:var(--acc-ink)}

/* 详情页正文 */
.article{padding-block:var(--block)}
.prose{max-width:74ch;font-size:16px;line-height:1.9;color:#2E343A}
.prose h2{font-size:22px;margin:38px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.prose h3{font-size:18.5px;margin:28px 0 12px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{padding-left:22px;margin:0 0 18px;line-height:1.9}
.prose li{margin-bottom:8px}
.prose img{border:1px solid var(--line);background:var(--card);margin:6px 0 20px}
.prose figure{margin:6px 0 20px}
.prose figcaption{font:500 12px/1.7 var(--mono);color:var(--steel);margin-top:8px}
.prose blockquote{margin:0 0 20px;padding:14px 20px;border-left:3px solid var(--acc);
  background:var(--acc-soft);color:#3A2A1B;font-size:15px;line-height:1.8}
.prose a{color:var(--acc-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose table{margin:0 0 20px}
.prose tbody td{font-size:14.5px}
.page-links{font:600 13px/1 var(--mono);letter-spacing:.06em;color:var(--steel)}

/* 上一篇 / 下一篇 */
.postnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:44px;
  border-top:1px solid var(--line);padding-top:24px}
.postnav-i{display:block;border:1px solid var(--line);background:var(--card);padding:16px 18px}
.postnav-i.right{text-align:right}
.postnav-i:hover{border-color:var(--acc)}
.postnav-i .kicker{margin-bottom:8px}
.postnav-i .t{font-weight:700;font-size:15px;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.postnav-i:hover .t{color:var(--acc-ink)}

/* 首页「最新动态」条 */
.hnews{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}
.hnews-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.hnews-cell{padding:22px 26px;border-left:1px solid var(--hair)}
.hnews-cell:first-child{border-left:0;padding-left:0}
.hnews-cell .d{font:700 13px/1 var(--mono);letter-spacing:.08em;color:var(--steel);margin-bottom:10px}
.hnews-cell h3{font-size:16.5px;line-height:1.5}
.hnews-cell h3 a:hover{color:var(--acc-ink)}
.hnews-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.hnews-head .kicker{margin-bottom:0}
.hnews-more{font:600 13px/1 var(--mono);letter-spacing:.06em;color:var(--acc-ink);white-space:nowrap}
.hnews-more:hover{color:var(--acc-dk)}

@media(max-width:860px){
  .news-row{grid-template-columns:74px 1fr;gap:14px;padding:18px 12px}
  .news-cat{grid-column:2;justify-self:start;margin-top:10px}
  .news-ex{-webkit-line-clamp:3}
  .postnav,.hnews-grid{grid-template-columns:1fr}
  .hnews-cell{border-left:0;border-top:1px solid var(--hair);padding:18px 0}
  .hnews-cell:first-child{border-top:0;padding-top:0}
}

/* ==================================================================
 * 客户来访（visit）—— 首页精选 / 归档卡片 / 照片墙 / 视频卡 / 灯箱
 * 母题不变：无投影、无渐变、无圆角，分隔一律走 1px 线。
 * ================================================================== */

/* --- 首页「客户来访」精选条 --- */
.hvisit{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card)}
.hvisit-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.hvisit-head .kicker{margin-bottom:0}
.hvisit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hvc{display:block;border:1px solid var(--line);background:var(--card)}
.hvc:hover{border-color:var(--acc)}
.hvc-img{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--hair)}
.hvc-img img{display:block;width:100%;height:100%;object-fit:cover}
.hvc-play{position:absolute;right:12px;bottom:12px;width:40px;height:40px;background:var(--acc)}
.hvc-play::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent;
}
.hvc-bd{display:block;padding:16px 18px 20px;border-top:1px solid var(--hair)}
.hvc-meta{display:block;font:600 12px/1.4 var(--mono);letter-spacing:.04em;color:var(--steel);margin-bottom:8px}
.hvc-meta .dot{margin:0 6px;font-style:normal}
.hvc-t{display:block;font-weight:700;font-size:16px;line-height:1.55;margin-bottom:6px}
.hvc:hover .hvc-t{color:var(--acc-ink)}
.hvc-n{display:block;font-size:12.5px;line-height:1.6;color:var(--steel)}

/* --- 归档页卡片（/visits/） --- */
.vlist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 20px}
.vcard{display:block;border:1px solid var(--line);background:var(--card)}
.vcard:hover{border-color:var(--acc)}
.vcard-img{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--hair)}
.vcard-img img{display:block;width:100%;height:100%;object-fit:cover}
.vcard-noshot{display:block;width:100%;height:100%;background:var(--hair)}
.vcard-tag{
  position:absolute;left:0;bottom:0;background:var(--acc);color:#fff;
  font:600 11px/1 var(--mono);letter-spacing:.08em;padding:7px 11px;
}
.vcard-bd{display:block;padding:18px 20px 22px;border-top:1px solid var(--hair)}
.vcard-meta{display:block;font:600 12px/1.4 var(--mono);letter-spacing:.04em;color:var(--steel);margin-bottom:10px}
.vcard-meta .dot{margin:0 6px;font-style:normal}
.vcard-t{display:block;font-weight:700;font-size:17px;line-height:1.55;margin-bottom:8px}
.vcard:hover .vcard-t{color:var(--acc-ink)}
.vcard-n{display:block;font-size:13px;line-height:1.6;color:var(--steel)}

/* --- 详情照片墙：一张图 = 一个 cell + 小标题 --- */
.vwall{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vshot{margin:0;border:1px solid var(--line);background:var(--card)}
.vshot img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--hair);cursor:zoom-in}
.vshot figcaption{padding:13px 15px 16px;border-top:1px solid var(--hair)}
.vshot .ct{display:block;font-weight:700;font-size:14.5px;line-height:1.55;color:var(--ink)}
.vshot .nt{display:block;margin-top:5px;font-size:13px;line-height:1.7;color:var(--steel)}

/* --- 首页来访照片墙（.hwall 叠在 .vwall 上）：一行 4 张 --- */
.hwall{grid-template-columns:repeat(4,1fr);gap:16px}

/* --- 首页合作品牌墙（.hbrand）：灰阶 logo 墙，悬停恢复彩色 --- */
.hbrand .lede{margin-top:14px;margin-bottom:30px}
.brand-grid{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;
}
.brand-cell{
  display:flex;align-items:center;justify-content:center;
  min-height:104px;padding:18px;background:var(--card);border:1px solid var(--line);
}
.brand-logo-img{
  display:block;max-width:100%;max-height:64px;width:auto;height:auto;
  filter:grayscale(1);opacity:.72;transition:filter .25s ease,opacity .25s ease;
}
.brand-cell:hover .brand-logo-img{filter:none;opacity:1}
.brand-name{font-weight:700;font-size:15px;line-height:1.4;color:var(--ink);text-align:center}

/* --- 详情视频卡：预览图 + 播放键 --- */
.vbox{position:relative;display:block;border:1px solid var(--line);background:var(--hair);cursor:pointer}
.vbox--plain{display:grid;place-items:center;height:220px}
.vbox-play{
  position:absolute;inset:0;margin:auto;width:66px;height:66px;background:var(--acc);
  border:0;cursor:pointer;
}
.vbox-play::after{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent;
}
.vbox:hover .vbox-play{background:var(--acc-ink)}
.vbox-meta{
  position:absolute;left:0;right:0;bottom:0;padding:16px 20px;
  background:var(--deep);color:#fff;
}
.vbox-meta .kicker{color:#EBD5D7;margin-bottom:7px}
.vbox-cap{display:block;font-weight:700;font-size:16px;line-height:1.5}
.vbox-cta{display:block;margin-top:6px;font:600 12.5px/1 var(--mono);letter-spacing:.06em;color:#EBD5D7}

/* --- 灯箱：照片放大 / 视频播放（JS 运行时插入 DOM） --- */
.lb{
  position:fixed;inset:0;z-index:99;background:rgba(8,8,8,.95);
  display:none;align-items:center;justify-content:center;padding:3vh 3vw;
}
.lb.on{display:flex}
.lb-stage{max-width:100%;max-height:86vh;text-align:center}
.lb-stage img{display:block;max-width:100%;max-height:86vh;width:auto;height:auto;margin:0 auto;background:#000}
.lb-stage iframe{display:block;width:min(1100px,94vw);height:min(620px,80vh);border:0;background:#000}
.lb-cap{
  margin-top:12px;color:#F1EAE7;font-size:14.5px;line-height:1.6;letter-spacing:.01em;
}
.lb-close{
  position:absolute;right:18px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.4);
  background:transparent;color:#fff;cursor:pointer;font-size:20px;line-height:1;
}
.lb-close:hover{background:#fff;color:#000;border-color:#fff}
.lb-hit{position:absolute;inset:0;cursor:default}
.lb.is-link .lb-stage{max-width:min(640px,92vw);text-align:center}
.lb-go{
  display:inline-block;margin-top:14px;background:var(--acc);color:#fff;border:0;
  padding:13px 26px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;
}

@media(max-width:980px){
  .hvisit-grid,.vlist,.vwall,.hwall{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .hvisit-grid,.vlist,.vwall,.hwall{grid-template-columns:1fr}
  .brand-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
  .brand-cell{min-height:84px;padding:14px}
  .brand-logo-img{max-height:50px}
  .hvc-play{width:34px;height:34px}
  .vbox-play{width:54px;height:54px}
  .vbox-play::after{border-left-width:18px;border-top-width:11px;border-bottom-width:11px}
}

/* 车间呼吸带（首页）—— 全幅真实车间实拍 + 酒红平铺蒙版 + 极淡制图线网格；
   图上只放一行说明，不压正文。蒙版随 var(--deep) 同色系，换全站色时留意这一处。 */
.sfloor{
  position:relative;overflow:hidden;display:flex;align-items:flex-end;
  min-height:340px;background:var(--deep);
}
.sfloor-media{position:absolute;inset:0;z-index:0;margin:0}
.sfloor-bg{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.sfloor-veil{position:absolute;inset:0;z-index:1;background:rgba(70,13,22,.64)}
.sfloor-grid{
  position:absolute;inset:0;z-index:2;opacity:.09;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);
  background-size:36px 36px;
}
.sfloor .wrap{position:relative;z-index:3;width:100%}
.sfloor-cap{padding:44px 0 48px;max-width:820px}
.sfloor .kicker{color:#F2C7CE}
.sfloor-h{margin:.3em 0 .34em;font-size:clamp(22px,3vw,34px);font-weight:700;line-height:1.26;color:#fff}
.sfloor-sub{margin:0;font-size:15px;line-height:1.7;color:#EBD5D7}

@media(max-width:640px){
  .sfloor{min-height:240px}
  .sfloor-bg{object-position:44% 42%}
  .sfloor-cap{padding:28px 0 32px}
  .sfloor-h{font-size:22px}
}
