/* ============================================================
   盈誉科技 · 轻图纸主题（Light Engineering Drawing）
   保留：印章徽标 / 波形线稿 / 制图边框 / 图纸标题栏页脚
   收敛：网格底转浅纹、硬投影转柔和阴影、直角加 4px 圆角
   ============================================================ */
:root {
  --paper: #f2f1ec;      /* 绘图纸 */
  --panel: #fbfaf7;      /* 图面白 */
  --ink: #16394f;        /* 工程墨蓝 */
  --ink-soft: #3d5a70;
  --ink-deep: #0f2b3d;
  --line: #c9c4b8;       /* 刻度线 */
  --grid: #eeece4;       /* 浅网格：仅作底纹，不再抢视线 */
  --red: #c8371e;        /* 指针红 */
  --radius: 4px;         /* 统一圆角（印章徽标保持直角） */
  --shadow-soft: 0 6px 18px rgba(22, 57, 79, 0.10);
  --shadow-lift: 0 10px 26px rgba(22, 57, 79, 0.15);
  --mono: "Consolas", "JetBrains Mono", "Courier New", monospace;
  --sans: "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--sans);
  color: var(--ink);
  line-height: 1.65;
  background-color: var(--paper);
  background-image:
    linear-gradient(var(--grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 32px 32px;
}
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--red); }
img { max-width: 100%; }
.container { max-width: 1180px; margin: 0 auto; padding: 0 22px; }
.mono { font-family: var(--mono); }
::selection { background: var(--red); color: #fff; }
.muted { color: var(--ink-soft); font-weight: normal; font-size: 0.78em; }
:focus-visible { outline: 2px dashed var(--red); outline-offset: 2px; }

/* ============ 顶栏与头部 ============ */
.topbar {
  background: var(--ink-deep); color: #c8d6e0;
  font-family: var(--mono); font-size: 12.5px; letter-spacing: 0.04em;
}
.topbar-inner { display: flex; justify-content: space-between; padding: 7px 22px; gap: 12px; }
/* 吸顶主栏（顶栏随页面滚走，主栏吸顶） */
.site-header {
  position: sticky; top: 0; z-index: 50;
  box-shadow: 0 2px 14px rgba(22, 57, 79, 0.09);
}
.header-inner {
  display: flex; align-items: center; gap: 26px; padding: 16px 22px;
  background: var(--panel); border-bottom: 2px solid var(--ink);
}
/* 品牌标识容器：允许收缩，窄屏（H5）时 Logo 等比缩放而非被裁切 */
.logo { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; }
.logo picture { display: block; width: 100%; max-width: 296px; }
/* M4 全称锁定版（7.17:1）：宽度驱动 + 容器自适应，H5 窄屏等比缩放不裁切 */
.logo-mark {
  display: block; width: 100%; height: auto;
}
/* 红色印章徽标（保留备用：方形场景 / 图标位） */
.seal {
  width: 40px; height: 40px; flex-shrink: 0;
  background: var(--red); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 21px; font-weight: 700;
  box-shadow: 3px 3px 0 var(--ink);
}
.logo-text { font-size: 19px; font-weight: 700; letter-spacing: 0.02em; color: var(--ink-deep); }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.main-nav > a, .nav-item > a {
  padding: 8px 14px; color: var(--ink); font-weight: 500; display: block;
  border-bottom: 3px solid transparent; white-space: nowrap;
}
.main-nav > a:hover, .nav-item > a:hover { color: var(--red); }
.main-nav > a.active, .nav-item > a.active {
  color: var(--ink-deep); border-bottom-color: var(--red); font-weight: 700;
}
/* 导航右侧常驻询价 CTA */
.nav-cta {
  margin-left: 8px; padding: 8px 16px; white-space: nowrap;
  background: var(--red); color: #fff !important; font-weight: 700; font-size: 14px;
  border: 2px solid var(--ink-deep); border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform 0.16s, box-shadow 0.16s;
}
.nav-cta:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.nav-cta .mono { font-size: 13px; letter-spacing: 0.03em; }
.nav-item { position: relative; }
.drop {
  display: none; position: absolute; top: 100%; left: 0; min-width: 230px;
  background: var(--panel); border: 1.5px solid var(--ink); border-radius: var(--radius);
  box-shadow: var(--shadow-lift); z-index: 30; padding: 4px;
}
.nav-item:hover .drop { display: block; }
.drop a { padding: 9px 12px; display: block; font-size: 14.5px; }
.drop a:hover { background: var(--paper); color: var(--red); }
.nav-toggle {
  display: none; margin-left: auto; font-size: 22px; background: none;
  border: 1.5px solid var(--ink); width: 42px; height: 38px; cursor: pointer; color: var(--ink);
  flex: 0 0 auto;
}

/* ============ Hero：图纸首页（保留波形线稿 + 叠加浅网格） ============ */
.hero {
  background:
    linear-gradient(rgba(200, 214, 224, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200, 214, 224, 0.07) 1px, transparent 1px),
    linear-gradient(100deg, rgba(15, 43, 61, 0.97) 0%, rgba(15, 43, 61, 0.9) 45%, rgba(15, 43, 61, 0.52) 100%),
    url('/img/hero-turbine.jpg') center right / cover no-repeat;
  background-size: 32px 32px, 32px 32px, auto, auto;
  color: #fff; padding: 96px 0 104px;
  border-bottom: 2px solid var(--ink);
  position: relative; overflow: hidden;
}
.hero-inner {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px);
  gap: 40px; align-items: center;
}
.hero .kicker {
  font-family: var(--mono); font-size: 13px; letter-spacing: 0.14em;
  color: #8fb3c7; margin-bottom: 14px; display: block;
}
.hero h1 { font-size: 38px; line-height: 1.25; letter-spacing: 0.01em; margin-bottom: 14px; }
.hero h1 em { font-style: normal; color: #ff8a70; }
.hero p { font-size: 16.5px; opacity: 0.88; margin-bottom: 30px; max-width: 30em; }
.btn {
  display: inline-block; background: var(--red); color: #fff;
  padding: 11px 26px; font-weight: 700; font-size: 15px;
  border: 2px solid var(--ink-deep); border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform 0.16s, box-shadow 0.16s;
}
.btn:hover { color: #fff; transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.btn-ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.65); box-shadow: none; }
.btn-ghost:hover { background: rgba(255, 255, 255, 0.1); transform: none; }
.hero .btn { margin-right: 12px; margin-bottom: 8px; }
/* 振动波形线稿 + 标注 */
.hero-art svg { width: 100%; height: auto; display: block; }
.hero-art .wave-path {
  fill: none; stroke: #7fa8c0; stroke-width: 2.5;
  stroke-dasharray: 1400; stroke-dashoffset: 1400;
  animation: draw 1.8s ease-out 0.2s forwards;
}
@keyframes draw { to { stroke-dashoffset: 0; } }
/* 动效统一降级：reduced-motion 下关闭卡片上浮/按钮位移 */
@media (prefers-reduced-motion: reduce) {
  .b-card, .cat-card, .goods-card, .duo-card, .btn, .nav-cta,
  .thumb-btn, .pg, .chip { transition: none; transform: none; }
}
.hero-art text { font-family: var(--mono); font-size: 11px; fill: #8fb3c7; }
.hero-art .mark { fill: var(--red); }
.hero-art .anno { stroke: #8fb3c7; stroke-width: 1; stroke-dasharray: 3 3; fill: none; }
@media (prefers-reduced-motion: reduce) {
  .hero-art .wave-path { animation: none; stroke-dashoffset: 0; }
}

/* ============ 区块与标题 ============ */
.section { padding: 62px 0 68px; }
.section.alt { background: transparent; } /* 坐标纸底全站统一，不做灰带 */
.section-title { font-size: 25px; color: var(--ink-deep); margin-bottom: 28px; letter-spacing: 0.01em; }
/* 标注线式标题前缀（红色尺寸线，两端刻度） */
.section-title::before {
  content: ""; display: block; width: 68px; height: 2px;
  background: var(--red); margin-bottom: 14px;
  box-shadow: -6px 0 0 var(--red), 74px 0 0 var(--red); /* 两端刻度 */
  opacity: 0.9;
}
.more-wrap { text-align: center; margin-top: 36px; }

/* ============ Bento 分类网格（1 大卡 + 3 标准卡 + 入口卡） ============ */
.bento { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.b-card {
  background: var(--panel); border: 1.5px solid var(--ink); padding: 26px 24px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
  display: flex; flex-direction: column; justify-content: flex-end; min-height: 162px;
  position: relative; overflow: hidden;
}
.b-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--red); }
.b-card h3 { color: var(--ink-deep); margin-bottom: 6px; font-size: 18px; }
.b-count { font-family: var(--mono); color: var(--ink-soft); font-size: 12px; letter-spacing: 0.08em; }
.b-preview { color: var(--ink-soft); font-size: 13px; margin-top: 8px; line-height: 1.7; }
/* 大卡：工作间实拍 + 墨蓝叠加 + 白字 */
.b-hero {
  grid-column: 1 / 3; min-height: 334px; justify-content: flex-end;
  background:
    linear-gradient(180deg, rgba(15, 43, 61, 0.25) 0%, rgba(15, 43, 61, 0.78) 100%),
    url('/img/workshop.jpg') center / cover no-repeat;
  border-color: var(--ink-deep);
}
.b-hero h3 { color: #fff; font-size: 24px; }
.b-hero .b-count { color: #8fb3c7; }
.b-hero .b-preview { color: #d5e2ea; font-size: 14px; max-width: 34em; }
.b-more { align-items: flex-start; justify-content: center; }
.b-more-arrow { font-size: 26px; color: var(--red); line-height: 1; margin-bottom: 10px; }
.b-more:hover .b-more-arrow { transform: translateX(4px); transition: transform 0.15s; }

/* ============ 分类面板 ============ */
.cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.cat-card {
  background: var(--panel); border: 1.5px solid var(--ink); padding: 24px 22px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
}
.cat-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--red); }
.cat-card h3 { color: var(--ink-deep); margin-bottom: 6px; font-size: 17px; }
.cat-card p { font-family: var(--mono); color: var(--ink-soft); font-size: 12.5px; }

/* ============ 产品面板 ============ */
.goods-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(248px, 1fr)); gap: 20px; }
.goods-card {
  background: var(--panel); border: 1.5px solid var(--ink);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
  display: flex; flex-direction: column;
}
.goods-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--red); }
.goods-card .thumb {
  aspect-ratio: 4 / 3; background: #fff; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.goods-card .thumb img { width: 100%; height: 100%; object-fit: contain; }
.goods-card .info { padding: 13px 15px 15px; }
.goods-card h2, .goods-card h3 { font-size: 15px; font-weight: 600; line-height: 1.45; color: var(--ink-deep); margin: 0; }
.sn {
  font-family: var(--mono); font-size: 12px; color: var(--ink-soft);
  letter-spacing: 0.05em; margin-top: 5px; display: inline-block;
  border-bottom: 1px solid var(--line);
}
.badge {
  display: inline-block; font-family: var(--mono); font-size: 11px;
  color: var(--red); border: 1px solid var(--red);
  padding: 0 6px; margin: 8px 4px 0 0;
}

/* 公司简介：图文两栏 */
.about-cols { display: grid; grid-template-columns: 430px minmax(0, 1fr); gap: 38px; align-items: center; }
.about-cols .btn-ghost { border-color: var(--ink); color: var(--ink); }
.about-cols .btn-ghost:hover { background: var(--paper); }
.img-frame {
  border: 1.5px solid var(--ink); background: #fff; padding: 6px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}
.img-frame img { display: block; width: 100%; height: auto; }

/* 服务/联系双图卡 */
.duo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.duo-card {
  display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 20px; align-items: center;
  background: var(--panel); border: 1.5px solid var(--ink); padding: 16px;
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
}
.duo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--red); }
.duo-card figure { margin: 0; }
.duo-card h3 { color: var(--ink-deep); margin-bottom: 4px; }
.duo-card p { color: var(--ink-soft); font-size: 14px; }

