/* ===================================================================
   Feima Bag — style.css  v4

   取向：箱包厂的物料本身。亚麻帆布的暖白、弹道尼龙的深墨、
   五金铭牌的黄铜。细线优先于色块，留白优先于装饰。

   修改后本地重建：build.py 根据 CSS/JS 内容指纹更新缓存版本
   =================================================================== */

:root {
  /* 深色统一到同一支 —— 之前 #1F303D 与 #26424F 并存，
     相邻两块深色区在页面上能看出色差，客户指出过 */
  --ink:     #24404E;   /* 正文字色与深色区块同源 */
  --deep:    #24404E;   /* 深色区块底：钢蓝灰，不是黑 */
  --deep-2:  #2F5062;   /* 深色区块里的卡片 */
  --ink-2:   #2A3F50;
  --ink-3:   #33536A;
  --steel:   #57697A;
  --steel-2: #8494A1;

  --linen:   #F3EBE4;   /* 名片米色系 */
  --linen-2: #E3DDD3;
  --paper:   #FBF6F1;   /* 名片底色 */
  --line:    #D5CDC1;
  --line-2:  #BFB5A6;
  --line-dk: #24384A;

  --blue:    #1A548C;
  /* 点缀色：取自公司名片的暖橙，用在小面积高亮处。
     整站只有蓝灰会显得压抑，需要一个跳出来的颜色 */
  /* 取自 Ellen 名片 —— 之前我自己配了一支橙色，跟品牌对不上。
     名片实际用色：logo 蓝 #0066B1、slogan 粉 #E7B4BC、底色暖米 #FBF6F1 */
  --brand:    #0066B1;   /* logo 蓝，只用在 logo 与重点链接 */
  --accent:   #C97F8A;   /* 名片粉压深一档，做正文可读的点缀 */
  --accent-2: #E7B4BC;   /* 名片原粉，用在深底上 */
  --accent-w: #FBF6F1;   /* 名片暖米底 */
  --blue-dk: #124372;
  --brass:   #A8834E;
  --brass-2: #C4A574;
  --brass-text: #7D5C2F; /* 小号文字使用较深金棕，装饰线仍沿用原色 */
  --accent-text: #98525E;
  --muted-on-dark: #A1B1BE;
  --signal:  #B84C1B;

  --wechat:   #07A050;
  --whatsapp: #25D366;

  --rail-w:    52px;
  --rail-open: 178px;
  --measure:   62ch;

  --ease: cubic-bezier(.32, .72, 0, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: var(--ink);
  background: var(--linen);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: "Barlow Condensed", "Barlow", system-ui, sans-serif;
  font-weight: 600; line-height: 1.06; letter-spacing: -.002em; margin: 0;
  text-wrap: balance;          /* 自动平衡断行，避免末行孤字 */
  overflow-wrap: normal; hyphens: none;
}

p { margin: 0 0 1.15em; max-width: var(--measure); text-wrap: pretty; }
p:last-child { margin-bottom: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue-dk); text-underline-offset: 3px; text-decoration-thickness: 1px; }
strong { font-weight: 600; }

.wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* 小标签：黄铜细线 + 字距 */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 12px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--brass-text); font-weight: 600; margin-bottom: 16px;
}
.eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--brass); }

