/* ============================================================
   about-v2.css — 「关于芯巢」重设计 v2.2（2026-10-19 回调 + 层级重排）
   ------------------------------------------------------------
   v2.0（IBM Carbon 直角规格书）→ 割裂感修正：
   · 视觉语汇全面回归站内体系（浅蓝渐变 / 蜂巢母题 / 圆角卡 /
     胶囊按钮 / 粗标题 / 站内 timeline 与 certificate-grid 语言）
   v2.1 → v2.2 层级重排（以公司背景为主力）：
     ① 开场（使命 + 一句话定位 + 硬数字）
     ② 公司定位（一句话定位引述 + 双重身份 + 三大市场坐标）← 主力
     ③ 一体两翼产品体系
     ④ 愿景使命与四条价值观
     ⑤ 工作方法（六节拍）
     ⑥ 资质荣誉 ⑦ 伙伴网络 ⑧ CTA
   · 全部数值取站内既有语言（px-plinth / px-sec-head--ghost /
     timeline / certificate-grid / logo-wall / visual-cta / .button）
   · 零外部变量依赖：仅字面值 + --cn-sans / --cn-mono 带 fallback
   作用域：body.ab-page（仅 about.html 引用）
   ============================================================ */

.ab-page {
  --ab-sans: var(--cn-sans, Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif);
  --ab-mono: var(--cn-mono, "JetBrains Mono", ui-monospace, Consolas, monospace);
  --ab-ink: #071c45;
  --ab-copy: #4d6a92;
  --ab-micro: #587196;
  --ab-soft: #f1f7ff;
  --ab-line: #dbe9f8;
  --ab-line-strong: #b9d2ee;
  --ab-panel: #f3f8fe;
  --ab-blue: #056cf0;
  --ab-blue-deep: #073e9b;
  --ab-orange: #ff922e;
  --ab-shadow: 0 18px 46px rgba(22, 86, 170, .12);
  --ab-radius: 14px;
  background: #fff;
  color: var(--ab-ink);
}
.ab-page main { margin: 0; }
.ab-shell { width: min(1280px, calc(100% - 80px)); margin: 0 auto; }
.ab-page h1, .ab-page h2, .ab-page h3 { margin: 0; color: var(--ab-ink); }
/* 复位用 :where 降为 0 特异性，避免吃掉组件级单类 margin */
:where(.ab-page) p { margin: 0; }

/* 通用 mono 小标（站内 visual-kicker / px-legend 语言） */
.ab-mono {
  font-family: var(--ab-mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--ab-micro);
  text-transform: uppercase;
}
.ab-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ab-mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--ab-micro);
  text-transform: uppercase;
}
.ab-label::before { content: ""; width: 24px; height: 2px; background: var(--ab-orange); }

/* ============ ① HERO：px-plinth 语言（渐变 + 蜂巢 + 数字规格） ============ */
.ab-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(38px, 4.8vw, 62px) 0 clamp(36px, 4.8vw, 62px);
  background: linear-gradient(158deg, #f3f9ff 0%, #e9f2ff 60%, #fdfeff 100%);
  border-bottom: 1px solid var(--ab-line);
}
/* 蜂巢母题：改挂 CTA 卡右缘（hero 区已被产品图占位，避免母题与主角抢位） */
.ab-cta-hex {
  position: absolute;
  right: -112px;
  top: 50%;
  transform: translateY(-50%);
  width: 340px;
  height: auto;
  opacity: .45;
  pointer-events: none;
}
.ab-cta-hex .hex-cell { fill: none; stroke: rgba(255, 255, 255, .34); stroke-width: 1.2; }
.ab-cta-hex .hex-cell--solid { fill: rgba(255, 255, 255, .06); stroke: rgba(255, 255, 255, .46); }