/* 页面横幅：全内页统一规格（容器全宽 210px，墨蓝渐变叠加） */
.page-banner {
  height: 210px; border: 1.5px solid var(--ink); border-radius: var(--radius); margin-bottom: 32px;
  background: linear-gradient(rgba(15, 43, 61, 0.35), rgba(15, 43, 61, 0.35)), url('/img/sensor-macro.jpg') center / cover no-repeat;
}

/* ============ 面包屑 / 列表头 ============ */
.breadcrumb {
  padding: 16px 22px 0; color: var(--ink-soft); font-size: 13px;
  font-family: var(--mono); letter-spacing: 0.03em;
}
.breadcrumb a { color: var(--ink-soft); border-bottom: 1px solid var(--line); }
.breadcrumb a:hover { color: var(--red); border-color: var(--red); }
.list-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.list-head .section-title { margin-bottom: 14px; }
.search-form { display: flex; gap: 8px; }
.search-form input {
  padding: 10px 14px; border: 1.5px solid var(--ink); border-radius: var(--radius);
  width: 230px; font-size: 14px; font-family: var(--mono); background: #fff; color: var(--ink);
}
.search-form input:focus { outline: 2px dashed var(--red); outline-offset: 1px; }
.search-form .btn { padding: 10px 20px; }