.btn {
  display: inline-block; padding: 14px 30px;
  text-decoration: none; font-weight: 600; font-size: 15.5px;
  letter-spacing: .015em; border: 1px solid transparent; cursor: pointer;
  transition: background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.btn--solid { background: var(--signal); color: #fff; }
.btn--solid:hover { background: #9A3E14; }
.btn--line { border-color: rgba(255,255,255,.34); color: #fff; }
.btn--line:hover { border-color: var(--brass-2); color: var(--brass-2); }
.btn--dark { background: var(--ink); color: #fff; }
.btn--dark:hover { background: var(--ink-3); }
.btn--edge { border-color: var(--line-2); color: var(--ink); }
.btn--edge:hover { border-color: var(--ink); background: var(--linen-2); }

/* ───────────────────────── 顶部条 */
.utility { background: var(--ink); color: var(--muted-on-dark); font-size: 13px; letter-spacing: .01em; }
.utility__in { display: flex; justify-content: space-between; gap: 18px; padding: 9px 32px; max-width: 1200px; margin: 0 auto; }
.utility a { color: #BECBD4; text-decoration: none; transition: color .2s; }
.utility a:hover { color: var(--brass-2); }
.utility__r { display: flex; gap: 24px; }

/* ───────────────────────── 顶栏 */
.masthead { background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
.masthead__in { display: flex; align-items: center; gap: 26px; padding-block: 15px; max-width: 1400px; }

/* logo 锁定：飞马 + 字标 + 竖线 + 法定名 */
.brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); flex: 0 0 auto; }
.brand img { width: 50px; height: auto; flex: 0 0 auto; }
.brand__txt { display: block; }
.brand__word {
  display: block;
  font-family: "Barlow Condensed", sans-serif; font-weight: 700;
  font-size: 26px; letter-spacing: .2em; color: var(--blue); line-height: 1;
}
.brand__legal {
  display: block; white-space: nowrap;
  font-size: 10px; letter-spacing: .17em; text-transform: uppercase;
  color: var(--steel); margin-top: 5px; font-weight: 600;
}

.nav { margin-left: auto; }
.nav ul { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
.nav a {
  text-decoration: none; color: var(--ink); font-weight: 500; font-size: 15px;
  letter-spacing: .01em; padding: 7px 0 6px; position: relative;
}
.nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: var(--brass); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);
}
.nav a:hover::after { transform: scaleX(1); }
.nav a.is-on { font-weight: 600; }
.nav a.is-on::after { transform: scaleX(1); background: var(--signal); }

.masthead__cta {
  flex: 0 0 auto; padding: 10px 22px; background: var(--ink); color: #fff;
  text-decoration: none; font-size: 14.5px; font-weight: 600; letter-spacing: .015em;
  transition: background-color .25s var(--ease);
}
.masthead__cta:hover { background: var(--blue); }
.navtoggle { display: none; }

/* ───────────────────────── 下拉导航 */
.nav > ul > li { flex: 0 0 auto; }
.nav .navtop { white-space: nowrap; }
.nav li.has-sub { position: relative; }
.nav .navtop svg { width: 9px; height: 6px; margin-left: 6px; fill: none; stroke: currentColor; stroke-width: 1.6; vertical-align: middle; transition: transform .25s var(--ease); }
.nav li.has-sub:hover .navtop svg,
.nav li.has-sub:focus-within .navtop svg { transform: rotate(180deg); }
.nav .subnav {
  position: absolute; top: 100%; left: -18px; min-width: 232px;
  list-style: none; margin: 0; padding: 8px 0;
  background: var(--paper); border: 1px solid var(--line);
  box-shadow: 0 12px 34px rgba(31,48,61,.14);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
  z-index: 60;
}
.nav li.has-sub:hover > .subnav,
.nav li.has-sub:focus-within > .subnav { opacity: 1; visibility: visible; transform: none; }
.subnav li { border: 0; }
.subnav a {
  display: block; padding: 9px 20px; font-size: 14.5px; font-weight: 500;
  color: var(--ink); text-decoration: none; white-space: nowrap; border-bottom: 0;
}
.subnav a::after { display: none; }
.subnav a:hover { background: var(--linen-2); color: var(--blue); }
/* 悬停缓冲，免得斜着移过去就关掉 */
.nav li.has-sub::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 10px; }

/* ───────────────────────── 首屏轮播 */
.hero { position: relative; background: var(--deep); overflow: hidden; }

.hero__slide {
  position: absolute; inset: 0;
  opacity: 0; visibility: hidden;
  transition: opacity .9s var(--ease), visibility .9s;
}
.hero__slide.is-on { position: relative; opacity: 1; visibility: visible; }

.hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .34; filter: grayscale(.3); }
.hero__slide::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(96deg, rgba(30,52,64,.95) 0%, rgba(30,52,64,.86) 44%, rgba(30,52,64,.44) 100%);
}
.hero__in { position: relative; z-index: 2; padding: 104px 32px 132px; color: #fff; max-width: 1200px; margin: 0 auto; }
.hero .eyebrow { color: var(--brass-2); }
.hero .eyebrow::before { background: var(--brass-2); }

.hero h1, .hero__title {
  font-family: "Barlow Condensed", "Barlow", system-ui, sans-serif;
  font-weight: 600; line-height: 1.05; letter-spacing: -.014em;
  font-size: clamp(40px, 5.6vw, 72px); max-width: 11.5em;
  margin: 0 0 26px; color: #fff; text-wrap: balance;
}
.hero h1 em, .hero__title em { font-style: normal; color: var(--brass-2); }
.hero__lede { font-size: 19px; color: #BCCBD6; max-width: 56ch; line-height: 1.66; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 38px; }

/* 底部：切换标签 + 认证徽章 */
.hero__foot {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 4;
  border-top: 1px solid rgba(196,165,116,.26);
  background: linear-gradient(to top, rgba(25,44,55,.88), rgba(25,44,55,0));
}
.hero__foot-in { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding-block: 0; }

.hero__tabs { display: flex; }
.hero__tabs button {
  background: none; border: 0; cursor: pointer;
  font: inherit; font-size: 14px; font-weight: 500; color: #8FA3B2;
  padding: 20px 24px; border-left: 1px solid rgba(255,255,255,.1);
  position: relative; transition: color .3s var(--ease);
  display: flex; align-items: baseline; gap: 9px; white-space: nowrap;
}
.hero__tabs button:first-child { padding-left: 0; border-left: 0; }
.hero__tabs button b {
  font-family: "Barlow Condensed", sans-serif; font-weight: 700;
  font-size: 13px; letter-spacing: .16em; color: var(--brass);
  transition: color .3s var(--ease);
}
.hero__tabs button::after {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: var(--brass-2); transform: scaleX(0); transform-origin: left;
  transition: transform .5s var(--ease);
}
.hero__tabs button:first-child::after { left: 0; }
.hero__tabs button:hover { color: #DCE7EE; }
.hero__tabs button[aria-selected="true"] { color: #fff; }
.hero__tabs button[aria-selected="true"] b { color: var(--brass-2); }
.hero__tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.hero__tabs button:focus-visible { outline: 1px solid var(--brass-2); outline-offset: -6px; }

.hero__badges { display: flex; flex-wrap: wrap; }
.hero__badges span {
  font-size: 11px; letter-spacing: .17em; text-transform: uppercase;
  color: #8FA3B2; font-weight: 600; padding: 20px 18px;
  border-left: 1px solid rgba(255,255,255,.1);
}
.hero__badges span:last-child { padding-right: 0; }

/* ───────────────────────── 数据条 */
.plate { background: var(--deep); border-top: 1px solid rgba(196,165,116,.24); border-bottom: 1px solid var(--brass); }
.plate__grid { display: grid; grid-template-columns: repeat(6, 1fr); max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.plate__cell { padding: 30px 20px 28px; border-left: 1px solid rgba(255,255,255,.09); }
.plate__cell:first-child { border-left: 0; padding-left: 0; }
.plate__num { display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 40px; line-height: .95; color: #fff; letter-spacing: -.01em; }
.plate__key { display: block; margin-top: 10px; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--muted-on-dark); }

/* ───────────────────────── 区块 */
.band { padding-block: 78px; }
.band--paper { background: var(--linen); }
.band--dark { background: var(--deep); color: #C3D2DB; }
.band--dark h2, .band--dark h3, .band--dark strong, .band--dark dt { color: #fff; }
.band--dark a { color: var(--brass-2); }
.band--dark .eyebrow, .band--deep .eyebrow { color: var(--brass-2); }
.band--deep { background: var(--deep); color: #C3D2DB; }
.band--deep h2, .band--deep h3, .band--deep strong { color: #fff; }
.band--deep a { color: var(--brass-2); }
.band--dark .btn--solid, .band--deep .btn--solid { color: #fff; }

.band__head { margin-bottom: 48px; max-width: 780px; }
.band h2 { font-size: clamp(32px, 3.9vw, 50px); margin-bottom: 16px; letter-spacing: -.012em; }
.band__intro { color: var(--ink-2); font-size: 18.5px; line-height: 1.62; }
.band--dark .band__intro, .band--deep .band__intro { color: #97A9B7; }
.band__more { margin-top: 38px; }
.band__more a {
  font-weight: 600; font-size: 16px; text-decoration: none;
  border-bottom: 1px solid var(--brass); padding-bottom: 3px;
  transition: border-color .25s var(--ease);
}
.band__more a:hover { border-color: currentColor; }

.pagehead { background: var(--deep); color: #fff; padding: 92px 0 80px; border-bottom: 1px solid var(--brass); }
.pagehead .eyebrow { color: var(--brass-2); }
.pagehead .eyebrow::before { background: var(--brass-2); }
.pagehead h1 { font-size: clamp(36px, 4.8vw, 60px); max-width: 13em; margin-bottom: 22px; letter-spacing: -.013em; }
.pagehead__lede { font-size: 18.5px; color: #B2C2CF; max-width: 62ch; line-height: 1.66; }

.note { margin-top: 30px; font-size: 15.5px; color: var(--steel); border-left: 1px solid var(--line-2); padding-left: 18px; }

/* ───────────────────────── 风险段 */
.risks { counter-reset: r; margin: 8px 0 0; padding: 0; }
.risks li { list-style: none; padding: 36px 0 36px 82px; position: relative; border-top: 1px solid rgba(255,255,255,.11); }
.risks li::before {
  counter-increment: r; content: "0" counter(r);
  position: absolute; left: 0; top: 34px;
  font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 34px;
  color: var(--brass); line-height: 1; letter-spacing: .02em;
}
.risks h3 { font-size: 27px; margin-bottom: 12px; max-width: 22em; }
.risks p { font-size: 16.5px; max-width: 70ch; }

.ledger { width: 100%; border-collapse: collapse; margin-top: 34px; font-size: 16px; }
.ledger th {
  text-align: left; padding: 0 20px 13px 0; font-size: 11.5px;
  letter-spacing: .16em; text-transform: uppercase; color: var(--brass);
  border-bottom: 1px solid var(--brass); font-weight: 600;
}
.ledger td { padding: 17px 20px 17px 0; border-bottom: 1px solid rgba(255,255,255,.1); vertical-align: top; }
.ledger td:first-child { width: 44%; color: #fff; }

.pull {
  border-left: 2px solid var(--brass); padding: 4px 0 4px 26px;
  margin: 42px 0 0; font-size: 19px; max-width: 66ch; line-height: 1.6;
}

/* ───────────────────────── 客户类型 */
.buyers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.buyers li { background: var(--paper); padding: 30px 30px 32px; transition: background-color .3s var(--ease); }
.buyers li:hover { background: #fff; }
.buyers h3 { font-size: 23px; margin-bottom: 12px; max-width: none; }
.buyers h3 span {
  display: flex; align-items: center; gap: 10px;
  font-family: "Barlow", sans-serif; font-size: 11.5px; letter-spacing: .17em;
  text-transform: uppercase; color: var(--brass); font-weight: 600; margin-bottom: 12px;
}
.buyers h3 span::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.buyers p { font-size: 15.5px; color: var(--ink-2); }

/* ───────────────────────── 买家问答 */
.qa { display: grid; grid-template-columns: repeat(2, 1fr); gap: 44px 56px; }
.qa > div h3 { font-size: 23px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--brass); }
.qa ul { list-style: none; margin: 0; padding: 0; }
.qa li { padding: 13px 0 13px 28px; position: relative; font-size: 15.5px; border-bottom: 1px solid var(--line); line-height: 1.62; }
.qa li:last-child { border-bottom: 0; }
.qa li::before { content: ""; position: absolute; left: 0; top: 22px; width: 13px; height: 1px; background: var(--signal); }
.qa q { font-weight: 600; font-style: italic; quotes: "\201C" "\201D"; color: var(--ink); }

/* ───────────────────────── 品类 */
.cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.cats li { background: var(--paper); }
.cats a { display: block; text-decoration: none; color: var(--ink); height: 100%; }
.cats figure { margin: 0; overflow: hidden; }
.cats img { aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ease); }
.cats a:hover img { transform: scale(1.035); }
.cats__txt { padding: 20px 22px 24px; border-top: 1px solid var(--line); }
.cats strong { display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 600; font-size: 23px; margin-bottom: 4px; }
.cats span { font-size: 14.5px; color: var(--steel); line-height: 1.55; }

/* ───────────────────────── 产品 */
.prods { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.prods li { background: var(--paper); border: 1px solid var(--line); transition: border-color .3s var(--ease); }
.prods li:hover { border-color: var(--line-2); }
.prods a { display: block; height: 100%; color: var(--ink); text-decoration: none; }
.prods a:hover strong, .prods a:focus-visible strong { text-decoration: underline; text-underline-offset: 4px; }
.prods figure { margin: 0; overflow: hidden; border-bottom: 1px solid var(--line); }
.prods img { aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ease); }
.prods li:hover img { transform: scale(1.03); }
.prods__txt { padding: 22px 24px 26px; }
.prods__code { display: block; margin-bottom: 9px; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .16em; color: var(--brass-text); }
.prods strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 25px; font-weight: 600; margin-bottom: 10px; }
.prods p { font-size: 15px; color: var(--ink-2); margin-bottom: 16px; line-height: 1.6; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips span { font-size: 12px; letter-spacing: .05em; padding: 4px 11px; background: var(--linen); border: 1px solid var(--line); color: var(--steel); }

/* ───────────────────────── 工艺 */
.methods { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.methods li { background: var(--paper); padding: 28px 28px 30px; }
.methods h3 { font-size: 23px; margin-bottom: 10px; }
.methods p { font-size: 15.5px; line-height: 1.62; color: var(--ink-2); }
.methods em { display: block; font-style: normal; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--line); font-size: 11.5px; letter-spacing: .14em; color: var(--brass); text-transform: uppercase; font-weight: 600; }

/* ───────────────────────── 流程 */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.steps li { background: var(--paper); }
.steps figure { margin: 0; overflow: hidden; }
.steps img { aspect-ratio: 4/3; object-fit: cover; border-bottom: 1px solid var(--line); transition: transform .6s var(--ease); }
.steps li:hover img { transform: scale(1.03); }
.steps__txt { padding: 20px 22px 24px; }
.steps__n { display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 14px; color: var(--brass); letter-spacing: .16em; margin-bottom: 6px; }
.steps strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 600; margin-bottom: 7px; color: var(--ink); }
.steps p { font-size: 14.5px; color: var(--steel); line-height: 1.58; }

/* ───────────────────────── 六步 */
.flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.flow li { background: var(--paper); padding: 26px 22px 28px; }
.flow b { display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 15px; color: var(--brass); letter-spacing: .16em; margin-bottom: 14px; }
.flow span { font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--steel); font-weight: 600; display: block; margin-bottom: 6px; }
.flow strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 21px; margin-bottom: 7px; }
.flow p { font-size: 14.5px; color: var(--steel); line-height: 1.56; }

/* ───────────────────────── 规格 */
.specs { margin: 0; border-top: 1px solid var(--ink); }
.specs > div { display: flex; gap: 32px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.specs dt { flex: 0 0 260px; font-weight: 600; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--steel); padding-top: 3px; }
.specs dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.band--dark .specs { border-top-color: var(--brass); }
.band--dark .specs > div { border-bottom-color: rgba(255,255,255,.1); }
.band--dark .specs dt { color: var(--brass-2); }

/* ───────────────────────── 证书 */
.certs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.certs li { background: var(--paper); border: 1px solid var(--line); padding: 16px 16px 20px; transition: border-color .3s var(--ease); }
.certs li:hover { border-color: var(--line-2); }
.certs img { border: 1px solid var(--line); margin-bottom: 14px; }
.certs strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 600; margin-bottom: 4px; }
.certs span { font-size: 14px; color: var(--steel); line-height: 1.55; }

.certtable { width: 100%; border-collapse: collapse; font-size: 16px; }
.certtable th { text-align: left; padding: 0 20px 13px 0; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); border-bottom: 1px solid var(--brass); font-weight: 600; }
.certtable td { padding: 18px 20px 18px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.certtable td:first-child { font-weight: 600; width: 24%; font-size: 16.5px; }
.certtable td:nth-child(2) { color: var(--ink-2); width: 28%; }
.certtable td:last-child { color: var(--steel); font-size: 15px; }

/* ───────────────────────── 案例 */
.cases { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px 48px; }
.cases li { border-top: 1px solid var(--brass); padding-top: 20px; }
.cases__yr { display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .16em; color: var(--brass); margin-bottom: 8px; }
.cases h3 { font-size: 24px; margin-bottom: 10px; }
.cases p { font-size: 15.5px; color: var(--ink-2); line-height: 1.62; }
.band--dark .cases p, .band--deep .cases p { color: #97A9B7; }

.casefull { border-top: 1px solid var(--line); padding: 52px 0; }
.casefull:last-child { border-bottom: 1px solid var(--line); }
.casefull__meta { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: 20px; }
.casefull__meta span { font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; padding: 0 16px; color: var(--brass-text); font-weight: 600; border-left: 1px solid var(--line); }
.casefull__meta span:first-child { padding-left: 0; border-left: 0; }
.casefull h2 { font-size: clamp(27px, 3vw, 38px); margin-bottom: 18px; max-width: 17em; }
.casefull__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px 40px; margin-top: 30px; }
.casefull__grid h3 { font-size: 18px; margin-bottom: 9px; padding-bottom: 8px; border-bottom: 1px solid var(--line); color: var(--ink); }
.casefull__grid p { font-size: 15.5px; line-height: 1.64; }
.result { margin-top: 32px; padding: 24px 28px; background: var(--deep); color: #C3D2DB; font-size: 16px; max-width: none; }
.result strong { color: var(--brass-2); }
.result a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* ───────────────────────── FAQ */
.faqs { border-top: 1px solid var(--ink); max-width: 920px; }
.faqs details { border-bottom: 1px solid var(--line); }
.faqs summary { cursor: pointer; list-style: none; padding: 19px 46px 19px 0; position: relative; font-weight: 600; font-size: 17.5px; transition: color .2s; }
.faqs summary::-webkit-details-marker { display: none; }
.faqs summary::after {
  content: ""; position: absolute; right: 8px; top: 50%; width: 11px; height: 11px;
  border-right: 1.5px solid var(--brass); border-bottom: 1.5px solid var(--brass);
  transform: translateY(-70%) rotate(45deg); transition: transform .3s var(--ease);
}
.faqs details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faqs summary:hover { color: var(--blue); }
.faqs p { padding: 0 46px 24px 0; color: var(--ink-2); font-size: 16px; max-width: 74ch; line-height: 1.68; }

.faqgroup { padding-block: 54px; }
.faqgroup h2 { font-size: 32px; margin-bottom: 22px; }
.jump { display: flex; flex-wrap: wrap; gap: 0; padding-block: 22px; border-bottom: 1px solid var(--line); }
.jump a { font-size: 14px; letter-spacing: .02em; padding: 6px 20px; text-decoration: none; color: var(--steel); border-left: 1px solid var(--line); transition: color .2s; }
.jump a:first-child { padding-left: 0; border-left: 0; }
.jump a:hover { color: var(--ink); }

/* ───────────────────────── 分栏 */
.split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: start; }
.split__txt { min-width: 0; }
.split__fig { margin: 0; }
.split__fig img { border: 1px solid var(--line); }
.split__fig figcaption { margin-top: 12px; font-size: 14px; color: var(--steel); letter-spacing: .02em; }

/* ───────────────────────── 图集 */
.gallery { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.gallery figure { margin: 0; overflow: hidden; border: 1px solid var(--line); }
.gallery img { aspect-ratio: 4/3; object-fit: cover; transition: transform .6s var(--ease); }
.gallery li:hover img { transform: scale(1.04); }
.gallery span { display: block; margin-top: 10px; font-size: 13px; color: var(--steel); letter-spacing: .04em; }

/* ───────────────────────── 品控 */
.qcline { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.qcline li { border-top: 1px solid var(--blue); padding-top: 18px; }
.qcline span { display: inline-block; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 12.5px; letter-spacing: .16em; color: var(--blue); margin-bottom: 8px; }
.qcline h3 { font-size: 21px; margin-bottom: 8px; }
.qcline p { font-size: 15px; color: var(--ink-2); line-height: 1.6; }

/* ───────────────────────── 团队 */
.team { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.team figure { margin: 0 0 14px; overflow: hidden; border: 1px solid var(--line); }
.team img { aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ease); }
.team li:hover img { transform: scale(1.04); }
.team strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 600; }
.team span { font-size: 14px; color: var(--steel); letter-spacing: .02em; }

/* ───────────────────────── CTA */
.cta { background: var(--deep); color: #fff; padding: 72px 0; border-top: 1px solid var(--brass); }
.cta__in { display: flex; gap: 52px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cta h2 { font-size: clamp(27px, 3.1vw, 39px); color: #fff; margin-bottom: 14px; max-width: 15em; letter-spacing: -.012em; }
.cta p { color: #A4B6C4; max-width: 52ch; font-size: 16.5px; line-height: 1.62; }
.cta p a { color: var(--brass-2); text-decoration: underline; }
.cta__btns { display: flex; gap: 15px; flex-wrap: wrap; }

/* ───────────────────────── 联系 */
.contact { display: grid; grid-template-columns: 1.35fr .8fr; gap: 60px; align-items: start; }
.contact h2 { font-size: 32px; margin-bottom: 24px; }
.contact h3 { font-size: 21px; margin: 30px 0 9px; }
.contact__form { scroll-margin-top: 110px; background: var(--paper); border: 1px solid var(--line); padding: 36px 36px 40px; }
.contact__form label { display: block; margin-bottom: 20px; font-size: 13px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--steel); }
.contact__form label span { color: var(--signal); }
.contact__form input, .contact__form select, .contact__form textarea {
  display: block; width: 100%; margin-top: 8px; padding: 12px 14px;
  font-family: inherit; font-size: 16px; font-weight: 400; letter-spacing: normal;
  text-transform: none; color: var(--ink); background: #fff;
  border: 1px solid var(--line-2); border-radius: 0;
  transition: border-color .2s;
}
.contact__form input:hover, .contact__form select:hover, .contact__form textarea:hover { border-color: var(--steel-2); }
.contact__form input:focus, .contact__form select:focus, .contact__form textarea:focus { outline: 1px solid var(--blue); outline-offset: 0; border-color: var(--blue); }
.contact__form textarea { resize: vertical; line-height: 1.6; }
.f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.formnote { font-size: 14px; color: var(--steel); margin-top: 16px; line-height: 1.6; }

.contact__side { background: var(--deep); color: #BCCAD5; padding: 36px 32px 40px; }
.contact__side h2, .contact__side h3 { color: #fff; }
.contact__list { margin: 0 0 4px; }
.contact__list > div { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.contact__list dt { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-2); font-weight: 600; margin-bottom: 5px; }
.contact__list dd { margin: 0; color: #DAE5EC; overflow-wrap: anywhere; }
.contact__side a { color: var(--brass-2); }

/* ───────────────────────── 页脚 */
.foot { background: var(--deep); color: #9EAFBB; padding: 72px 0 36px; font-size: 15px; }
.foot a { color: #CBD9E2; text-decoration: none; transition: color .2s; }
.foot a:hover { color: var(--brass-2); }
.foot__cols { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.foot__cols--five { grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)); gap: 32px; }
.foot__cols > * { min-width: 0; overflow-wrap: anywhere; }
.foot__lock { display: flex; align-items: center; gap: 13px; margin-bottom: 20px; }
.foot__lock img { width: 46px; height: auto; }
.foot__lock b { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 25px; letter-spacing: .17em; color: #fff; }
.foot__brand p { font-size: 15px; color: var(--muted-on-dark); line-height: 1.66; }
.foot h3 { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--brass-2); margin-bottom: 16px; font-weight: 600; }
.foot ul { list-style: none; margin: 0; padding: 0; }
.foot li { margin-bottom: 9px; }
.foot__addr { color: var(--muted-on-dark); margin-top: 14px; line-height: 1.6; }
.foot__legal { margin-top: 52px; padding-top: 22px; border-top: 1px solid var(--line-dk); font-size: 13.5px; max-width: none; color: var(--muted-on-dark); }

/* ═══════════════ 侧边联系栏 ═══════════════ */
.fm-rail { position: fixed; right: 16px; top: 50%; transform: translateY(-50%); z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.fm-rail__btn {
  --c: var(--blue);
  display: flex; align-items: center; gap: 13px;
  width: var(--rail-w); height: var(--rail-w); padding: 0 14px;
  border: 0; cursor: pointer; background: var(--c); color: #fff;
  text-decoration: none; font: inherit; font-size: 14px; font-weight: 600;
  box-shadow: 0 4px 22px rgba(31,48,61,.26);
  overflow: hidden; white-space: nowrap;
  transition: width .34s var(--ease), background-color .25s, box-shadow .25s;
}
.fm-rail__btn:hover, .fm-rail__btn:focus-visible { width: var(--rail-open); box-shadow: 0 8px 30px rgba(31,48,61,.34); }
.fm-rail__btn:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.fm-rail__ico { flex: 0 0 24px; width: 24px; height: 24px; display: grid; place-items: center; }
.fm-rail__ico svg { width: 22px; height: 22px; fill: currentColor; }
.fm-rail__lbl { opacity: 0; transform: translateX(-6px); transition: opacity .22s .08s, transform .3s .08s var(--ease); }
.fm-rail__btn:hover .fm-rail__lbl, .fm-rail__btn:focus-visible .fm-rail__lbl { opacity: 1; transform: none; }
.fm-rail__btn--mail:hover { background: var(--blue-dk); }
.fm-rail__btn--wechat { --c: var(--wechat); }
.fm-rail__btn--wa { --c: var(--whatsapp); }

.fm-qr__scrim { position: fixed; inset: 0; background: rgba(31,48,61,.6); opacity: 0; pointer-events: none; transition: opacity .3s; z-index: 70; }
.fm-qr__scrim[data-open="true"] { opacity: 1; pointer-events: auto; }
.fm-qr { position: fixed; top: 0; right: 0; height: 100%; width: min(348px, 88vw); background: var(--paper); z-index: 80; transform: translateX(100%); transition: transform .4s var(--ease); display: flex; flex-direction: column; padding: 30px 28px; box-shadow: -14px 0 46px rgba(31,48,61,.3); }
.fm-qr[data-open="true"] { transform: none; }
.fm-qr__close { align-self: flex-end; background: none; border: 0; cursor: pointer; font-size: 26px; line-height: 1; color: var(--steel); padding: 4px 6px; }
.fm-qr__close:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.fm-qr__title { font-size: 25px; margin: 10px 0 5px; }
.fm-qr__hint { font-size: 14.5px; color: var(--steel); margin: 0 0 22px; }
.fm-qr__img { width: 100%; max-width: 250px; align-self: center; border: 1px solid var(--line); padding: 12px; background: #fff; }
.fm-qr__rows { margin-top: 28px; border-top: 1px solid var(--line); }
.fm-qr__row { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.fm-qr__row dt { color: var(--steel); font-weight: 600; margin: 0; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; padding-top: 3px; }
.fm-qr__row dd { margin: 0; text-align: right; }
.fm-bar { display: none; }
.hidden { display: none !important; }

/* ═══════════════ 响应式 ═══════════════ */
@media (max-width: 1120px) {
  .nav ul { gap: 18px; }
  .nav a { font-size: 14.5px; }
  .brand__legal { display: none; }
  .brand__word { border-right: 0; padding-right: 0; }
}

@media (max-width: 1300px) {
  .navtoggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; margin-left: auto; width: 44px; height: 40px; padding: 0 10px; background: none; border: 1px solid var(--line-2); cursor: pointer; }
  .navtoggle span { display: block; height: 1.5px; background: var(--ink); transition: transform .25s var(--ease), opacity .2s; }
  .navtoggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .navtoggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .navtoggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
  .nav { display: none; order: 10; width: 100%; margin-left: 0; border-top: 1px solid var(--line); padding-top: 8px; }
  .nav.is-open { display: block; }
  .nav ul { flex-direction: column; gap: 0; }
  .nav li { border-bottom: 1px solid var(--line); }
  .nav a { display: block; padding: 14px 2px; }
  .nav a::after { display: none; }
  /* 移动端：下拉直接展开，不做 hover */
  .nav li.has-sub::after { display: none; }
  .nav .subnav {
    position: static; opacity: 1; visibility: visible; transform: none;
    border: 0; box-shadow: none; background: transparent;
    padding: 0 0 8px 14px; min-width: 0;
  }
  .subnav a { padding: 9px 2px; font-size: 14px; color: var(--steel); white-space: normal; overflow-wrap: anywhere; }
  .subnav a:hover { background: none; }
  .nav .navtop svg { float: right; margin-top: 8px; }
  .nav a.is-on { color: var(--blue); }
  .masthead__in { flex-wrap: wrap; }
  .masthead__cta { display: none; }
  .masthead { position: static; }

}

/* Use the bottom contact bar before the fixed rail reaches the page content. */
@media (max-width: 1300px) {
  .fm-rail { display: none; }
  .fm-bar {
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    background: var(--paper); border-top: 1px solid var(--line);
    box-shadow: 0 -4px 20px rgba(31,48,61,.14);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .fm-bar a, .fm-bar button { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 12px 4px 10px; background: none; border: 0; cursor: pointer; font: inherit; font-size: 10.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); text-decoration: none; }
  .fm-bar svg { width: 21px; height: 21px; }
  .fm-bar .i-mail { fill: var(--blue); }
  .fm-bar .i-wechat { fill: var(--wechat); }
  .fm-bar .i-wa { fill: var(--whatsapp); }
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
}

@media (max-width: 1120px) {
  .methods, .steps, .cats, .certs, .gallery, .team { grid-template-columns: repeat(3, 1fr); }
  .qcline { grid-template-columns: repeat(3, 1fr); }
  .casefull__grid { grid-template-columns: repeat(2, 1fr); }
  .foot__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .foot__brand, .foot__cols:not(.foot__cols--five) > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .methods, .steps, .cats, .certs, .gallery, .team,
  .flow, .prods, .buyers, .qcline { grid-template-columns: repeat(2, 1fr); }
  .qa, .cases { grid-template-columns: 1fr; }
  .plate__grid { grid-template-columns: repeat(3, 1fr); }
  .plate__cell:nth-child(4) { border-left: 0; padding-left: 0; }
  .plate__cell:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.09); }
  .split { grid-template-columns: 1fr; gap: 36px; }
  .contact { grid-template-columns: 1fr; gap: 40px; }
  .band { padding-block: 62px; }
  .hero__in { padding: 72px 32px 104px; }
  .hero__tabs button { padding: 16px 16px; font-size: 13px; }
  .hero__badges span { padding: 16px 12px; }
  .pagehead { padding: 62px 0 54px; }
  .risks li { padding-left: 58px; }
  .risks li::before { font-size: 27px; top: 38px; }
  .band__head { margin-bottom: 34px; }
}

@media (max-width: 560px) {
  body { font-size: 16px; }
  .wrap { padding: 0 20px; }
  .utility__in { padding-inline: 20px; font-size: 12px; }
  .utility__in > span:first-child { display: none; }
  .utility__r { margin-left: auto; gap: 16px; }
  .plate__grid { grid-template-columns: repeat(2, 1fr); padding-inline: 20px; }
  .plate__cell { border-left: 1px solid rgba(255,255,255,.09); border-bottom: 1px solid rgba(255,255,255,.09); padding: 22px 16px 20px; }
  .plate__cell:nth-child(odd) { border-left: 0; padding-left: 0; }
  .plate__num { font-size: 32px; }
  .hero__slide { transition-duration: .6s; }
  .hero__in { padding: 56px 20px 118px; }
  .hero__foot-in { padding-inline: 20px; }
  .hero__tabs { width: 100%; }
  .hero__tabs button { flex: 1; justify-content: center; padding: 15px 6px; font-size: 12px; gap: 6px; }
  .hero__tabs button b { font-size: 11px; }
  .hero__badges { display: none; }
  .f2 { grid-template-columns: 1fr; }
  .specs > div { flex-direction: column; gap: 3px; }
  .specs dt { flex-basis: auto; }
  .foot__cols { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .prods, .buyers, .methods, .flow, .qcline, .certs, .steps { grid-template-columns: 1fr; }
  .gallery, .team, .cats { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .casefull__grid { grid-template-columns: 1fr; }
  .contact__form { padding: 24px 22px 28px; }
  .ledger, .certtable { font-size: 15px; }
  .ledger td, .certtable td { padding-right: 12px; }
  .certtable td:first-child, .certtable td:nth-child(2) { width: auto; }
  .casefull__meta span { padding: 2px 12px; }
  .jump a { padding: 5px 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}


/* ═══════════════════════════════════════════════════
   图文并置板块（照巨鹏结构：图 + 文 + 内嵌数据 + 按钮）
   ═══════════════════════════════════════════════════ */
.feature { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.feature--flip .feature__fig { order: 2; }
.feature__fig { margin: 0; position: relative; }
.feature__fig img { width: 100%; border: 1px solid var(--line); }
.band--dark .feature__fig img, .band--deep .feature__fig img { border-color: rgba(255,255,255,.14); }
.feature__fig figcaption {
  position: absolute; left: 0; bottom: 0; right: 0;
  background: linear-gradient(to top, rgba(25,44,55,.9), rgba(25,44,55,0));
  color: #DCE7EE; font-size: 13px; letter-spacing: .05em; padding: 34px 18px 14px;
}
.feature__txt h2 { margin-bottom: 18px; }
.feature__txt p { font-size: 17.5px; line-height: 1.7; }

.metrics { display: flex; gap: 0; margin: 30px 0 4px; border-top: 1px solid var(--line); }
.band--dark .metrics, .band--deep .metrics { border-top-color: rgba(196,165,116,.3); }
.metrics div { padding: 20px 26px 0 0; margin-right: 26px; border-right: 1px solid var(--line); }
.band--dark .metrics div, .band--deep .metrics div { border-right-color: rgba(255,255,255,.13); }
.metrics div:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.metrics b {
  display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
  font-size: 34px; line-height: 1; color: var(--ink); letter-spacing: -.01em;
}
.band--dark .metrics b, .band--deep .metrics b { color: #fff; }
.metrics span { display: block; margin-top: 7px; font-size: 11.5px; letter-spacing: .13em; text-transform: uppercase; color: var(--steel); }
.band--dark .metrics span, .band--deep .metrics span { color: var(--steel-2); }

.tagrow { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.tagrow span {
  font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
  padding: 6px 13px; border: 1px solid var(--line-2); color: var(--steel);
}
.band--dark .tagrow span, .band--deep .tagrow span { border-color: rgba(196,165,116,.42); color: var(--brass-2); }

.feature__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

/* 视频占位框 */
.videoframe {
  position: relative; aspect-ratio: 16/9; width: 100%;
  border: 1px solid var(--line); background: var(--deep);
  display: grid; place-items: center; text-align: center; overflow: hidden;
}
.videoframe img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .3; }
.videoframe__in { position: relative; z-index: 2; padding: 24px; }
.videoframe__play {
  width: 66px; height: 66px; margin: 0 auto 16px; border: 1px solid var(--brass);
  border-radius: 50%; display: grid; place-items: center;
}
.videoframe__play::after { content: ""; border-left: 15px solid var(--brass-2); border-top: 9px solid transparent; border-bottom: 9px solid transparent; margin-left: 4px; }
.videoframe b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 21px; color: #fff; font-weight: 600; }
.videoframe span { display: block; margin-top: 6px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--steel-2); }

/* 案例卡（带图） */
.casecards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
.casecards li { background: var(--paper); border: 1px solid var(--line); display: flex; flex-direction: column; }
.casecards figure { margin: 0; overflow: hidden; border-bottom: 1px solid var(--line); }
.casecards img { aspect-ratio: 4/3; object-fit: cover; transition: transform .6s var(--ease); }
.casecards li:hover img { transform: scale(1.04); }
.casecards__txt { padding: 20px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.casecards__yr { font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 12.5px; letter-spacing: .16em; color: var(--brass); margin-bottom: 8px; }
.casecards h3 { font-size: 21px; margin-bottom: 9px; }
.casecards p { font-size: 14.8px; color: var(--ink-2); line-height: 1.6; }

/* 展会占位格 */
.shows { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.shows li { border: 1px solid var(--line); background: var(--paper); }
.shows figure { margin: 0; aspect-ratio: 4/3; background: var(--linen-2); display: grid; place-items: center; border-bottom: 1px solid var(--line); overflow: hidden; }
.shows figure img { width: 100%; height: 100%; object-fit: cover; }
.shows__hold { text-align: center; color: var(--line-2); padding: 20px; }
.shows__hold svg { width: 34px; height: 34px; fill: currentColor; opacity: .75; margin: 0 auto 8px; }
.shows__hold span { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.shows__txt { padding: 16px 18px 20px; }
.shows__txt b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 19px; font-weight: 600; }
.shows__txt span { font-size: 13px; color: var(--steel); letter-spacing: .04em; }

/* 品类条：小图 + 名称，横向密排 */
.markets { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.markets li { background: var(--paper); padding: 22px 22px 24px; }
.markets b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 600; margin-bottom: 5px; }
.markets span { font-size: 14px; color: var(--steel); line-height: 1.55; }

@media (max-width: 1120px) {
  .casecards, .markets { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .feature { grid-template-columns: 1fr; gap: 34px; }
  .feature--flip .feature__fig { order: 0; }
  .shows { grid-template-columns: repeat(2, 1fr); }
  .metrics { flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .casecards, .markets, .shows { grid-template-columns: 1fr; }
  .metrics div { padding-right: 18px; margin-right: 18px; }
  .metrics b { font-size: 28px; }
}

/* 证书下载卡 */
.certs__thumb { display: block; overflow: hidden; border: 1px solid var(--line); margin-bottom: 14px; background: #fff; }
.certs__thumb img { transition: transform .6s var(--ease); }
.certs li:hover .certs__thumb img { transform: scale(1.03); }
.certs__ref { display: block; font-size: 12px; letter-spacing: .07em; color: var(--steel); margin-bottom: 12px; font-family: "Barlow", sans-serif; }
.certs__dl {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--blue-dk); text-decoration: none;
  border-bottom: 1px solid var(--brass); padding-bottom: 3px;
  transition: color .2s, border-color .2s;
}
.certs__dl::after { content: "\2193"; font-size: 15px; }
.certs__dl:hover { color: var(--signal); border-color: var(--signal); }

/* 证书卡片补充 */
.certs__thumb { display: block; margin-bottom: 14px; border: 1px solid var(--line); overflow: hidden; }
.certs__thumb img { transition: transform .6s var(--ease); margin: 0; border: 0; }
.certs__thumb:hover img { transform: scale(1.03); }
.certs__ref { display: block; font-size: 12px; letter-spacing: .06em; color: var(--brass); font-weight: 600; margin-bottom: 6px; }
.certs__note { display: block; font-size: 13.5px; color: var(--steel); line-height: 1.55; margin-bottom: 12px; }
.certs__dl {
  display: inline-block; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase;
  font-weight: 600; text-decoration: none; color: var(--ink);
  border-bottom: 1px solid var(--brass); padding-bottom: 3px; margin-top: 4px;
}
.certs__dl:hover { color: var(--blue); border-color: var(--blue); }

/* ═══════════════════════════════════════════════════
   产品页
   ═══════════════════════════════════════════════════ */

/* 重点款：图廊 + 规格 + 故事 */
.pfeat { border-top: 1px solid var(--line); padding: 46px 0; }
.pfeat:first-of-type { border-top: 0; padding-top: 0; }
.pfeat__head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
.pfeat__code {
  font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 15px;
  letter-spacing: .18em; color: var(--brass-text); padding: 4px 12px; border: 1px solid var(--brass);
}
.pfeat__head h3 { font-size: clamp(24px, 2.6vw, 32px); }
.pfeat__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; align-items: start; }

.pfeat__gal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.pfeat__gal li { background: var(--paper); overflow: hidden; }
.pfeat__gal img { aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ease); }
.pfeat__gal li:hover img { transform: scale(1.05); }

.pfeat__info .specs { margin-bottom: 26px; }
.pfeat__info .specs dt { flex-basis: 168px; font-size: 12px; }
.pfeat__info .specs > div { padding: 11px 0; }
.pfeat__info .specs dd { font-size: 15.5px; }

.pfeat__story > div { padding: 16px 0; border-top: 1px solid var(--line); }
.pfeat__story h4 {
  font-family: "Barlow", sans-serif; font-size: 11.5px; font-weight: 600;
  letter-spacing: .16em; text-transform: uppercase; color: var(--brass); margin: 0 0 7px;
}
.pfeat__story p { font-size: 15px; line-height: 1.66; color: var(--ink-2); }

/* 全量款式网格 */
.pgrid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(6, 1fr);
  gap: 1px; background: var(--line); border: 1px solid var(--line);
}
.pgrid li { background: var(--paper); }
.pgrid figure { margin: 0; overflow: hidden; }
.pgrid img { aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ease); }
.pgrid li:hover img { transform: scale(1.05); }
.pgrid__txt { padding: 11px 12px 14px; border-top: 1px solid var(--line); }
.pgrid__txt b {
  display: block; font-family: "Barlow Condensed", sans-serif; font-weight: 700;
  font-size: 15px; letter-spacing: .08em; color: var(--ink);
}
.pgrid__txt span { display: block; font-size: 12px; color: var(--steel); line-height: 1.45; margin-top: 3px; }

/* 品类互链 */
.catlinks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.catlinks li { min-width: 0; background: var(--paper); }
.catlinks a {
  display: block; height: 100%; padding: 16px 18px; overflow-wrap: anywhere; text-decoration: none; color: var(--ink);
  font-family: "Barlow Condensed", sans-serif; font-size: 18px; font-weight: 600;
  transition: background-color .25s var(--ease);
}
.catlinks a:hover { background: var(--linen-2); color: var(--blue); }

.pagehead .eyebrow a { color: var(--brass-2); text-decoration: none; }
.pagehead .eyebrow a:hover { text-decoration: underline; }

@media (max-width: 1120px) {
  .pgrid { grid-template-columns: repeat(4, 1fr); }
  .catlinks { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .pfeat__body { grid-template-columns: 1fr; gap: 28px; }
  .pgrid { grid-template-columns: repeat(3, 1fr); }
  .catlinks { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .pgrid { grid-template-columns: repeat(2, 1fr); }
  .catlinks { grid-template-columns: 1fr; }
  .pfeat__gal { grid-template-columns: repeat(2, 1fr); }
  .pfeat__info .specs dt { flex-basis: auto; }
}

/* 生产实证图廊 */
.evid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.evid li { background: var(--paper); border: 1px solid var(--line); display: flex; flex-direction: column; }
.evid figure { margin: 0; overflow: hidden; border-bottom: 1px solid var(--line); background: #fff; }
.evid img { aspect-ratio: 4/5; object-fit: contain; transition: transform .6s var(--ease); }
.evid li:hover img { transform: scale(1.04); }
.evid > li > div { padding: 16px 18px 20px; }
.evid b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 19px; font-weight: 600; margin-bottom: 6px; }
.evid span { font-size: 14px; color: var(--steel); line-height: 1.58; }
@media (max-width: 1120px) { .evid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .evid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .evid { grid-template-columns: 1fr; } }

/* 解决方案页痛点列表 */
.painlist { counter-reset: pl; list-style: none; margin: 0 0 8px; padding: 0; }
.painlist li { position: relative; padding: 26px 0 26px 66px; border-top: 1px solid var(--line); }
.painlist li::before {
  counter-increment: pl; content: "0" counter(pl);
  position: absolute; left: 0; top: 27px;
  font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 28px;
  color: var(--brass); letter-spacing: .04em;
}
.painlist h3 { font-size: 23px; margin-bottom: 9px; max-width: 30em; }
.painlist p { font-size: 16px; color: var(--ink-2); }

/* 指南 / 落地页正文 */
.prose { max-width: 74ch; }
.prose p { font-size: 17.5px; line-height: 1.72; color: var(--ink-2); }
.prose h2 { font-size: clamp(24px, 2.6vw, 32px); margin: 40px 0 14px; }
.prose h2:first-child { margin-top: 0; }
.prose strong { color: var(--ink); }
.prose a { font-weight: 500; }

/* 首页买家卡片可点 */
.buyers li[data-sol] { position: relative; }
.buyers li[data-sol]::after {
  content: ""; position: absolute; inset: 0; border: 2px solid transparent;
  transition: border-color .3s var(--ease); pointer-events: none;
}
.buyers li[data-sol]:hover::after { border-color: var(--brass); }

@media (max-width: 900px) {
  .painlist li { padding-left: 48px; }
  .painlist li::before { font-size: 22px; }
}
.cats--text { grid-template-columns: repeat(3, 1fr); }
.cats--text .cats__txt { border-top: 0; padding: 26px 24px 30px; }
.cats--text span { display: block; margin-top: 6px; }
@media (max-width: 900px) { .cats--text { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cats--text { grid-template-columns: 1fr; } }

/* 博客列表 */
.posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.posts li { background: var(--paper); }
.posts a { display: block; padding: 26px 28px 30px; text-decoration: none; color: var(--ink); height: 100%; transition: background-color .3s var(--ease); }
.posts a:hover { background: #fff; }
.post__tag { display: block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-text); font-weight: 600; margin-bottom: 10px; }
.posts strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 24px; font-weight: 600; line-height: 1.12; margin-bottom: 8px; }
.posts a > span:last-child { font-size: 14.5px; color: var(--steel); line-height: 1.6; }
.gallery--wide { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .posts { grid-template-columns: 1fr; } .gallery--wide { grid-template-columns: repeat(2, 1fr); } }

/* 图集列数按张数走 —— 6 张排 4 列会在第二行空两格，
   客户指出过不止一次。列数由 pages.gal_cols() 算好写在 class 上。 */
.gallery--c4 { grid-template-columns: repeat(4, 1fr); }
.gallery--c3 { grid-template-columns: repeat(3, 1fr); }
.gallery--c2 { grid-template-columns: repeat(2, 1fr); }
/* 去重后只剩一张：通栏宽幅，不在 4 列网格里留三格空白 */
.gallery--c1 { grid-template-columns: 1fr; }
.gallery--c1 img { aspect-ratio: 21/9; width: 100%; }

/* 固定条目数的网格，列数跟着条目数走，同样是不留半行空。
   .buyers/.methods 默认 3 列、.cats/.certs 默认 4 列，
   条目数除不尽时在标签上加这几个类改列数。 */
.grid--c2 { grid-template-columns: repeat(2, 1fr) !important; }
.grid--c3 { grid-template-columns: repeat(3, 1fr) !important; }
.grid--c4 { grid-template-columns: repeat(4, 1fr) !important; }
.grid--c5 { grid-template-columns: repeat(5, 1fr) !important; }
@media (max-width: 1000px) {
  .grid--c5, .grid--c4, .grid--c3 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 620px) {
  .grid--c5, .grid--c4, .grid--c3, .grid--c2 { grid-template-columns: 1fr !important; }
}

@media (max-width: 1000px) {
  .gallery--c4, .gallery--c3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .gallery--c4, .gallery--c3, .gallery--c2 { grid-template-columns: 1fr; }
}


/* 文章版式：正文 + 侧栏 */
.artgrid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 54px; align-items: start; }
.artmain { min-width: 0; }
.tldr { border-left: 3px solid var(--brass); background: var(--paper); padding: 22px 26px; margin-bottom: 32px; }
.tldr b { display: block; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-text); margin-bottom: 9px; }
.tldr p { font-size: 17px; line-height: 1.66; margin: 0; max-width: none; }
.artfig { margin: 0 0 32px; }
.artfig img { width: 100%; border: 1px solid var(--line); }
.artside { position: sticky; top: 90px; display: grid; gap: 20px; }
.artside__box { background: var(--paper); border: 1px solid var(--line); padding: 22px 24px 26px; }
.artside__box h3 { font-size: 19px; margin-bottom: 14px; }
.artside .metrics { flex-direction: column; border-top: 0; margin: 0; }
.artside .metrics div { border-right: 0; border-bottom: 1px solid var(--line); margin: 0; padding: 12px 0 14px; }
.artside .metrics div:last-child { border-bottom: 0; padding-bottom: 0; }
.artside .metrics b { font-size: 27px; }
.artside__cta { background: var(--deep); border-color: var(--deep); }
.artside__cta h3 { color: #fff; }
.artside__cta p { font-size: 14.5px; color: #B7C6D2; margin-bottom: 18px; }
@media (max-width: 1000px) { .artgrid { grid-template-columns: 1fr; gap: 34px; } .artside { position: static; grid-template-columns: 1fr 1fr; display: grid; } }
@media (max-width: 620px) { .artside { grid-template-columns: 1fr; } }
.pgrid--4 { grid-template-columns: repeat(4, 1fr); }
.tagrow--big { margin: 0 0 30px; }
.tagrow--big span { font-size: 12.5px; padding: 8px 16px; border-color: var(--brass); color: var(--brass); }
@media (max-width: 900px) { .pgrid--4 { grid-template-columns: repeat(2, 1fr); } }
.shows--3 { grid-template-columns: repeat(3, 1fr); }
.shows figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.shows li:hover figure img { transform: scale(1.04); }
.shows__txt p { font-size: 14px; color: var(--steel); line-height: 1.58; margin-top: 8px; }
@media (max-width: 900px) { .shows--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .shows--3 { grid-template-columns: 1fr; } }

/* 视频（点击加载） */
.videoframe[data-yt] { cursor: pointer; }
.videoframe[data-yt]:hover .videoframe__play { border-color: var(--brass-2); transform: scale(1.06); }
.videoframe[data-yt]:focus-visible { outline: 2px solid var(--brass); outline-offset: 3px; }
.videoframe__play { transition: transform .3s var(--ease), border-color .3s var(--ease); }
.videoframe iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.videoframe[data-loaded] .videoframe__in { display: none; }

/* 产品视频卡 */
.vidgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vidgrid li { background: var(--paper); border: 1px solid var(--line); }
.vidgrid .videoframe { aspect-ratio: 9/16; border: 0; border-bottom: 1px solid var(--line); }
.vidgrid .videoframe--wide { aspect-ratio: 16/9; }
.vidgrid__txt { padding: 16px 18px 20px; color: var(--ink); }
.vidgrid__txt b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 19px; font-weight: 600; }
.vidgrid__txt span { font-size: 13.5px; color: var(--steel); }
@media (max-width: 900px) { .vidgrid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .vidgrid { grid-template-columns: 1fr; } }
.videoframe--tall { aspect-ratio: 9/16; }
.team--5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1120px) { .team--5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px)  { .team--5 { grid-template-columns: repeat(2, 1fr); } }

/* 业务员落地页 */
.rephero { background: var(--deep); color: #fff; border-bottom: 1px solid var(--brass); }
.rephero__in { display: grid; grid-template-columns: 240px minmax(0,1fr) 320px; gap: 44px; align-items: start; padding-block: 60px; }
.rephero__photo { margin: 0; }
.rephero__photo img { width: 100%; border: 1px solid rgba(196,165,116,.4); }
.rephero .eyebrow { color: var(--brass-2); }
.rephero .eyebrow::before { background: var(--brass-2); }
.rephero h1 { font-size: clamp(30px, 3.6vw, 46px); margin-bottom: 18px; }
.rephero__lede { font-size: 17.5px; color: #C4D3DE; line-height: 1.68; }
.rephero__mkt { margin-top: 16px; font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--brass-2); }
.repcard { background: rgba(255,255,255,.06); border: 1px solid rgba(196,165,116,.34); padding: 24px 24px 26px; }
.repcard h2 { font-size: 20px; color: #fff; margin-bottom: 14px; }
.repcard__list { margin: 0; }
.repcard__list > div { padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.repcard__list dt { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--brass-2); font-weight: 600; margin-bottom: 4px; }
.repcard__list dd { margin: 0; color: #DCE7EE; font-size: 15px; word-break: break-word; }
.repcard__list a { color: #fff; }
.repcard__note { display: block; font-size: 12.5px; color: #9DB0BD; margin-top: 4px; }
.repqrs { display: flex; gap: 14px; margin-top: 18px; }
.repqr { margin: 0; flex: 1; }
.repqr img { width: 100%; background: #fff; padding: 6px; }
.repqr figcaption { margin-top: 6px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--brass-2); text-align: center; }
.cats--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1120px) {
  .rephero__in { grid-template-columns: 200px minmax(0,1fr); }
  .repcard { grid-column: 1 / -1; }
  .repqrs { max-width: 340px; }
  .cats--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .rephero__in { grid-template-columns: 1fr; gap: 26px; padding-block: 40px; }
  .rephero__photo { max-width: 200px; }
  .cats--4 { grid-template-columns: 1fr; }
}
.rephero__txt { min-width: 0; }


.langsw { display: flex; gap: 12px; }
.langsw a { font-size: 12px; letter-spacing: .1em; font-weight: 600; }

/* 产品详情页 */
.pagehead--slim { padding: 54px 0 44px; }
.pagehead--slim h1 { font-size: clamp(30px, 3.6vw, 46px); }
.pdetail { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 48px; align-items: start; }
.pdetail__media { min-width: 0; display: grid; gap: 18px; }
.pdetail__media .pfeat__gal { grid-template-columns: repeat(2, 1fr); }
.pdetail__media .videoframe--tall { max-width: 320px; }
.pdetail__info h2 { font-size: 26px; margin-bottom: 18px; }
.pdetail__info .specs dt { flex-basis: 168px; font-size: 12px; }
.pdetail__info .specs > div { padding: 11px 0; }
.pdetail__info .feature__btns { margin-top: 26px; }
.pstories { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.pstory { background: var(--paper); padding: 24px 26px 26px; }
.pstory h3 { font-family: "Barlow", sans-serif; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); margin-bottom: 10px; }
.pstory p { font-size: 15.5px; line-height: 1.66; color: var(--ink-2); }
a.pfeat__code { text-decoration: none; }
a.pfeat__code:hover { background: var(--brass-text); color: #fff; }
.pgrid a { display: block; text-decoration: none; color: inherit; }
@media (max-width: 900px) {
  .pdetail { grid-template-columns: 1fr; gap: 30px; }
  .pstories { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .pdetail__info .specs dt { flex-basis: auto; }
}

/* 买家原话 */
.bqlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.bqlist li { background: var(--paper); padding: 24px 26px 22px; }
.bqlist q { display: block; font-size: 16.5px; line-height: 1.62; color: var(--ink); font-style: italic; quotes: "\201C" "\201D"; }
.bq__src { display: block; margin-top: 12px; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--brass); font-weight: 600; }
@media (max-width: 780px) { .bqlist { grid-template-columns: 1fr; } }

/* 品类页：按市场分组的买家提问 */
.mkts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.mkt { background: var(--paper); padding: 28px 30px 30px; }
.mkt h3 { font-size: 23px; margin-bottom: 10px; }
.mkt__note { font-size: 14.5px; color: var(--steel); line-height: 1.6; margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.mkt__qs { list-style: none; margin: 0; padding: 0; }
.mkt__qs li { padding: 11px 0 11px 22px; position: relative; border-bottom: 1px solid var(--line); }
.mkt__qs li:last-child { border-bottom: 0; }
.mkt__qs li::before { content: ""; position: absolute; left: 0; top: 20px; width: 12px; height: 1px; background: var(--brass); }
.mkt__qs q { font-size: 15.5px; line-height: 1.6; color: var(--ink); font-style: italic; quotes: "\201C" "\201D"; }
.mkt__more { margin-top: 12px; font-size: 14px; }
.mkt__more a { border-bottom: 1px solid var(--brass); text-decoration: none; padding-bottom: 2px; }
@media (max-width: 900px) { .mkts { grid-template-columns: 1fr; } }

/* 产品页：算出来的数据块 */
.cboxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.cbox { background: var(--paper); padding: 26px 28px 28px; }
.cbox h3 { font-size: 21px; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--brass); }
.cbox p { font-size: 15.5px; line-height: 1.68; color: var(--ink-2); }
@media (max-width: 980px) { .cboxes { grid-template-columns: 1fr; } }

/* 避坑块 —— 产品故事的主角 */
.pit { grid-column: 1 / -1; background: var(--deep); color: #C3D2DB; padding: 30px 32px 32px; border-left: 3px solid var(--brass); }
.pit__tag { display: inline-block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--brass-2); font-weight: 600; margin-bottom: 14px; }
.pit__lead { font-family: "Barlow Condensed", sans-serif; font-size: 25px; font-weight: 600; color: #fff; line-height: 1.16; margin-bottom: 14px; max-width: 34ch; }
.pit__body { font-size: 16px; line-height: 1.7; color: #C3D2DB; max-width: 72ch; }
.qcshots { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 34px; }
.qcshots figure { margin: 0; }
.qcshots img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border: 1px solid var(--line); }
.qcshots figcaption { margin-top: 9px; font-size: 13px; color: var(--steel); line-height: 1.5; }
@media (max-width: 900px) { .qcshots { grid-template-columns: repeat(2, 1fr); } }

/* 目录下载列表 */
.catdl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.catdl li { background: var(--paper); padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cat__meta b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 19px; font-weight: 600; }
.cat__meta b a { text-decoration: none; color: var(--ink); }
.cat__meta b a:hover { color: var(--blue); }
.cat__meta span { font-size: 12.5px; color: var(--steel); }
.cat__dl { flex: 0 0 auto; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; text-decoration: none; color: var(--ink); border: 1px solid var(--line-2); padding: 7px 13px; transition: all .25s var(--ease); }
.cat__dl:hover { background: var(--ink); color: #fff; border-color: var(--ink); }
@media (max-width: 1000px) { .catdl { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .catdl { grid-template-columns: 1fr; } }
.dlbar { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; margin-top: 34px; padding: 26px 30px; background: var(--deep); color: #C3D2DB; border-left: 3px solid var(--brass); }
.dlbar b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 23px; color: #fff; margin-bottom: 7px; }
.dlbar span { font-size: 15px; line-height: 1.6; display: block; max-width: 60ch; }
.dlbar__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.dlbar .btn--edge { border-color: rgba(255,255,255,.4); color: #fff; }
.dlbar .btn--edge:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.pdl { margin-top: 18px; font-size: 14px; color: var(--steel); line-height: 1.6; }
.pdl a { font-weight: 600; border-bottom: 1px solid var(--brass); text-decoration: none; padding-bottom: 2px; }

/* Guides 索引卡片 */
.gcards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.gcards li { background: var(--paper); }
.gcards a { display: block; padding: 26px 28px 30px; text-decoration: none; color: var(--ink); height: 100%; transition: background-color .3s var(--ease); }
.gcards a:hover { background: #fff; }
.gcard__tag { display: block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); font-weight: 600; margin-bottom: 11px; }
.gcards strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 24px; font-weight: 600; line-height: 1.12; margin-bottom: 9px; }
.gcard__d { display: block; font-size: 14.5px; color: var(--steel); line-height: 1.62; }
@media (max-width: 1000px) { .gcards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .gcards { grid-template-columns: 1fr; } }

/* ───────────────────────── 语言切换 */
/* 语言切换：当前项曾经只有边框没底色，在深色顶栏上几乎看不见文字 */
.langsw { display: inline-flex; align-items: center; gap: 3px; margin-left: 8px; }
.langsw a, .langsw__on {
  font-size: 11.5px; font-weight: 700; letter-spacing: .08em; padding: 4px 8px;
  text-decoration: none; line-height: 1; border-radius: 2px;
}
.langsw a { color: #A9BAC6; border: 1px solid transparent; }
.langsw a:hover { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); }
.langsw__on { color: #1F303D; background: var(--brass-2); font-weight: 700; }

/* ───────────────────────── 搜索按钮 */
.masthead__search {
  display: inline-flex; align-items: center; gap: 7px; background: none;
  border: 1px solid var(--line-2); padding: 9px 15px; cursor: pointer;
  font-family: inherit; font-size: 13px; font-weight: 500; color: var(--ink);
  transition: border-color .25s var(--ease), background-color .25s var(--ease);
  margin-right: 10px;
}
.masthead__search:hover { border-color: var(--ink); background: var(--linen-2); }
.masthead__search svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }

/* ───────────────────────── 搜索浮层 */
.fsearch { position: fixed; inset: 0; z-index: 200; background: rgba(20,32,41,.55); backdrop-filter: blur(3px); display: flex; justify-content: center; padding: 8vh 20px 20px; }
.fsearch[hidden] { display: none; }
.fsearch__panel { width: 100%; max-width: 760px; max-height: 82vh; background: var(--paper); border: 1px solid var(--line); display: flex; flex-direction: column; box-shadow: 0 24px 70px rgba(20,32,41,.34); }
.fsearch__bar { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.fsearch__bar svg { width: 19px; height: 19px; fill: none; stroke: var(--brass); stroke-width: 1.7; stroke-linecap: round; flex: 0 0 auto; }
.fsearch__bar input { flex: 1; min-width: 0; border: 0; background: none; font-family: inherit; font-size: 19px; color: var(--ink); outline: none; }
.fsearch__bar input::placeholder { color: var(--steel); }
.fsearch__bar button { background: none; border: 0; font-size: 27px; line-height: 1; color: var(--steel); cursor: pointer; padding: 0 4px; }
.fsearch__bar button:hover { color: var(--ink); }
.fsearch__body { overflow-y: auto; padding: 8px 0; flex: 1; }
.fsr__hint { padding: 26px 22px; color: var(--steel); font-size: 15px; line-height: 1.6; }
.fsr__count { padding: 10px 22px 6px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--brass); font-weight: 600; }
.fsr { list-style: none; margin: 0; padding: 0; }
.fsr li { border-top: 1px solid var(--line); }
.fsr a { display: flex; align-items: center; gap: 14px; padding: 11px 22px; text-decoration: none; color: var(--ink); }
.fsr a:hover { background: #fff; }
.fsr img, .fsr__ph { width: 46px; height: 46px; object-fit: cover; flex: 0 0 auto; background: var(--linen-2); border: 1px solid var(--line); }
.fsr__txt { min-width: 0; }
.fsr__txt b { display: block; font-weight: 600; font-size: 15.5px; line-height: 1.3; }
.fsr__txt span { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--brass); }
.fsearch__foot { display: flex; justify-content: space-between; padding: 11px 22px; border-top: 1px solid var(--line); font-size: 12px; color: var(--steel); }
.fsearch__foot kbd { font-family: inherit; border: 1px solid var(--line-2); padding: 1px 5px; font-size: 11px; }
@media (max-width: 900px) {
  .masthead__search span { display: none; }
  .masthead__search { padding: 9px 11px; }
  .fsearch { padding: 0; }
  .fsearch__panel { max-width: none; max-height: 100vh; height: 100vh; border: 0; }
}

/* Keep the logo and both controls on one row on narrow phones. */
@media (max-width: 560px) {
  .masthead__in { column-gap: 12px; row-gap: 12px; }
  .masthead__search { width: 44px; height: 40px; padding: 0; margin-right: 0; justify-content: center; flex-shrink: 0; }
}

/* 联系页：出口团队四人卡片（无照片，讲能力） */
.deskrow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.desk { background: var(--paper); padding: 26px 26px 28px; display: flex; flex-direction: column; }
.desk__badge { display: inline-block; align-self: flex-start; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: #fff; background: var(--brass); padding: 4px 9px; margin-bottom: 13px; }
.desk b { font-family: "Barlow Condensed", sans-serif; font-size: 27px; font-weight: 600; line-height: 1.08; }
.desk__role { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--brass); margin-top: 5px; }
.desk__mkt { display: block; font-size: 13px; color: var(--steel); margin-top: 7px; line-height: 1.5; }
.desk__str { list-style: none; margin: 16px 0 0; padding: 0; flex: 1; }
.desk__str li { position: relative; padding: 8px 0 8px 15px; font-size: 14px; line-height: 1.55; color: var(--ink-2); border-top: 1px solid var(--line); }
.desk__str li:first-child { border-top: 0; }
.desk__str li::before { content: ""; position: absolute; left: 0; top: 15px; width: 7px; height: 1px; background: var(--brass); }
.desk__contact { font-size: 14px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); word-break: break-word; line-height: 1.7; }
.desk__contact--quiet { color: var(--steel); font-size: 13px; font-style: italic; }
.desk__more { margin-top: 12px; font-size: 13.5px; }
.desk__more a { border-bottom: 1px solid var(--brass); text-decoration: none; padding-bottom: 2px; }
/* 经理卡片：深色高亮 */
.desk--lead { background: var(--deep); }
.desk--lead b { color: #fff; }
.desk--lead .desk__role { color: var(--brass-2); }
.desk--lead .desk__mkt { color: #9DB0BD; }
.desk--lead .desk__str li { color: #C3D2DB; border-top-color: rgba(255,255,255,.14); }
.desk--lead .desk__contact { border-top-color: rgba(255,255,255,.2); }
.desk--lead .desk__contact a { color: #fff; }
.desk--lead .desk__more a { color: #fff; border-bottom-color: var(--brass-2); }
@media (max-width: 1100px) { .deskrow { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .deskrow { grid-template-columns: 1fr; } }
.cats__native { padding: 0 24px 20px; font-size: 13.5px; margin: 0; }
.cats__native a { border-bottom: 1px solid var(--brass); text-decoration: none; padding-bottom: 2px; font-weight: 500; }
.cats__native span { color: var(--steel); font-style: italic; }
.cats--team > li { display: flex; flex-direction: column; }
.cats--team > li > a { height: auto; flex: 1; }
.cats--team .cats__native a { height: auto; }
.desk__say { font-size: 14.5px; line-height: 1.62; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(255,255,255,.18); font-style: italic; }
.desk--lead .desk__say { color: #DCE7EE; }
.desk__note { font-size: 12.5px; color: var(--steel); font-style: italic; }
.keypts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); counter-reset: kp; }
.keypts li { background: var(--paper); padding: 20px 24px 22px; position: relative; }
.keypts li::before { counter-increment: kp; content: "0" counter(kp); position: absolute; right: 20px; top: 18px; font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 700; color: var(--line-2); }
.keypts b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 600; line-height: 1.15; padding-right: 34px; }
.keypts span { display: block; font-size: 14px; color: var(--steel); line-height: 1.55; margin-top: 7px; }
@media (max-width: 720px) { .keypts { grid-template-columns: 1fr; } }
.mkshots { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.mkshots figure { margin: 0; overflow: hidden; border: 1px solid var(--line); }
.mkshots img { width: 100%; aspect-ratio: 3/2; object-fit: cover; transition: transform .6s var(--ease); }
.mkshots li:hover img { transform: scale(1.04); }
.mk__txt { padding-top: 11px; }
.mk__txt b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 18px; font-weight: 600; }
.mk__txt span { display: block; font-size: 13.5px; color: var(--steel); line-height: 1.55; margin-top: 4px; }
@media (max-width: 900px) { .mkshots { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .mkshots { grid-template-columns: 1fr; } }
.cboxes--3 { grid-template-columns: repeat(3, 1fr); }
.cbox__tip { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); font-size: 14.5px; color: var(--steel); }
.cbox--wide { grid-column: 1 / -1; background: var(--deep); color: #C3D2DB; }
.cbox--wide h3 { color: #fff; border-bottom-color: var(--brass); }
.cbox--wide p { color: #C3D2DB; }
@media (max-width: 980px) { .cboxes--3 { grid-template-columns: 1fr; } }
.cfaqs { display: grid; gap: 34px; }
.cfaq h3 { font-size: 24px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--brass); }
/* 三道复核 */
.checks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.checks li { background: var(--paper); padding: 26px 28px 30px; display: flex; gap: 16px; }
.checks b { font-family: "Barlow Condensed", sans-serif; font-size: 34px; font-weight: 700; color: var(--line-2); line-height: 1; flex: 0 0 auto; }
.checks strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 21px; font-weight: 600; line-height: 1.14; margin-bottom: 9px; }
.checks p { font-size: 14.5px; line-height: 1.62; color: var(--ink-2); }
@media (max-width: 940px) { .checks { grid-template-columns: 1fr; } }
.band__note { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.68; color: var(--steel); max-width: 78ch; }
/* 三语站联系表单 —— 沿用英文站表单样式 */
.fmlang { margin-top: 20px; }
.fmlang label { display: block; margin-bottom: 16px; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--steel); font-weight: 600; }
.fmlang label span { color: var(--brass); }
.fmlang input, .fmlang select, .fmlang textarea { display: block; width: 100%; margin-top: 7px; padding: 12px 14px; border: 1px solid var(--line-2); background: #fff; font-family: inherit; font-size: 15.5px; color: var(--ink); text-transform: none; letter-spacing: 0; font-weight: 400; }
.fmlang input:focus, .fmlang select:focus, .fmlang textarea:focus { outline: none; border-color: var(--brass); }
.fmlang textarea { resize: vertical; line-height: 1.6; }
.fmlang .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.fmlang button { margin-top: 6px; }
.fmlang .formnote { margin-top: 14px; font-size: 13.5px; color: var(--steel); line-height: 1.6; text-transform: none; letter-spacing: 0; font-weight: 400; }
@media (max-width: 620px) { .fmlang .f2 { grid-template-columns: 1fr; } }

/* ───────────────────────── 产品页相册 */
.pgal { display: grid; gap: 12px; }
/* The brand message sits outside the photograph and can wrap on a phone. */
.pgal__signature { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; padding: 12px 16px; border: 1px solid var(--line); background: var(--paper); font-size: 14px; line-height: 1.5; }
.pgal__signature b { color: var(--brand); letter-spacing: .12em; }
.pgal__signature span { min-width: 0; color: var(--ink); }
.pgal__main { position: relative; margin: 0; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.pgal__main img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: #fff; }
.pgal__zoom { position: static; margin: 8px 12px 8px auto; width: 38px; height: 38px; border: 1px solid var(--line-2); background: rgba(255,255,255,.94); cursor: pointer; display: grid; place-items: center; transition: all .25s var(--ease); }
.pgal__zoom[hidden] { display: none; }
.pgal__zoom svg { width: 17px; height: 17px; fill: none; stroke: var(--ink); stroke-width: 1.7; stroke-linecap: round; }
.pgal__zoom:hover { background: var(--ink); border-color: var(--ink); }
.pgal__zoom:hover svg { stroke: #fff; }
.pgal__strip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.pgal__t { padding: 0; border: 1px solid var(--line); background: #fff; cursor: pointer; overflow: hidden; transition: border-color .25s var(--ease); }
.pgal__t img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.pgal__t:hover { border-color: var(--line-2); }
.pgal__t.is-on { border-color: var(--brass); border-width: 2px; }
@media (max-width: 620px) { .pgal__strip { grid-template-columns: repeat(4, 1fr); } }

/* 灯箱 */
.plight { position: fixed; inset: 0; z-index: 210; background: rgba(18,28,36,.93); display: flex; align-items: center; justify-content: center; padding: 4vh 4vw; }
.plight[hidden] { display: none; }
.plight img { max-width: 100%; max-height: 92vh; object-fit: contain; background: #fff; }
.plight__x { position: absolute; top: 18px; right: 22px; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.35); background: none; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.plight__x:hover { background: rgba(255,255,255,.12); }
.plight__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 62px; border: 1px solid rgba(255,255,255,.3); background: rgba(0,0,0,.3); color: #fff; font-size: 22px; cursor: pointer; }
.plight__nav:hover { background: rgba(0,0,0,.55); }
.plight__prev { left: 18px; }
.plight__next { right: 18px; }
.plight__n { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: #9DB0BD; font-size: 13px; letter-spacing: .1em; }
@media (max-width: 620px) { .plight__nav { width: 38px; height: 52px; } }

/* ───────────────────────── 产品故事：图文交替 */
.pstories { display: block; background: none; border: 0; }
.pstory { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 0; background: var(--paper); border: 1px solid var(--line); margin-bottom: 20px; align-items: stretch; }
.pstory--flip { grid-template-columns: 1.1fr 0.9fr; }
.pstory--flip figure { order: 2; }
.pstory figure { margin: 0; overflow: hidden; background: #fff; }
.pstory figure img { display: block; width: 100%; height: 100%; min-height: 240px; object-fit: cover; transition: transform .8s var(--ease); }
.pstory:hover figure img { transform: scale(1.03); }
.pstory__txt { padding: 30px 34px 32px; display: flex; flex-direction: column; justify-content: center; }
.pstory__txt h3 { font-family: "Barlow Condensed", sans-serif; font-size: 25px; font-weight: 600; line-height: 1.14; margin-bottom: 12px; }
.pstory__txt p { font-size: 16px; line-height: 1.7; color: var(--ink-2); max-width: 58ch; }
.pstory__tag { display: inline-block; align-self: flex-start; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: #fff; background: var(--brass); padding: 4px 10px; margin-bottom: 14px; }
/* 避坑块：深色，视觉最重 */
.pstory--trap { background: var(--deep); border-color: var(--deep); }
.pstory--trap h3 { color: #fff; }
.pstory--trap p { color: #C3D2DB; }
@media (max-width: 860px) {
  .pstory, .pstory--flip { grid-template-columns: 1fr; }
  .pstory--flip figure { order: 0; }
  .pstory figure img { min-height: 0; aspect-ratio: 16/10; }
  .pstory__txt { padding: 24px 24px 28px; }
}

/* 规格推算区：左图右数据，不再是六格纯文字 */
/* 规格区：图和文并排，图占足够宽度，不再是小图配长文 */
.numwrap { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-items: start; }
.numfig { margin: 0; border: 1px solid var(--line); background: #fff; overflow: hidden; position: sticky; top: 96px; }
.numfig img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.numbar { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin-bottom: 20px; }
.numbar > div { background: var(--deep); padding: 18px 16px 20px; text-align: center; }
.numbar__n { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 32px; font-weight: 700; color: #fff; line-height: 1; }
.numbar__k { display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--brass-2); margin-top: 7px; }
.cboxes--2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1000px) {
  .numwrap { grid-template-columns: 1fr; }
  .numfig { position: static; max-width: 340px; }
  .numbar { grid-template-columns: repeat(2, 1fr); }
  .cboxes--2 { grid-template-columns: 1fr; }
}
.numwrap__r { min-width: 0; }
/* 只讲一个故事时：图更大、字更松，读起来像一篇短文 */
.pstory--solo { grid-template-columns: 1fr 1fr; margin-bottom: 0; }
.pstory--solo figure img { min-height: 340px; }
.pstory--solo .pstory__txt { padding: 44px 48px 46px; }
.pstory--solo .pstory__txt h3 { font-size: 31px; line-height: 1.1; margin-bottom: 16px; }
.pstory--solo .pstory__txt p { font-size: 17px; line-height: 1.75; }
@media (max-width: 860px) {
  .pstory--solo { grid-template-columns: 1fr; }
  .pstory--solo figure img { min-height: 0; }
  .pstory--solo .pstory__txt { padding: 26px 24px 30px; }
  .pstory--solo .pstory__txt h3 { font-size: 25px; }
}
.numfig figcaption { padding: 10px 12px 12px; font-size: 12.5px; color: var(--steel); line-height: 1.5; border-top: 1px solid var(--line); }
/* 紧凑板块：通用内容在产品页只占一行 */
.band--tight { padding-block: 26px; }
.oneline { font-size: 16px; line-height: 1.72; color: var(--ink-2); max-width: 92ch; }
.oneline b { color: var(--ink); }
.oneline a { border-bottom: 1px solid var(--brass); text-decoration: none; padding-bottom: 2px; overflow-wrap: anywhere; }
.flowbar { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.flowbar li { background: var(--paper); padding: 14px 12px 16px; text-align: center; }
.flowbar span { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--brass); }
.flowbar b { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 17px; font-weight: 600; margin-top: 5px; line-height: 1.15; }
@media (max-width: 780px) { .flowbar { grid-template-columns: repeat(3, 1fr); } }
/* 两列 dt/dd 横向对照读起来很吃力，改回单列 */
.specs--2col { display: block; }



/* ── 点缀色应用：小面积高亮，打破整篇蓝灰 */
.numbar__k { color: var(--accent-2); }
.pstory__tag { background: var(--accent-text); }
.desk__badge { background: var(--accent-text); }
.checks b { color: var(--accent-text); }
.flowbar span { color: var(--accent-text); }
.oneline a { border-bottom-color: var(--accent); }
.band__more a { border-bottom-color: var(--accent); }
.pgal__t.is-on { border-color: var(--accent); }
.cbox__tip { border-top-color: var(--line); }
.cbox h3 { border-bottom-color: var(--accent); }
.cboxes--1 { grid-template-columns: 1fr; }

/* ── 图文详情：每张图配自己的说明 */
.pshots { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 22px; }
.pshots li { display: flex; flex-direction: column; }
.pshots figure { margin: 0; border: 1px solid var(--line); background: #fff; overflow: hidden; }
.pshots img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; transition: transform .7s var(--ease); }
.pshots li:hover img { transform: scale(1.04); }
.pshots p { font-size: 14.5px; line-height: 1.62; color: var(--ink-2); padding-top: 12px; }
@media (max-width: 900px) { .pshots { grid-template-columns: repeat(2, 1fr); gap: 22px 16px; } }
@media (max-width: 560px) { .pshots { grid-template-columns: 1fr; } }


/* ── logo：深色顶栏上反白，浅色区用名片蓝。
   之前统一用蓝，压在蓝灰顶栏上糊成一片 */
.brand__lock b { color: var(--brand); }
.head--dark .brand__lock b,
.foot__lock b { color: #fff; }
.brand__lock img { filter: none; }
.head--dark .brand__lock img { filter: brightness(0) invert(1); }


/* ── 产品页节奏：相邻区块底色交替，读者知道自己走到哪了 */
main > section.band { padding-block: 62px; }
main > section.band--tight { padding-block: 30px; }
main > section.wrap.band + section.wrap.band { padding-top: 0; }
main > section.band--paper { background: var(--linen); }
/* 图文区块统一最大宽度，不要一段窄一段宽 */
.pshots, .cboxes, .checks, .flowbar, .pgrid { max-width: 100%; }

/* ── 规格表：一表到底，买家不用翻三处 */
.specwrap { display: grid; grid-template-columns: 1fr; gap: 22px; }
.statrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.statrow > div { background: var(--deep); padding: 22px 18px 24px; text-align: center; }
.stat__n { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 40px; font-weight: 700; color: #fff; line-height: 1; }
.stat__k { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-2); margin-top: 8px; }
.spectab { width: 100%; border-collapse: collapse; border: 1px solid var(--line); background: var(--paper); }
.spectab th, .spectab td { padding: 13px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.6; }
.spectab th { width: 26%; font-weight: 600; color: var(--steel); font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; background: var(--linen); }
.spectab tr:last-child th, .spectab tr:last-child td { border-bottom: 0; }
.spectab td b { color: var(--ink); font-size: 17px; }
@media (max-width: 620px) {
  .statrow { grid-template-columns: 1fr; }
  .spectab th, .spectab td { display: block; width: auto; }
  .spectab th { border-bottom: 0; padding-bottom: 4px; }
}

/* ── TAB：内容一样多，但不再无尽下滑 */
.ptab { border: 1px solid var(--line); background: var(--paper); }
.ptab__bar { display: flex; flex-wrap: wrap; gap: 0; background: var(--linen); border-bottom: 1px solid var(--line); }
.ptab__b { padding: 15px 22px; border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 14.5px; font-weight: 600; color: var(--steel); border-bottom: 3px solid transparent; transition: all .2s var(--ease); }
.ptab__b:hover { color: var(--ink); }
.ptab__b.is-on { color: var(--ink); background: var(--paper); border-bottom-color: var(--accent); }
.ptab__p { display: none; padding: 30px 34px 36px; }
.ptab__p.is-on { display: block; }
.ptab__p h3 { font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 600; margin: 22px 0 10px; }
.ptab__p h3:first-child { margin-top: 0; }
.ptab__p p { font-size: 16px; line-height: 1.72; color: var(--ink-2); max-width: 78ch; }
.tabnote { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14.5px; color: var(--steel); }
.tick { list-style: none; margin: 12px 0 0; padding: 0; }
.tick li { position: relative; padding: 8px 0 8px 24px; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); border-top: 1px solid var(--line); }
.tick li:first-child { border-top: 0; }
.tick li::before { content: "✓"; position: absolute; left: 0; top: 8px; color: var(--accent); font-weight: 700; }
.ptab__p .faqs { margin-top: 0; }
@media (max-width: 700px) {
  .ptab__b { padding: 12px 15px; font-size: 13.5px; }
  .ptab__p { padding: 22px 20px 26px; }
}
/* 首屏左右等高：右侧参数按图数取行，剩下的指向下方全表 */
.pdetail { align-items: start; }
.pdetail__info .specs { margin-bottom: 4px; }
.specs__more dd { padding-top: 10px; }
.specs__more a { font-size: 14px; border-bottom: 1px solid var(--accent); text-decoration: none; padding-bottom: 2px; }

/* ── 六类买家转化 TAB */
.btab { border: 1px solid var(--line); background: var(--paper); }
.btab__bar { display: flex; flex-wrap: wrap; background: var(--deep); }
.btab__b { flex: 1 1 auto; padding: 15px 18px; border: 0; background: none; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 600; color: #A9BAC6; border-bottom: 3px solid transparent; transition: all .2s var(--ease); white-space: nowrap; }
.btab__b:hover { color: #fff; background: rgba(255,255,255,.06); }
.btab__b.is-on { color: #fff; background: rgba(255,255,255,.1); border-bottom-color: var(--accent-2); }
.btab__p { display: none; padding: 32px 36px 34px; }
.btab__p.is-on { display: block; }
.btab__p h3 { font-family: "Barlow Condensed", sans-serif; font-size: 24px; font-weight: 600; margin-bottom: 6px; }
.btab__l { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 34px; }
.btab__l li { border-top: 1px solid var(--line); padding-top: 15px; }
.btab__l b { display: block; font-size: 16px; font-weight: 600; color: var(--ink); line-height: 1.35; margin-bottom: 8px; }
.btab__l p { font-size: 15px; line-height: 1.66; color: var(--ink-2); }
.btab__more { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14.5px; }
.btab__more a { border-bottom: 1px solid var(--accent); text-decoration: none; padding-bottom: 2px; }
@media (max-width: 860px) { .btab__l { grid-template-columns: 1fr; gap: 18px; } }
@media (max-width: 700px) {
  .btab__bar { overflow-x: auto; flex-wrap: nowrap; }
  .btab__b { padding: 12px 14px; font-size: 13px; }
  .btab__p { padding: 24px 20px 26px; }
}
.btab__in { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 30px; align-items: start; }
.btab__fig { margin: 0; border: 1px solid var(--line); background: #fff; overflow: hidden; position: sticky; top: 96px; }
.btab__fig img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.btab__fig figcaption { padding: 11px 14px 13px; font-size: 13px; line-height: 1.55; color: var(--steel); border-top: 1px solid var(--line); }
.btab__in .btab__l { grid-template-columns: 1fr; gap: 16px; }
@media (max-width: 900px) { .btab__in { grid-template-columns: 1fr; } .btab__fig { position: static; } }
.btab__txt { min-width: 0; }
.certlist { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 14px; }
.certlist li { border-left: 3px solid var(--accent); padding: 4px 0 4px 16px; }
.certlist b { display: block; font-size: 16px; font-weight: 600; color: var(--ink); margin-bottom: 5px; }
.certlist p { font-size: 15px; line-height: 1.65; color: var(--ink-2); }
.bq__src { margin-top: 8px; font-size: 13px; color: var(--steel); font-style: italic; }
/* 侧栏搜索：放最上面，买家拿型号找页面比联系更早发生 */
.fm-rail__btn--search { background: var(--deep); }
.fm-rail__btn--search:hover { background: var(--ink-3); }
.fm-rail__btn--search .fm-rail__ico svg { fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }


/* ───────────────────────── 标题字号统一
   之前 h3 从 11.5px 到 27px 有十几种尺寸，同一页里读者分不出层级。
   收成三档：区块 h2 / 区块内小标题 h3 / 卡片内小标题 h3--sm。
   放在文件末尾，覆盖前面各处的零散定义。 */
main h2 {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.12;
}
main h3 {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
}
/* 卡片、网格内的小标题统一小一档 */
main .cbox h3,
main .certlist b,
main .casefull__grid h3,
main .pgrid h3,
main .catlinks h3,
main .qcline h3 { font-size: 18px; line-height: 1.25; }
/* 故事区是整页的重点，允许比常规 h3 大一档 */
main .pstory__txt h3 { font-size: 25px; }
main .pstory--solo .pstory__txt h3 { font-size: 30px; }
/* 页脚不属于正文层级 */
.foot h3 { font-size: 11.5px; }
@media (max-width: 700px) {
  main h2 { font-size: 27px; }
  main h3 { font-size: 20px; }
  main .pstory--solo .pstory__txt h3 { font-size: 24px; }
}


/* 故事块没有配图时的版式 —— 图不够就不配，不拿车间图凑数 */
.pstory--notext { grid-template-columns: 1fr; }
.pstory--notext .pstory__txt { max-width: 66ch; }

/* 买家分栏：只有默认那一栏配图，其余走单列 */
.btab__in--notext { grid-template-columns: 1fr; }

/* CTA 里的工厂身份 —— 比正文小一号，不抢主文案 */
.cta__who { font-size: 15px; opacity: .82; margin-top: 14px; max-width: 60ch; }

/* 买家分栏产品图的左上角标 —— 三张图长得像，
   标出这一栏是给谁的，切换标签才看得出变化 */
.btab__fig { position: relative; }
.btab__suit {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: rgba(27,58,74,.92); color: #fff;
  font-size: 11px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase;
  padding: 6px 11px; border-radius: 2px;
  line-height: 1.2; max-width: calc(100% - 20px);
}
@media (max-width: 700px) { .btab__suit { font-size: 10px; padding: 5px 9px; } }

/* 按钮按所在列的可用宽度换行，业务员页的窄中栏也适用。 */
.hero__actions { flex-wrap: wrap; row-gap: 10px; }
.hero__actions .btn { max-width: 100%; white-space: normal; }

/* 业务员落地页的询盘表单 —— 左说明右表单 */
.repform { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 44px;
  align-items: start; padding: 38px 40px; background: var(--paper-2, #F7F3EE);
  border: 1px solid var(--line); }
.repform__txt h2 { margin: 6px 0 14px; }
.repform__txt p { max-width: 46ch; }
.repform__alt { font-size: 15px; opacity: .85; margin-top: 16px; overflow-wrap: anywhere; }
.repform__form label { display: block; margin-bottom: 14px; font-size: 14px;
  font-weight: 600; letter-spacing: .01em; }
.repform__form label span { color: var(--brass-text); }
.repform__form input, .repform__form textarea { width: 100%; margin-top: 6px;
  padding: 11px 12px; font: inherit; font-weight: 400;
  border: 1px solid var(--line); background: #fff; border-radius: 2px; }
.repform__form textarea { resize: vertical; }
.repform__form .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.repform__note { font-size: 13px; opacity: .72; margin-top: 12px; }
/* 六款产品：三列两行 */
.pgrid--3 { grid-template-columns: repeat(3, 1fr); }
.pgrid__txt .pgrid__meta { display: block; margin-top: 3px; font-size: 12px;
  color: var(--brass-text); font-weight: 600; letter-spacing: .02em; }
@media (max-width: 900px) {
  .repform { grid-template-columns: 1fr; gap: 28px; padding: 28px 22px; }
  .pgrid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .repform__form .f2 { grid-template-columns: 1fr; }
  .pgrid--3 { grid-template-columns: 1fr; }
}

/* 业务员落地页：B2B 客户类型 —— 原来挂在首屏侧栏里，
   六条把右列拉到 975px，左边照片加正文只有 450px，左下角空一大片。
   改成首屏底下独立一条，三列两行，跟版心同宽，左右自然齐平。
   样式刻意做轻（细线分隔、无卡片），跟下面「What I handle」的
   卡片网格区分开，不至于两个三列网格连着出现。 */
.repwho { padding-bottom: 54px; }
.repwho__head { margin-bottom: 14px; }
.repwho__list { list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  column-gap: 44px; row-gap: 0;
  border-top: 1px solid rgba(255,255,255,.16); }
.repwho__list li { padding: 15px 0 16px;
  border-bottom: 1px solid rgba(255,255,255,.16); }
.repwho__list b { display: block; font-size: 14.5px; letter-spacing: .01em; color: #fff; }
.repwho__list span { display: block; font-size: 13px; color: #A9BCC8; margin-top: 3px; }
@media (max-width: 1000px) {
  .repwho__list { grid-template-columns: repeat(2, 1fr); column-gap: 32px; }
}
@media (max-width: 700px) {
  .repwho { padding-bottom: 38px; }
  .repwho__list { grid-template-columns: 1fr; }
}
.repcard__moq { margin-top: 16px; padding-top: 14px; font-size: 13px; opacity: .8;
  border-top: 1px solid rgba(255,255,255,.14); }

.cbox__fig { font-variant-numeric: tabular-nums; line-height: 1.75; }
.pfeat__teaser { margin: 14px 0 4px; font-size: 16px; line-height: 1.62; color: var(--ink-2); }

/* 有字详情图：图上自带英文说明，不配图注。
   各张长宽比不一（竖版海报/方图/横图混在一起），
   所以用多栏流式，每张保持原比例 —— 固定行高会把竖图压扁、横图旁留空。 */
.txtstack { display: grid; gap: 28px; }
/* 窄图单独放：又大又宽，往下拉着看。
   竖长条原图大多只有 450–580 宽，放到 720 已是 1.3–1.6 倍，再大就糊了；
   横长条原图 800 宽，给到 1000。 */
.txtsolo { margin: 0 auto; width: 100%; }
.txtsolo--tall { max-width: 720px; }
.txtsolo--wide { max-width: 1000px; }
.txtsolo--sq   { max-width: 720px; }
.txtsolo figure { margin: 0; }
.txtsolo img { width: 100%; height: auto; display: block;
  border: 1px solid var(--line); background: #fff; }
.txtpics { display: grid; gap: 20px; align-items: start; }
.txtpics--c2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.txtpics--c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.txtpics figure { min-width: 0; margin: 0; }
.txtpics img { width: 100%; height: auto; display: block;
  border: 1px solid var(--line); background: #fff; }
@media (max-width: 900px) { .txtpics--c3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .txtpics--c3, .txtpics--c2 { grid-template-columns: minmax(0, 1fr); }
}

/* ── 品类页精选款图册（2026-09 重做）
   左栏：一张大主图 + 一排等大缩略图，视频是其中一格；左栏吸顶跟随，
   右边参数表再长也不露空白。不再有灰色底的空格子。 */
.pfeat__media { position: sticky; top: 96px; display: grid; gap: 10px; align-self: start; }
.pfeat__hero { aspect-ratio: 1; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.pfeat__hero img, .pfeat__hero iframe { width: 100%; height: 100%; object-fit: contain; display: block; border: 0; }
.pfeat__thumbs { list-style: none; margin: 0; padding: 0; display: grid;
  grid-template-columns: repeat(var(--n, 4), 1fr); gap: 10px; }
.pfeat__th { all: unset; box-sizing: border-box; display: block; width: 100%; aspect-ratio: 1;
  position: relative; cursor: pointer; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.pfeat__th img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .2s; }
.pfeat__th:hover img { opacity: .82; }
.pfeat__th.is-on { outline: 2px solid var(--ink); outline-offset: -2px; }
.pfeat__th:focus-visible { outline: 2px solid var(--brass); outline-offset: 2px; }
.pfeat__th--vid::after { content: ''; position: absolute; inset: 0; background: rgba(20,32,44,.38); }
.pfeat__play { position: absolute; z-index: 1; left: 50%; top: 45%; width: 34px; height: 34px;
  margin: -17px 0 0 -17px; border-radius: 50%; border: 1.5px solid #fff; }
.pfeat__play::after { content: ''; position: absolute; left: 13px; top: 9px;
  border-left: 11px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.pfeat__th--vid em { position: absolute; z-index: 1; left: 0; right: 0; bottom: 8px; text-align: center;
  font-style: normal; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
@media (max-width: 900px) { .pfeat__media { position: static; } }

.pgal__t--vid { position: relative; }
.pgal__t--vid::after { content: ''; position: absolute; inset: 0; background: rgba(20,32,44,.38); }
.pgal__t--vid em { position: absolute; z-index: 1; left: 0; right: 0; bottom: 6px; text-align: center;
  font-style: normal; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: #fff; }
.pgal__t--vid .pfeat__play { width: 28px; height: 28px; margin: -14px 0 0 -14px; }
.pgal__t--vid .pfeat__play::after { left: 10px; top: 7px; border-left-width: 9px; border-top-width: 6px; border-bottom-width: 6px; }
.pgal__main iframe { display: block; width: 100%; aspect-ratio: 1; border: 0; }

/* 品类页：对比表和市场数据表 */
.cmpwrap, .table-scroll { min-width: 0; max-width: 100%; overflow-x: auto; margin: 0 0 24px; }
.cmpwrap .cmptab, .cmpwrap .mkttab:not(.mkttab--sm) { min-width: 680px; }
.table-scroll > .certtable { min-width: 600px; }
/* Keep each document scope and detail readable without sideways scrolling. */
@media (max-width: 620px) {
  .table-scroll > .certtable { min-width: 0; }
  .certtable thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  .certtable tbody, .certtable tr, .certtable td { display: block; width: 100%; }
  .certtable tr { padding: 24px 0; border-bottom: 1px solid var(--line); }
  .certtable tr:first-child { padding-top: 0; }
  .certtable td, .certtable td:first-child, .certtable td:nth-child(2) { width: 100%; padding: 0; border: 0; }
  .certtable td:first-child { font-size: 21px; line-height: 1.3; color: var(--ink); }
  .certtable td + td { padding-top: 14px; }
  .certtable td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 5px; color: var(--brass); font-size: 10.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
  .certtable td:last-child { font-size: 15px; line-height: 1.65; }
}
.cmptab, .mkttab { width: 100%; border-collapse: collapse; font-size: 15px; background: #fff; }
.cmptab th, .cmptab td, .mkttab th, .mkttab td { padding: 12px 14px; border-bottom: 1px solid var(--line);
  text-align: left; vertical-align: top; }
.cmptab thead th { background: var(--paper); }
.cmptab thead th a { display: block; color: inherit; text-decoration: none; }
.cmptab thead th img { width: 96px; height: 96px; object-fit: cover; display: block; margin: 0 0 8px;
  border: 1px solid var(--line); }
.cmptab tbody th { width: 170px; color: var(--steel); font-weight: 600; }
.mkttab thead th { background: var(--paper); font-size: 13px; letter-spacing: .03em; text-transform: uppercase; }
.mkttab--sm { max-width: 520px; }
.mktsrc { font-size: 13px; color: var(--steel); margin-top: 8px; }

/* 业务员页信任模块 —— 一段开场 + 四段带小标题的正文。
   原来是五条单行陈述，现在每条有话说，所以排成两列，
   跟下面「What I handle」的三列卡片错开。 */
/* 法人页首屏：只有照片和正文两列，没有联系卡 —— 那是业务员页的东西 */
.rephero__in--2col { grid-template-columns: 240px 1fr; }
@media (max-width: 860px) { .rephero__in--2col { grid-template-columns: 1fr; } }
.figwide { margin: 0 0 30px; }
.figwide img { width: 100%; height: auto; aspect-ratio: 16/7; object-fit: cover; border: 1px solid var(--line); }
.figwide figcaption { margin-top: 10px; font-size: 13px; color: var(--steel); letter-spacing: .04em; }
.rephero__note { margin-top: 16px; max-width: 58ch; font-size: 14.5px;
  line-height: 1.6; color: #A9BCC8; }
.prose--narrow { max-width: 68ch; }
.prose--narrow p { font-size: 17px; line-height: 1.72; margin: 0 0 18px; }
.prose--narrow p:last-child { margin-bottom: 0; }

.reptrust__lead { max-width: 62ch; font-size: 18px; line-height: 1.68;
  color: var(--ink); margin: 0 0 30px; }
.reptrust { list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, 1fr);
  column-gap: 48px; row-gap: 0;
  border-top: 1px solid var(--line); }
.reptrust li { padding: 20px 0 22px; border-bottom: 1px solid var(--line); }
.reptrust li h3 { margin: 0 0 7px; font-size: 16.5px; letter-spacing: .005em; }
.reptrust li p { margin: 0; font-size: 15.5px; line-height: 1.66; color: var(--ink-2); }
@media (max-width: 860px) {
  .reptrust { grid-template-columns: 1fr; }
  .reptrust__lead { font-size: 17px; margin-bottom: 22px; }
}

/* 表单左侧要点 */
.repform__pts { list-style: none; margin: 18px 0 0; padding: 0; }
.repform__pts li { position: relative; padding: 5px 0 5px 20px; font-size: 15px; }
.repform__pts li::before { content: ""; position: absolute; left: 0; top: 13px;
  width: 9px; height: 1px; background: var(--brass-2, #B06A34); }

/* 提交后的致谢块 */
.repform__done { text-align: left; }
.repform__tick { font-size: 30px; line-height: 1; color: var(--brass-2, #B06A34); margin: 0 0 8px; }
.repform__done h3 { margin: 0 0 10px; }
.repform__done p { max-width: 46ch; }
.btn--wa { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px;
  background: #25D366; border-color: #25D366; color: #173A28; }
.btn--wa:hover { background: #1FB855; border-color: #1FB855; color: #173A28; }

/* 表单：选填标记、下拉、数量单选 */
.repform__form label em { font-style: normal; font-weight: 400;
  font-size: 12px; opacity: .6; margin-left: 5px; }
.repform__form select { width: 100%; margin-top: 6px; padding: 11px 12px;
  font: inherit; font-weight: 400; border: 1px solid var(--line);
  background: #fff; border-radius: 2px; }
.qty { border: 0; padding: 0; margin: 0 0 14px; }
.qty legend { font-size: 14px; font-weight: 600; letter-spacing: .01em;
  padding: 0; margin-bottom: 8px; }
.qty legend span { color: var(--brass-text); }
.qty__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.qty__row label { display: block; margin: 0; cursor: pointer; }
.qty__row input { position: absolute; opacity: 0; width: 0; height: 0; }
.qty__row span { display: block; text-align: center; padding: 11px 6px;
  font-size: 14px; font-weight: 600; border: 1px solid var(--line);
  background: #fff; border-radius: 2px; transition: all .15s; }
.qty__row input:checked + span { background: var(--ink, #1B3A4A);
  border-color: var(--ink, #1B3A4A); color: #fff; }
.qty__row input:focus-visible + span { outline: 2px solid var(--brass-2, #B06A34);
  outline-offset: 2px; }
.qty__note { font-size: 12px; opacity: .68; margin: 8px 0 0; }
@media (max-width: 560px) { .qty__row { grid-template-columns: 1fr; } }

/* 起订量标在问句里 —— 广告落地页要在这一步把小客户筛掉 */
.qty legend b { display: inline-block; margin: 0 2px 0 4px; padding: 2px 7px;
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; vertical-align: 1px;
  background: var(--ink, #1B3A4A); color: #fff; border-radius: 2px; }

/* 业务员页侧栏的二维码 —— 原来跟大图一个尺寸，
   把整个侧栏撑到半屏高，客户类型那段被推到下面看不见 */
.repcard .repqrs { display: flex; gap: 12px; margin-top: 4px; }
.repcard .repqrs { justify-content: flex-start; }
.repcard .repqr { flex: 0 0 104px; width: 104px; margin: 0; }
.repcard .repqr img { width: 100%; height: auto; display: block; }
.repcard .repqr figcaption { font-size: 11px; letter-spacing: .06em;
  text-align: center; margin-top: 5px; opacity: .7; }

/* 业务员座右铭 —— 一句话概括这个人怎么做事，
   放在自我介绍和市场标签之间，左边一道竖线区分开 */
.rephero__motto { margin: 20px 0 18px; padding-left: 16px;
  border-left: 2px solid var(--brass-2, #B06A34);
  font-size: 19px; line-height: 1.45; font-style: italic;
  max-width: 44ch; }
@media (max-width: 700px) { .rephero__motto { font-size: 17px; } }

/* 业务员首屏 —— 客户类型挪走之后左右高度本来就接近，
   不再需要 stretch + margin-top:auto 去撑（那个做法会把按钮推出屏幕）。
   三列各自贴顶，按钮跟在正文后面。 */
.rephero__in { align-items: start; padding-bottom: 46px; }
.rephero__txt .hero__actions { padding-top: 26px; }

/* ── 网格分隔线统一改法（2026-09）
   原来这 21 种网格都是「1px 间隙 + 灰色底」透出分隔线：
   最后一行不满时，空位置就露出一整块灰。客户截图指出过（品类页产品格、页尾品类链接）。
   改成每一格自己画线（box-shadow 模拟合并边框），容器不再有灰底，
   空出来的位置只是页面底色。 */
.bqlist, .buyers, .catdl, .catlinks, .cats, .cboxes, .checks, .deskrow, .flow, .flowbar, .gcards, .keypts, .markets, .methods, .mkts, .numbar, .pgrid, .posts, .pstories, .statrow, .steps {
  background: transparent !important; border: 0 !important; gap: 0 !important;
  padding-left: 1px; padding-top: 1px;
}
.bqlist > *, .buyers > *, .catdl > *, .catlinks > *, .cats > *, .cboxes > *, .checks > *, .deskrow > *, .flow > *, .flowbar > *, .gcards > *, .keypts > *, .markets > *, .methods > *, .mkts > *, .numbar > *, .pgrid > *, .posts > *, .pstories > *, .statrow > *, .steps > * {
  box-shadow: 1px 0 0 0 var(--line), 0 1px 0 0 var(--line), 1px 1px 0 0 var(--line),
              inset 1px 0 0 0 var(--line), inset 0 1px 0 0 var(--line);
  margin: -1px 0 0 -1px;
}

/* 产品格末尾的填充块：跨满剩下的格子 */
.pgrid .pgrid__fill { grid-column: span var(--span, 1); background: var(--ink); }
.pgrid__fill a { display: flex; flex-direction: column; justify-content: center; gap: 8px; height: 100%;
  min-height: 160px; padding: 22px 26px; color: #fff; text-decoration: none; }
.pgrid__fill b { font-size: 19px; }
.pgrid__fill span { font-size: 14.5px; line-height: 1.55; color: #c9d5dd; max-width: 46ch; }
.pgrid__fill em { font-style: normal; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--brass-2); }
.pgrid__fill a:hover em { text-decoration: underline; }
@media (min-width: 901px) and (max-width: 1120px) {
  .pgrid .pgrid__fill { grid-column: span 1; }
  .pgrid .pgrid__fill:nth-child(4n+1) { grid-column: span 4; }
  .pgrid .pgrid__fill:nth-child(4n+2) { grid-column: span 3; }
  .pgrid .pgrid__fill:nth-child(4n+3) { grid-column: span 2; }
}
@media (min-width: 561px) and (max-width: 900px) {
  .pgrid .pgrid__fill { grid-column: span 1; }
  .pgrid .pgrid__fill:nth-child(3n+1) { grid-column: span 3; }
  .pgrid .pgrid__fill:nth-child(3n+2) { grid-column: span 2; }
}
@media (max-width: 560px) {
  .pgrid .pgrid__fill { grid-column: span 1; }
  .pgrid .pgrid__fill:nth-child(2n+1) { grid-column: span 2; }
  .pgrid__fill a { padding: 18px 14px; }
  .pgrid__fill b { font-size: 17px; }
}

/* 下拉菜单竖排（2026-09-28 终检）：导航栏的横排样式把下拉层也套成了 flex 横排，
   Company 下拉 6 项一字排开甩出屏幕 400 多像素 ——「Trade shows」「Our team」在桌面上点不到，
   还把全站 862 页撑出横向滚动。强制竖排，靠右的菜单向左展开。 */
.nav .subnav { display: block; }
.nav .subnav li { display: block; }
.nav li.has-sub:nth-last-child(-n+3) > .subnav { left: auto; right: -18px; }
/* 兜底：任何东西都不许把页面撑出横向滚动（clip 不影响 sticky） */
html, body { overflow-x: clip; }
/* 网格按实际条目数定列数（2026-09-28 终检：217 处末行没排满 ——
   数字条 3 项排 4 列、产品小图 2 张排 3 列、链接组 6/7/12 项排 5 列、案例 3 张排 2 列）。
   只在桌面生效；手机上保持原来的列数，落单的最后一项占满整行。 */
@media (min-width: 901px) {
  .numbar:has(> :nth-child(1):last-child) { grid-template-columns: repeat(1, 1fr); }
  .numbar:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
  .numbar:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
  .numbar:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
  .numbar:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); }
  .numbar:has(> :nth-child(6):last-child) { grid-template-columns: repeat(6, 1fr); }
  .numbar:has(> :nth-child(7):last-child) { grid-template-columns: repeat(7, 1fr); }
  .numbar:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, 1fr); }
  .numbar:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, 1fr); }
  .numbar:has(> :nth-child(10):last-child) { grid-template-columns: repeat(5, 1fr); }
  .numbar:has(> :nth-child(11):last-child) { grid-template-columns: repeat(4, 1fr); }
  .numbar:has(> :nth-child(12):last-child) { grid-template-columns: repeat(4, 1fr); }
  .numbar:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, 1fr); }
  .numbar:has(> :nth-child(14):last-child) { grid-template-columns: repeat(5, 1fr); }
  .numbar:has(> :nth-child(15):last-child) { grid-template-columns: repeat(5, 1fr); }
  .numbar:has(> :nth-child(16):last-child) { grid-template-columns: repeat(4, 1fr); }
  .pshots:has(> :nth-child(1):last-child) { grid-template-columns: repeat(1, 1fr); }
  .pshots:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
  .pshots:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
  .pshots:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
  .pshots:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); }
  .pshots:has(> :nth-child(6):last-child) { grid-template-columns: repeat(6, 1fr); }
  .pshots:has(> :nth-child(7):last-child) { grid-template-columns: repeat(7, 1fr); }
  .pshots:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, 1fr); }
  .pshots:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, 1fr); }
  .pshots:has(> :nth-child(10):last-child) { grid-template-columns: repeat(5, 1fr); }
  .pshots:has(> :nth-child(11):last-child) { grid-template-columns: repeat(4, 1fr); }
  .pshots:has(> :nth-child(12):last-child) { grid-template-columns: repeat(4, 1fr); }
  .pshots:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, 1fr); }
  .pshots:has(> :nth-child(14):last-child) { grid-template-columns: repeat(5, 1fr); }
  .pshots:has(> :nth-child(15):last-child) { grid-template-columns: repeat(5, 1fr); }
  .pshots:has(> :nth-child(16):last-child) { grid-template-columns: repeat(4, 1fr); }
  .cases:has(> :nth-child(1):last-child) { grid-template-columns: repeat(1, 1fr); }
  .cases:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
  .cases:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
  .cases:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
  .cases:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); }
  .cases:has(> :nth-child(6):last-child) { grid-template-columns: repeat(6, 1fr); }
  .cases:has(> :nth-child(7):last-child) { grid-template-columns: repeat(7, 1fr); }
  .cases:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, 1fr); }
  .cases:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, 1fr); }
  .cases:has(> :nth-child(10):last-child) { grid-template-columns: repeat(5, 1fr); }
  .cases:has(> :nth-child(11):last-child) { grid-template-columns: repeat(4, 1fr); }
  .cases:has(> :nth-child(12):last-child) { grid-template-columns: repeat(4, 1fr); }
  .cases:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, 1fr); }
  .cases:has(> :nth-child(14):last-child) { grid-template-columns: repeat(5, 1fr); }
  .cases:has(> :nth-child(15):last-child) { grid-template-columns: repeat(5, 1fr); }
  .cases:has(> :nth-child(16):last-child) { grid-template-columns: repeat(4, 1fr); }
}
/* Related links retain three columns on medium screens. */
@media (width > 1120px) {
  .catlinks:has(> :nth-child(1):last-child) { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(6):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(7):last-child) { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(10):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(11):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(12):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(13):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(14):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(15):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .catlinks:has(> :nth-child(16):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .numbar > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .pshots > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .catlinks > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .cases > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* 两栏一长一短时，短的一边跟随滚动（2026-09-28 终检：联系页、业务员页表单、图文并排共 5 处
   短的一边比长的矮 400–630px，往下读时旁边空一大片） */
@media (min-width: 901px) {
  .split__fig, .contact__form, .repform__form { position: sticky; top: 96px; align-self: start; }
}
/* 终检第二轮：视频格、案例小格按条目数定列数；博客要点列表 2 列时单数项最后一项占满；
   认证卡片居中排（13 张排不成整行，居中的末行看起来是有意为之，不是缺了一块） */
@media (min-width: 901px) {
  .vidgrid:has(> :nth-child(1):last-child) { grid-template-columns: repeat(1, 1fr); }
  .vidgrid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
  .vidgrid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
  .vidgrid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
  .vidgrid:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); }
  .vidgrid:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, 1fr); }
  .vidgrid:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, 1fr); }
  .vidgrid:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, 1fr); }
  .vidgrid:has(> :nth-child(12):last-child) { grid-template-columns: repeat(4, 1fr); }
  .casefull__grid:has(> :nth-child(1):last-child) { grid-template-columns: repeat(1, 1fr); }
  .casefull__grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, 1fr); }
  .casefull__grid:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
  .casefull__grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
  .casefull__grid:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); }
  .casefull__grid:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, 1fr); }
  .casefull__grid:has(> :nth-child(8):last-child) { grid-template-columns: repeat(4, 1fr); }
  .casefull__grid:has(> :nth-child(9):last-child) { grid-template-columns: repeat(3, 1fr); }
  .casefull__grid:has(> :nth-child(12):last-child) { grid-template-columns: repeat(4, 1fr); }
}
.keypts > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.certs { display: flex !important; flex-wrap: wrap; justify-content: center; }
.certs > li { flex: 0 0 calc((100% - 72px) / 4); }
@media (max-width: 900px) { .certs > li { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 560px) { .certs > li { flex-basis: 100%; } }
/* 终检第三轮：数字说明块左边的尺寸图只占顶部、底下空近 900px —— 图跟随滚动 */
@media (min-width: 901px) { .numwrap > figure { position: sticky; top: 96px; } }
/* 「The paperwork is ready」模块：原来标题、标签、表格全挤在左半边，右半边空着 —— 改成左右两栏 */
.trustsplit { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: start; }
.trustsplit .tagrow { margin-top: 18px; }
.trustsplit .specs { margin: 0; }
@media (max-width: 900px) { .trustsplit { grid-template-columns: 1fr; gap: 24px; } }

/* 长规格、邮箱和表单选项允许在自己的列内收缩，不挤宽整页。 */
.split > *, .feature > *, .contact > *, .repform > *, .trustsplit > *,
.numwrap > *, .pdetail > *, .pfeat__body > *, .f2 > * { min-width: 0; }

/* v151 独特率：产品页「{code} in numbers」紧凑数据表 + 品类页档位说明 */
.specs--num > div { padding: 11px 0; gap: 20px; }
.specs--num dt { flex-basis: 140px; }
.numwrap__r .band__more { margin-top: 16px; }
.nbands { list-style: none; margin: 0; padding: 0; }
.nbands li { padding: 12px 0; border-top: 1px solid var(--line); }
.nbands li:first-child { border-top: 0; padding-top: 4px; }
.nbands b { font-weight: 600; }
.nb__n { margin-left: 8px; font-size: 13px; color: var(--steel); }
.nbands p { margin: 6px 0 0; }
@media (max-width: 640px) { .specs--num > div { flex-direction: row; gap: 12px; } .specs--num dt { flex: 0 0 100px; } }
.cbox__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.cbox__fig { margin: 0; flex: 0 0 112px; }
.cbox__fig img { width: 112px; height: 112px; object-fit: cover; border: 1px solid var(--line); }
.cbox__fig figcaption { font-size: 11px; color: var(--steel); margin-top: 4px; line-height: 1.3; }
.plate__grid--summary{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.plate__grid--summary{grid-template-columns:1fr}.plate__grid--summary .plate__cell{border-right:0}}
.plate__grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){.plate__grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
html[data-fm-nosales] body{padding-bottom:0}
.cats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .cats--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .cats--3 { grid-template-columns: 1fr; } }

/* Contact and search panels remain usable on short mobile viewports. */
.fm-qr { visibility: hidden; overflow-y: auto; overscroll-behavior: contain; }
.fm-qr[data-open="true"] { visibility: visible; }
.fm-qr__img { flex-shrink: 0; }
.fm-qr__row > * { min-width: 0; overflow-wrap: anywhere; }
.fsearch__body { min-height: 0; overscroll-behavior: contain; }
.fsearch__foot { flex-wrap: wrap; gap: 8px 18px; }
.fsearch__bar button, .fm-qr__close { min-width: 44px; min-height: 44px; }
.fsearch :focus-visible, .plight :focus-visible, .pgal__t:focus-visible {
  outline: 2px solid var(--brass); outline-offset: 3px;
}
@media (max-width: 1300px) {
  .nav.is-open { max-height: 70vh; max-height: 70svh; overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 900px) {
  .fsearch__panel { height: 100dvh; max-height: 100dvh; }
  .fsearch__foot { padding-bottom: calc(11px + env(safe-area-inset-bottom)); }
}
.team{min-width:0}
.team>li{min-width:0}
@media(max-width:1120px){
  .team:not(.team--5){grid-template-columns:repeat(2,minmax(0,1fr))}
  .team--5{grid-template-columns:repeat(6,minmax(0,1fr))}
  .team--5>li{grid-column:span 2}
  .team--5>li:nth-last-child(-n+2){grid-column:span 3}
}
@media(min-width:621px) and (max-width:1000px){
  .gcards>li:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:560px){
  .team--5{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team--5>li,.team--5>li:nth-last-child(-n+2){grid-column:span 1}
  .team--5>li:last-child{grid-column:1/-1}
  .team--5>li:last-child>a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:center}
  .team--5>li:last-child figure{grid-row:span 2;margin:0}
}
.evid.evid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.evid.evid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.evid--three>li:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:560px){.evid.evid--three{grid-template-columns:1fr}.evid--three>li:last-child:nth-child(odd){display:flex;grid-column:auto}}

/* Category comparison cards retain the same model specifications as the table. */
.cmpcards { display: none; list-style: none; margin: 0; padding: 0; }
.cmpcards > li { min-width: 0; padding: 18px; background: var(--paper); border: 1px solid var(--line); }
.cmpcards__head { display: flex; align-items: center; gap: 14px; color: var(--ink); text-decoration: none; }
.cmpcards__head picture, .cmpcards__head img { flex: 0 0 64px; width: 64px; height: 64px; }
.cmpcards__head img { object-fit: contain; }
.cmpcards__head > span { min-width: 0; overflow-wrap: anywhere; }
.cmpcards__head strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 21px; }
.cmpcards__head small { display: block; font-size: 13px; line-height: 1.45; margin-top: 4px; }
.cmpcards dl { margin: 16px 0 0; }
.cmpcards dl > div { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: 10px; padding: 8px 0; border-top: 1px solid var(--line); }
.cmpcards dt { font-size: 12px; font-weight: 600; color: var(--steel); }
.cmpcards dd { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.cmpwrap--responsive .cmptab { table-layout: fixed; }
.cmpwrap--responsive .cmptab thead th:first-child { width: 170px; }
.cmpwrap--responsive .cmptab td { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .cmpwrap--responsive { display: none; }
  .cmpcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .cmpcards > li:last-child:nth-child(odd) { grid-column: 1/-1; }
}
@media (max-width: 500px) { .cmpcards { grid-template-columns: 1fr; } }

/* Keep buying-team support readable without a long empty image column. */
.buyer-support__head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; margin-bottom: 32px; }
.buyer-support__head .split__fig { max-width: 380px; justify-self: end; }
.buyer-support__head .split__fig img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.buyer-support .painlist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.buyer-support .painlist > li:last-child:nth-child(odd) { grid-column: 1/-1; }
@media (max-width: 640px) {
  .buyer-support__head { grid-template-columns: 1fr; gap: 18px; margin-bottom: 24px; }
  .buyer-support__head .split__fig { max-width: none; width: 100%; justify-self: stretch; }
  .buyer-support .painlist { grid-template-columns: 1fr; }
}

/* Reviewed selection articles: complete photos and explicit two-model rows. */
.choice-examples { margin: 32px 0 40px; }
.choice-examples h2 { font-size: clamp(24px, 2.7vw, 32px); margin-bottom: 14px; }
.choice-examples > p:empty { display: none; }
.choice-examples > p { line-height: 1.65; margin-bottom: 20px; }
.choice-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.choice-photos figure { min-width: 0; margin: 0; border: 1px solid var(--line); background: var(--paper); padding: 14px; }
.choice-photos img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: #fff; }
.choice-photos figcaption { font-size: 15px; line-height: 1.6; margin-top: 12px; }
.choice-article .artside__box h2 { font-size: 19px; margin-bottom: 14px; }
.choice-article .artside__cta h2 { color: #fff; }
.choice-checks { padding-left: 18px; font-size: 15px; line-height: 1.6; }
.choice-checks li + li { margin-top: 12px; }
.choice-models--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 620px) {
  .choice-photos, .choice-models--2 { grid-template-columns: minmax(0, 1fr); }
  .choice-photos { gap: 20px; }
}

/* Keep product references together and browse thumbnails without orphan rows. */
.choice-article .prose a[href^="/products/"] { white-space: nowrap; }
.pgal__strip { display: flex; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
.pgal__t { flex: 0 0 clamp(64px, calc((100% - 40px) / 6), 88px); scroll-snap-align: start; }
@media (max-width: 620px) { .pgal__t { flex-basis: 64px; } }

/* Keep complete product photographs visible in stacked mobile stories. */
@media (max-width: 860px) {
  .pstory figure img { height: auto; min-height: 0; aspect-ratio: auto; object-fit: contain; }
  .pstory:hover figure img { transform: none; }
}