.ab-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: clamp(32px, 4.6vw, 64px);
  align-items: center;
  padding-bottom: clamp(30px, 3.6vw, 46px);
}
.ab-hero-copy .ab-label { margin-bottom: 18px; }
.ab-hero-copy h1 {
  font-size: clamp(36px, 4.4vw, 60px);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.ab-hero-copy h1 em { font-style: normal; color: var(--ab-blue); }
.ab-lede {
  max-width: 600px;
  color: var(--ab-copy);
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 12px;
}
.ab-lede-note {
  max-width: 600px;
  margin-bottom: 26px;
  color: var(--ab-micro);
  font-size: 13px;
  line-height: 1.6;
  letter-spacing: .01em;
}
.ab-actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* 按钮：站内 .button 语言（胶囊 + 上浮 + 蓝调阴影） */
.ab-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  font: 700 13px/1.2 var(--ab-sans);
  text-decoration: none;
  transition: background .2s, transform .2s, box-shadow .2s, border-color .2s, color .2s;
}
.ab-btn span { font-family: var(--ab-mono); font-size: 14px; line-height: 1; }
.ab-btn-primary { background: var(--ab-blue); color: #fff; box-shadow: 0 9px 20px rgba(5, 108, 240, .16); }
.ab-btn-primary:hover, .ab-btn-primary:focus-visible { background: #0756c1; transform: translateY(-2px); }
.ab-btn-ghost { border-color: var(--ab-line-strong); color: var(--ab-ink); background: #fff; }
.ab-btn-ghost:hover, .ab-btn-ghost:focus-visible { border-color: var(--ab-blue); color: var(--ab-blue); transform: translateY(-2px); }

/* 产品图：站内有质感卡片 + 轻微图纸角标 */
.ab-figure {
  margin: 0;
  position: relative;
  border: 1px solid var(--ab-line);
  border-radius: var(--ab-radius);
  background: #fff;
  padding: 16px;
  box-shadow: 0 14px 34px rgba(22, 86, 170, .08);
}
.ab-figure::before,
.ab-figure::after { content: ""; position: absolute; width: 12px; height: 12px; border-color: rgba(5, 108, 240, .55); border-style: solid; }
.ab-figure::before { top: 8px; left: 8px; border-width: 1.5px 0 0 1.5px; border-top-left-radius: 4px; }
.ab-figure::after { bottom: 8px; right: 8px; border-width: 0 1.5px 1.5px 0; border-bottom-right-radius: 4px; }
.ab-figure img { display: block; width: 100%; height: auto; }
.ab-figure figcaption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 4px 2px;
  font-size: 12px;
  color: var(--ab-copy);
}

/* 规格表：px-plinth-strip 语言（dt mono 小标 / dd 800 大数字） */
.ab-spec {
  position: relative;
  border-top: 1px solid rgba(5, 108, 240, .18);
}
.ab-spec dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 auto;
}
.ab-spec .ab-spec-item { padding: 20px 26px 18px 0; border-right: 1px solid rgba(5, 108, 240, .14); }
.ab-spec .ab-spec-item + .ab-spec-item { padding-left: 26px; }
.ab-spec .ab-spec-item:last-child { border-right: 0; }
.ab-spec dt { margin: 0 0 10px; font: 11px/1.5 var(--ab-mono); letter-spacing: .1em; color: var(--ab-copy); }
.ab-spec dd {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: var(--ab-ink);
  font-size: clamp(40px, 4.6vw, 64px);
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ab-spec dd small { font-size: .32em; font-weight: 600; color: var(--ab-copy); }
.ab-spec .ab-spec-note { margin: 8px 0 0; color: var(--ab-copy); font-size: 12.5px; line-height: 1.6; }

/* ============ ② 章节节拍（visual-section + px-sec-head--ghost 语言） ============ */
.ab-section { padding: clamp(60px, 7.6vw, 100px) 0; background: #fff; }
.ab-section.tinted { background: var(--ab-soft); border-top: 1px solid var(--ab-line); border-bottom: 1px solid var(--ab-line); }
.ab-section--ruled { border-top: 1px solid var(--ab-line); }

.ab-head {
  display: grid;
  grid-template-columns: minmax(60px, .1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: clamp(28px, 4vw, 46px);
}
.ab-head .ab-no {
  color: #8fb0d8;
  font-family: var(--ab-mono);
  font-size: clamp(40px, 4.6vw, 64px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: .02em;
}
.ab-head h2 {
  font-size: clamp(26px, 2.8vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
.ab-head .ab-head-sub { max-width: 680px; margin: 12px 0 0; color: var(--ab-copy); font-size: 15px; line-height: 1.8; }

/* ============ ③ 一句话定位：引述卡 ============ */
.ab-quote {
  position: relative;
  display: grid;
  grid-template-columns: minmax(140px, .16fr) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 46px);
  align-items: start;
  margin: 0 0 26px;
  padding: clamp(24px, 3vw, 34px) clamp(22px, 3.2vw, 40px);
  border: 1px solid var(--ab-line);
  border-left: 3px solid var(--ab-blue);
  border-radius: var(--ab-radius);
  background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
}
.ab-quote-side { grid-column: 1; grid-row: 1; }
.ab-quote p {
  grid-column: 2;
  grid-row: 1;
  font-size: clamp(16px, 1.82vw, 21px);
  font-weight: 600;
  line-height: 1.68;
  text-wrap: balance;
  color: var(--ab-ink);
  letter-spacing: 0;
}
.ab-quote-side { display: flex; flex-direction: column; gap: 9px; padding-top: 4px; }
.ab-quote-side span:last-child { color: var(--ab-copy); font-size: 12.5px; letter-spacing: .04em; }

/* ============ ④ 双重身份：两张卡（蜂巢徽标 + 交付物清单） ============ */
.ab-identity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 34px;
}
.ab-id {
  position: relative;
  padding: 26px 26px 24px;
  border: 1px solid var(--ab-line);
  border-radius: var(--ab-radius);
  background: #fff;
  box-shadow: 0 10px 26px rgba(22, 86, 170, .06);
}
.ab-id-hex { position: absolute; top: 21px; right: 24px; width: 42px; height: 46px; }
.ab-id-hex path { fill: rgba(5, 108, 240, .06); stroke: rgba(5, 108, 240, .3); stroke-width: 1.3; }
.ab-id-hex text { fill: var(--ab-blue); font: 700 14px var(--ab-mono); letter-spacing: 0; }
.ab-id-tag { display: block; font: 700 11px/1 var(--ab-mono); letter-spacing: .14em; color: var(--ab-micro); }
.ab-id h3 { margin: 12px 0 6px; font-size: 21px; font-weight: 700; line-height: 1.3; }
.ab-id .ab-id-sub { color: var(--ab-blue); font-size: 12.5px; font-weight: 600; margin-bottom: 16px; }
.ab-id-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.ab-id-list li {
  position: relative;
  padding-left: 17px;
  color: var(--ab-copy);
  font-size: 13.5px;
  line-height: 1.6;
}
.ab-id-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  background: rgba(5, 108, 240, .38);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

/* ============ ⑤ 三大市场坐标：三栏（带顶部细线） ============ */
.ab-coord {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--ab-line-strong);
}
.ab-coord li { padding: 22px 26px 4px 0; border-right: 1px solid var(--ab-line); }
.ab-coord li + li { padding-left: 26px; }
.ab-coord li:last-child { border-right: 0; }
.ab-coord-no { display: block; margin-bottom: 12px; font: 700 11px/1 var(--ab-mono); letter-spacing: .14em; color: var(--ab-micro); }
.ab-coord h3 { font-size: 18px; font-weight: 700; line-height: 1.35; margin-bottom: 5px; }
.ab-coord-lead { color: var(--ab-blue); font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.ab-coord-body { color: var(--ab-copy); font-size: 13px; line-height: 1.78; }

/* ============ ⑥ 产品体系：一体两翼三卡（站内圆角卡语言） ============ */
.ab-stages {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.ab-stages--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ab-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 22px 22px 20px;
  border: 1px solid var(--ab-line);
  border-radius: var(--ab-radius);
  background: #fff;
  box-shadow: 0 8px 22px rgba(22, 86, 170, .05);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ab-stage:hover { transform: translateY(-3px); border-color: #a6c9f3; box-shadow: 0 16px 32px rgba(20, 78, 158, .12); }
.ab-stage-no {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 14px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(5, 108, 240, .08);
  color: var(--ab-blue);
  font: 700 11px/1.2 var(--ab-mono);
  letter-spacing: .12em;
}
.ab-stage h3 { font-size: 19px; font-weight: 700; line-height: 1.3; margin-bottom: 4px; }
.ab-stage .ab-stage-en {
  display: block;
  font: 11px/1.4 var(--ab-mono);
  letter-spacing: .1em;
  color: var(--ab-micro);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.ab-stage p { color: var(--ab-copy); font-size: 13px; line-height: 1.7; flex: 1; }
.ab-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.ab-chip {
  padding: 4px 10px;
  border: 1px solid var(--ab-line);
  border-radius: 999px;
  font: 500 11px/1.4 var(--ab-mono);
  color: #47658e;
  background: var(--ab-soft);
}
.ab-story-note {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  color: var(--ab-micro);
  font-size: 13px;
}
.ab-story-note b { font-weight: 700; color: var(--ab-ink); }

/* ============ ⑦ 愿景使命（引述） + 四条价值观 ============ */
.ab-vision { margin-bottom: clamp(26px, 3.2vw, 38px); }
.ab-vision::before { content: ""; display: block; width: 44px; height: 3px; border-radius: 2px; background: var(--ab-orange); margin-bottom: 20px; }
.ab-vision-tag { display: block; margin-bottom: 14px; }
.ab-vision-quote {
  max-width: 28ch;
  color: var(--ab-ink);
  font-size: clamp(21px, 2.3vw, 28px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  text-wrap: balance;
}
.ab-vision-clause {
  max-width: 58ch;
  margin-top: 14px;
  color: var(--ab-copy);
  font-size: 15px;
  line-height: 1.8;
}
.ab-vision-meta { display: flex; flex-wrap: wrap; gap: 10px 30px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--ab-line); }
.ab-vision-meta span { color: var(--ab-micro); font-size: 13px; line-height: 1.7; }
.ab-vision-meta b { margin-right: 9px; color: var(--ab-ink); font-weight: 700; }

.ab-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ab-principle {
  padding: 22px 22px 24px;
  border: 1px solid var(--ab-line);
  border-left: 3px solid var(--ab-orange);
  border-radius: 10px;
  background: var(--ab-soft);
}
.ab-principle .ab-p-no { display: block; margin-bottom: 12px; font: 700 11px/1 var(--ab-mono); letter-spacing: .14em; color: #a85a12; }
.ab-principle h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.ab-principle p { color: var(--ab-copy); font-size: 13px; line-height: 1.75; }

/* ============ ⑧ 方法：站内 timeline 语言（横排 + 圆点 + 细线） ============ */
.ab-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--ab-line-strong);
}
.ab-step {
  position: relative;
  min-height: 150px;
  padding: 26px 19px 20px;
  border-right: 1px solid var(--ab-line);
}
.ab-step:last-child { border-right: 0; }
.ab-step::before {
  content: "";
  position: absolute;
  left: 19px; top: -4.5px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ab-blue);
  box-shadow: 0 0 0 5px #fff;
}
.ab-step-no {
  display: block;
  margin-bottom: 10px;
  font: 700 11px/1.4 var(--ab-mono);
  letter-spacing: .12em;
  color: var(--ab-micro);
  font-variant-numeric: tabular-nums;
}
.ab-step h3 { font-size: 17px; font-weight: 700; line-height: 1.35; margin-bottom: 10px; }
.ab-step p { color: var(--ab-copy); font-size: 12px; line-height: 1.7; }

/* ============ ⑨ 证据：站内 certificate-grid 语言 ============ */
.ab-cert-group { margin-bottom: 38px; }
.ab-cert-group:last-child { margin-bottom: 0; }
.ab-cert-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--ab-line-strong);
  margin-bottom: 18px;
}
.ab-cert-title h3 { font-size: 16px; font-weight: 700; }
.ab-cert-title span { font: 11px/1 var(--ab-mono); letter-spacing: .12em; color: var(--ab-micro); }
.ab-cert-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ab-cert-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ab-cert { margin: 0; display: flex; flex-direction: column; }
.ab-cert img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  border: 1px solid var(--ab-line);
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.ab-cert:hover img { border-color: #a6c9f3; transform: translateY(-3px); box-shadow: 0 14px 30px rgba(20, 78, 158, .12); }
.ab-cert figcaption { margin-top: 8px; color: var(--ab-copy); font-size: 12px; line-height: 1.5; }
.ab-cert .ab-cert-id { display: block; margin-bottom: 6px; font: 11px/1 var(--ab-mono); letter-spacing: .12em; color: var(--ab-micro); }

/* ============ ⑩ 伙伴：站内 logo-wall 语言 ============ */
.ab-eco-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  align-items: center;
}
.ab-eco-grid img {
  width: 100%;
  max-height: 52px;
  object-fit: contain;
  filter: saturate(.85);
  opacity: .82;
  transition: filter .2s, opacity .2s, transform .2s;
}
.ab-eco-grid img:hover { filter: saturate(1); opacity: 1; transform: translateY(-2px); }

/* ============ ⑪ CTA：站内 visual-cta 语言（深蓝渐变圆角卡） ============ */
.ab-cta { padding: clamp(48px, 6vw, 76px) 0; background: #fff; }
.ab-cta-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  padding: clamp(32px, 4.4vw, 52px);
  border-radius: var(--ab-radius);
  background: linear-gradient(132deg, #0b3d91, #056cf0);
  box-shadow: var(--ab-shadow);
}
.ab-cta-card > div { position: relative; z-index: 1; }
.ab-cta h2 { color: #fff; font-size: clamp(26px, 3.2vw, 40px); font-weight: 700; line-height: 1.12; letter-spacing: 0; margin-bottom: 12px; }
.ab-cta p { color: #dcecff; font-size: 14px; line-height: 1.75; max-width: 560px; }
.ab-cta .ab-actions { flex-shrink: 0; }
.ab-cta .ab-btn-primary { background: #fff; color: var(--ab-blue-deep); box-shadow: none; }
.ab-cta .ab-btn-primary:hover, .ab-cta .ab-btn-primary:focus-visible { background: #f1f7ff; }
.ab-cta .ab-btn-ghost { background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .45); color: #fff; }
.ab-cta .ab-btn-ghost:hover, .ab-cta .ab-btn-ghost:focus-visible { border-color: #fff; color: #fff; }

/* ============ ⑫ 动效（站内 reveal 规格） ============ */
.ab-page .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.16, 1, .3, 1); }
.ab-page .reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .ab-page .reveal { opacity: 1; transform: none; transition: none; }
}

/* ============ ⑬ 响应式（站内断点语言：1060 / 600） ============ */
@media (max-width: 1060px) {
  .ab-shell { width: calc(100% - 48px); }
  .ab-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .ab-figure { max-width: 560px; }
  .ab-head { grid-template-columns: minmax(44px, .07fr) minmax(0, 1fr); gap: 14px; }
  .ab-head .ab-no { font-size: 40px; }
  .ab-identity { grid-template-columns: 1fr; }
  .ab-coord { grid-template-columns: 1fr; }
  .ab-coord li { padding: 22px 0 20px; border-right: 0; border-bottom: 1px solid var(--ab-line); }
  .ab-coord li + li { padding-left: 0; }
  .ab-coord li:last-child { border-bottom: 0; }
  .ab-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-stages--3 { grid-template-columns: 1fr; }
  .ab-spec dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-spec .ab-spec-item:nth-child(2n) { border-right: 0; }
  .ab-spec .ab-spec-item:nth-child(n + 3) { border-top: 1px solid rgba(5, 108, 240, .14); }
  .ab-spec .ab-spec-item:nth-child(3) { padding-left: 0; }
  .ab-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ab-step:nth-child(3n) { border-right: 0; }
  .ab-step:nth-child(n + 4) { border-top: 1px solid var(--ab-line); }
  .ab-cert-grid, .ab-cert-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-eco-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ab-cta-card { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .ab-shell { width: calc(100% - 36px); }
  .ab-hero { padding-top: 34px; }
  .ab-hero-copy h1 { font-size: clamp(30px, 9vw, 38px); }
  .ab-figure figcaption { flex-direction: column; gap: 6px; }
  .ab-figure figcaption .ab-mono { white-space: nowrap; }
  .ab-lede { font-size: 14px; }
  .ab-actions .ab-btn { width: 100%; }
  .ab-head { grid-template-columns: 1fr; gap: 6px; }
  .ab-head .ab-no { font-size: 32px; }
  .ab-quote { grid-template-columns: 1fr; gap: 14px; padding: 22px 20px; }
  .ab-quote-side { grid-column: 1; grid-row: auto; order: -1; flex-direction: row; align-items: center; gap: 10px; padding-top: 0; }
  .ab-quote p { grid-column: 1; grid-row: auto; }
  .ab-quote p { font-size: 16px; line-height: 1.66; }
  .ab-id { padding: 22px 20px 22px; }
  .ab-id h3 { font-size: 19px; }
  .ab-id-hex { top: 17px; right: 18px; width: 36px; height: 40px; }
  .ab-id-hex text { font-size: 12px; }
  .ab-stages { grid-template-columns: 1fr; }
  .ab-values { grid-template-columns: 1fr; }
  .ab-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ab-step:nth-child(2n) { border-right: 0; }
  .ab-step:nth-child(n + 3) { border-top: 1px solid var(--ab-line); }
  .ab-cert-grid, .ab-cert-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ab-cta-hex { width: 210px; right: -104px; opacity: .3; }
  .ab-eco-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .ab-section { padding: 48px 0; }
}

/* 11 个伙伴：5 列时末位居中 */
@media (min-width: 901px) {
}