/* 分类快捷标签：方形图纸标签 */
.cat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.chip {
  padding: 5px 13px; border: 1px solid var(--ink); font-size: 13px;
  border-radius: var(--radius);
  color: var(--ink); background: var(--panel); font-family: var(--sans);
}
.chip:hover { border-color: var(--red); color: var(--red); }
.chip-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip-active:hover { color: #fff; border-color: var(--ink); }
.empty {
  color: var(--ink-soft); padding: 46px 0; text-align: center; font-family: var(--mono);
  background: var(--panel); border: 1.5px dashed var(--line); letter-spacing: 0.06em;
}

/* 分页：mono 方块 */
.pagination { display: flex; gap: 7px; justify-content: center; margin-top: 34px; flex-wrap: wrap; }
.pg {
  min-width: 38px; text-align: center; padding: 7px 10px;
  border: 1.5px solid var(--ink); border-radius: var(--radius);
  font-family: var(--mono); font-size: 14px;
  background: var(--panel);
}
.pg:hover { border-color: var(--red); color: var(--red); }
.pg-active { background: var(--red); border-color: var(--red); color: #fff; }
.pg-active:hover { color: #fff; }

/* ============ 产品详情 ============ */
.product-layout { display: grid; grid-template-columns: 460px minmax(0, 1fr); gap: 40px; align-items: start; }
.product-gallery { position: relative; }
/* 图面四角定位标记（只用在这一处） */
.product-gallery::before, .product-gallery::after,
.main-img::before, .main-img::after {
  content: "+"; position: absolute; font-family: var(--mono);
  color: var(--red); font-size: 15px; line-height: 1; z-index: 2;
}
.product-gallery::before { top: -9px; left: -7px; }
.product-gallery::after { top: -9px; right: -7px; }
.main-img::before { bottom: -8px; left: -7px; }
.main-img::after { bottom: -8px; right: -7px; }
.main-img {
  border: 1.5px solid var(--ink); background: #fff; border-radius: var(--radius);
  aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.main-img img { width: 100%; height: 100%; object-fit: contain; }
.gallery-strip { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; padding-bottom: 4px; }
.thumb-btn {
  padding: 0; border: 1px solid var(--ink); background: #fff; cursor: pointer;
  border-radius: var(--radius);
  width: 70px; height: 70px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}
.thumb-btn img { width: 100%; height: 100%; object-fit: contain; display: block; }
.thumb-btn:hover, .thumb-btn:focus-visible, .thumb-btn.active { border-color: var(--red); box-shadow: 0 4px 12px rgba(200, 55, 30, 0.22); }
.product-meta h1 { font-size: 27px; line-height: 1.3; color: var(--ink-deep); margin-bottom: 12px; }
.meta-table { margin: 18px 0; border-collapse: collapse; width: 100%; border-top: 2px solid var(--ink); }
.meta-table th, .meta-table td { text-align: left; padding: 8px 14px 8px 0; font-size: 14px; border-bottom: 1px solid var(--line); }
.meta-table th { color: var(--ink-soft); font-weight: normal; font-family: var(--mono); width: 84px; }
.brief { color: var(--ink-soft); margin: 12px 0; }
.cta-row { display: flex; align-items: center; gap: 18px; margin-top: 20px; flex-wrap: wrap; }
.cta-row .phone { color: var(--red); font-weight: 700; font-size: 17px; font-family: var(--mono); letter-spacing: 0.03em; }

/* ============================================================
   产品详情 · 文本样式统一规范
   ----------------------------------------------------------
   目标：消除详情页各字段因历史 HTML 内联格式造成的排版差异，
        全部文本按同一套规则渲染，仅保留必要的层级差异。

   统一规则（正文族 desc-*）：
     字体     var(--sans)   微软雅黑 / 苹方
     字号     15px
     字重     400（常规）
     行高     1.9
     颜色     #2a3f4e（正文墨色，弱于标题）
     对齐     left
     段间距   上下 0，靠 1.05em 段内空白分隔

   层级差异（仅两类，用于区分结构）：
     .desc-title  16px / 700 / --ink-deep / 红色左尺规 / 上方留白加大
     .desc-body   15px / 400 / #2a3f4e / 无装饰
   ============================================================ */
.pd-desc {
  background: var(--panel); border: 1.5px solid var(--ink); padding: 30px 34px;
  border-radius: var(--radius);
  overflow-x: auto; color: #2a3f4e;
  box-shadow: inset 0 0 0 5px var(--panel), inset 0 0 0 6px var(--line);
  font-family: var(--sans); font-size: 15px; font-weight: 400;
  line-height: 1.9; text-align: left;
  -webkit-font-smoothing: antialiased;
}
/* 正文段：统一基线 */
.pd-desc .desc-body {
  margin: 0 0 1.05em; font-size: 15px; font-weight: 400;
  line-height: 1.9; color: #2a3f4e; text-align: left;
}
/* 标题段：唯一保留层级差异的文本层级 */
.pd-desc .desc-title {
  margin: 1.6em 0 0.7em; font-size: 16px; font-weight: 700;
  line-height: 1.6; color: var(--ink-deep); text-align: left;
  padding-left: 11px; border-left: 3px solid var(--red);
}
/* 编号小标题：第三层级，字号与正文一致，仅字重与颜色略提，用于区分功能条目 */
.pd-desc .desc-sub {
  margin: 1.05em 0 0.35em; font-size: 15px; font-weight: 700;
  line-height: 1.9; color: var(--ink); text-align: left;
}
/* 段首标题不留上间距 */
.pd-desc .desc-title:first-child { margin-top: 0; }
/* 末段不留下间距 */
.pd-desc .desc-body:last-child { margin-bottom: 0; }
/* 详情内图片：居中、限宽、白底描边 */
.pd-desc .desc-image { margin: 1.2em 0; text-align: center; }
.pd-desc .desc-image img {
  max-width: 100%; height: auto; display: inline-block;
  border: 1px solid var(--line); background: #fff; padding: 8px;
}
/* 失效图片占位：虚线框 + 次级文字，不留坏图图标 */
.pd-desc .desc-image-missing {
  margin: 1.2em 0; padding: 14px 18px; text-align: center;
  border: 1px dashed var(--line); border-radius: var(--radius);
  background: var(--paper); color: var(--ink-soft);
  font-size: 13px; font-weight: 400; line-height: 1.7;
}
/* 详情内表格：统一边框与字号，不继承历史内联样式 */
.pd-desc .desc-table { margin: 1.3em 0; overflow-x: auto; }
.pd-desc .desc-table table { border-collapse: collapse; width: 100%; min-width: 420px; }
.pd-desc .desc-table th, .pd-desc .desc-table td {
  border: 1px solid var(--line); padding: 7px 11px;
  font-size: 14px; font-weight: 400; line-height: 1.7;
  color: #2a3f4e; text-align: left; vertical-align: top;
}
.pd-desc .desc-table th {
  background: var(--paper); color: var(--ink-deep); font-weight: 700; white-space: nowrap;
}

/* 详情页顶部信息区字段统一 */
.pd-name { font-size: 27px; line-height: 1.3; font-weight: 700; color: var(--ink-deep); margin-bottom: 12px; }
.pd-badges { margin-bottom: 4px; }
.pd-meta { margin: 16px 0; }
.pd-meta th, .pd-meta td { font-size: 14px; line-height: 1.8; }
.pd-brief {
  margin: 14px 0 0; font-size: 15px; font-weight: 400; line-height: 1.9;
  color: var(--ink-soft); text-align: left;
}

/* 详情正文：图面白板（双线图框，与产品图面同一制图语言） */
.rich-desc {
  background: var(--panel); border: 1.5px solid var(--ink); padding: 30px 34px;
  border-radius: var(--radius);
  overflow-x: auto; color: #2a3f4e;
  box-shadow: inset 0 0 0 5px var(--panel), inset 0 0 0 6px var(--line);
}
.rich-desc { font-family: var(--sans); font-size: 15px; line-height: 1.95; }
/* 文章正文：清洗后的语义块统一排版（见 src/services/richtext.js） */
.rich-desc .rich-p { margin: 0 0 1.05em; font-size: 15px; line-height: 1.95; color: #2a3f4e; }
.rich-desc .rich-p:last-child { margin-bottom: 0; }
.rich-desc .rich-h {
  margin: 1.8em 0 0.7em; font-size: 17px; font-weight: 700; line-height: 1.6;
  color: var(--ink-deep); padding-left: 11px; border-left: 3px solid var(--red);
}
.rich-desc .rich-h:first-child { margin-top: 0; }
.rich-desc .rich-sub { margin: 0 0 1.05em; font-size: 15px; font-weight: 700; line-height: 1.95; color: var(--ink); }
.rich-desc .rich-ul { margin: 0 0 1.1em; padding-left: 1.25em; list-style: none; }
.rich-desc .rich-ul li { position: relative; margin-bottom: 0.4em; }
.rich-desc .rich-ul li::before { content: "▸"; position: absolute; left: -1.1em; color: var(--red); }
.rich-desc .rich-figure { margin: 1.5em 0; text-align: center; }
.rich-desc .rich-figure img {
  max-width: 100%; height: auto; display: inline-block;
  border: 1px solid var(--line); background: #fff; padding: 8px;
}
.rich-desc .rich-table { margin: 1.4em 0; overflow-x: auto; }
.rich-desc .rich-table table { border-collapse: collapse; width: 100%; min-width: 360px; }
.rich-desc .rich-table td, .rich-desc .rich-table th {
  border: 1px solid var(--line); padding: 8px 11px;
  font-size: 14px; line-height: 1.7; text-align: left; vertical-align: top;
}
.rich-desc .rich-table tr:nth-child(odd) td { background: var(--paper); }

/* 文章页 */
.article-wrap { max-width: 900px; }
.article-wrap .rich-desc { line-height: 1.95; }

/* ============ 收尾 CTA Band ============ */
.cta-band {
  background:
    linear-gradient(rgba(200, 214, 224, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200, 214, 224, 0.06) 1px, transparent 1px),
    var(--ink);
  color: #fff; padding: 44px 0;
  border-top: 2px solid var(--ink-deep);
}
.cta-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 26px; flex-wrap: wrap;
}
.cta-band h2 { font-size: 24px; margin-bottom: 8px; color: #fff; }
.cta-band h2::before { content: "▸ "; color: var(--red); }
.cta-band p { color: #b9cddd; font-size: 14.5px; }
.cta-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.cta-actions .phone { color: #ffb3a3; font-weight: 700; font-size: 17px; letter-spacing: 0.03em; }

/* ============ 页脚：图纸标题栏（4 栏 · 浅底版） ============ */
.site-footer {
  background:
    linear-gradient(rgba(22, 57, 79, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 57, 79, 0.05) 1px, transparent 1px),
    var(--panel);
  background-size: 28px 28px, 28px 28px, auto;
  color: var(--ink); margin-top: 64px;
  border-top: 3px solid var(--red);
}
.footer-inner {
  display: grid; grid-template-columns: 1.3fr 1fr 0.9fr 1fr; gap: 0;
  max-width: 1180px; margin: 0 auto; padding: 0 22px;
}
.footer-list { list-style: none; }
.footer-list li { margin-bottom: 8px; font-size: 13.5px; }
.footer-list li a { color: var(--ink); border-bottom: 1px solid var(--line); }
.footer-list li a:hover { color: var(--red); border-color: var(--red); }
.tb-cell { padding: 30px 20px 26px 0; border-right: 1px solid var(--line); }
.tb-cell:last-child { border-right: none; padding-right: 0; }
.tb-cell + .tb-cell { padding-left: 20px; }
.tb-label {
  display: block; font-family: var(--mono); font-size: 10.5px;
  letter-spacing: 0.16em; color: var(--ink-soft); margin-bottom: 10px;
}
.tb-cell h4 { color: var(--ink-deep); font-size: 17px; margin-bottom: 8px; }
/* 页脚 M4 全称锁定版：宽度驱动，栏宽不足时自动收窄 */
.footer-mark {
  display: block; width: 100%; max-width: 268px; height: auto; margin-bottom: 10px;
}
.tb-cell p { font-size: 13.5px; line-height: 1.8; color: var(--ink-soft); }
.tb-cell .footer-en {
  font-size: 11.5px; line-height: 1.75; letter-spacing: 0.01em;
  color: var(--ink-soft); opacity: 0.82; margin-top: 7px; max-width: 34em;
}
.tb-cell a { color: var(--ink); border-bottom: 1px solid var(--line); }
.tb-cell a:hover { color: var(--red); border-color: var(--red); }
.tb-cell .mono { font-size: 13px; }
/* 联系方式提亮：电话墨蓝加粗 */
.footer-tel {
  font-family: var(--mono); font-size: 17px; font-weight: 700;
  color: var(--ink-deep); letter-spacing: 0.02em; margin-bottom: 4px;
}
.copyright {
  text-align: center; padding: 14px 20px; font-family: var(--mono); font-size: 12px;
  color: var(--ink-soft); border-top: 1px solid var(--line);
}

.center-block { text-align: center; padding: 72px 20px; }
/* 印章式错误页（404/500 全站统一） */
.error-stamp {
  display: inline-flex; flex-direction: column; align-items: center; gap: 6px;
  border: 3px solid var(--red); color: var(--red); background: var(--panel);
  padding: 20px 36px 16px; font-family: var(--mono);
  transform: rotate(-3deg); box-shadow: 5px 5px 0 rgba(200, 55, 30, 0.18);
  margin-bottom: 30px;
}
.error-stamp .code { font-size: 56px; font-weight: 700; line-height: 1; letter-spacing: 0.1em; }
.error-stamp .tag { font-size: 12px; letter-spacing: 0.32em; text-indent: 0.32em; }
.error-links { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.center-block p { margin-bottom: 22px; color: var(--ink-soft); }

/* ============ 响应式 ============ */
@media (max-width: 1200px) {
  .bento { grid-template-columns: repeat(2, 1fr); }
  .goods-grid { grid-template-columns: repeat(2, 1fr); }
}

/* M4 全称锁定版较宽（Logo 296 + 导航 729 + 间距 26 + 内边距 44 = 1095px），
   导航折叠点提前至 1120px，避免导航文字换行或挤压 */
/* 中等屏：切换为紧凑横版（英文缩写为 YINGYU TECHNOLOGY，保证可读） */
@media (max-width: 1120px) {
  .logo picture { max-width: 248px; }
  .nav-toggle { display: block; }
  .main-nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 40;
    background: var(--panel); border-bottom: 2px solid var(--ink);
    flex-direction: column; align-items: stretch; padding: 10px 16px;
    box-shadow: 0 8px 20px rgba(22, 57, 79, 0.12);
  }
  .main-nav.open { display: flex; }
  .main-nav > a, .nav-item > a { border-bottom: 1px solid var(--grid); }
  .main-nav > a.active, .nav-item > a.active { border-bottom-color: var(--red); }
  .nav-cta { margin: 10px 0 4px; text-align: center; }
  .drop { position: static; display: block; border: none; box-shadow: none; padding-left: 18px; }
  .drop a { min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 900px) {
  /* 顶栏：窄屏隐藏 TSI 标语，仅保留可拨电话，避免溢出 */
  .topbar-inner { justify-content: center; font-size: 11.5px; padding: 7px 16px; }
  .topbar-inner > span:first-child { display: none; }
  .product-layout { grid-template-columns: 1fr; }
  .hero { padding: 62px 0 84px; }
  .hero h1 { font-size: 29px; }
  .hero-inner { grid-template-columns: 1fr; gap: 26px; }
  .hero-art { max-width: 460px; }
  .bento { grid-template-columns: 1fr; }
  .b-hero { grid-column: auto; min-height: 210px; }
  .about-cols { grid-template-columns: 1fr; }
  .duo-grid { grid-template-columns: 1fr; }
  .cta-inner { flex-direction: column; align-items: flex-start; }
  .chip { min-height: 44px; display: inline-flex; align-items: center; }
  .pg { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .thumb-btn { width: 56px; height: 56px; }
  .search-form { width: 100%; }
  .search-form input { width: 100%; flex: 1; }
  .list-head { flex-direction: column; align-items: stretch; }
  .footer-inner { grid-template-columns: 1fr; }
  .tb-cell { border-right: none; border-bottom: 1px solid var(--line); padding-left: 0 !important; padding-right: 0; }
  .tb-cell:last-child { border-bottom: none; }
}

/* 窄屏页头（H5）：M4 切换为中文单行版（英文副行缩到不可读），保证可读性 */
@media (max-width: 620px) {
  .logo picture { max-width: 220px; }
  .header-inner { gap: 14px; padding: 13px 16px; }
  .footer-mark { max-width: 236px; }
  /* H5：标题字号收敛，避免长标题溢出屏幕 */
  .hero h1 { font-size: 23px; line-height: 1.32; letter-spacing: 0; }
  /* H5：正文白板内边距收敛，给正文更多宽度 */
  .pd-desc, .rich-desc { padding: 20px 16px; }
  .rich-desc .desc-table table, .rich-desc .rich-table table { min-width: 300px; }
}
