/* ===================================================================
 * 工厂详情页（153 页共用）· 2026-09-28 按 Figma「Factories2」（东虹样张）+「工厂页 说明」整份重写。
 * 在 factory.css 与 cmh-brand.css 之后加载；标记由 build-pages.js 回填，这里只管样子（FAQ 折叠在 /factories/factory.js）。
 * 稿子里没有的区块（图库、信任带、评分、产品目录、评价）沿用同一套令牌，不另起一套。
 * =================================================================== */

/* 面包屑 */
.breadcrumb { padding: 20px 0 0; margin: 0; font: 400 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--text); }
.breadcrumb a { color: var(--orange); text-decoration: none; }
.breadcrumb .sep { margin: 0 6px; color: var(--orange); }
.breadcrumb .current { color: var(--text); }

/* ── 页头（稿：左 723：名字 Poppins 64/70 + 右侧「CMH Verified」橙色小旗（109×30，带尾巴）→ 24 → 说明 16/26 slate → 24 → 城市 | 成立 |（12/18，竖线橙色）+ 两行 12/18 细节；
 *   右 521：询价卡插画 + 下方两颗 48 高按钮（藏青实心 + 藏青描边）） ── */
.f-header { padding: 80px 0 120px; border: 0; }
.f-header-grid { display: flex; align-items: flex-start; justify-content: space-between; gap: 48px; }
.f-header-grid > div:first-child { flex: 0 1 723px; min-width: 0; display: grid; grid-template-columns: minmax(0, max-content) max-content 1fr; column-gap: 16px; row-gap: 24px; align-items: start; }
.f-eyebrow { display: none; }
.f-title { grid-column: 1; grid-row: 1; margin: 0; font: 500 64px/70px var(--font-display); letter-spacing: 0; color: var(--text); }
.verified-badge-chip {
  grid-column: 2; grid-row: 1; justify-self: start; align-self: start; position: relative;
  display: inline-flex; align-items: center; gap: 5px; height: 30px; margin: 0; padding: 0 12px 4px 8px; border: 0; border-radius: 0; white-space: nowrap;
  background: url('/assets/img/icons/verified-tag.svg') left top / 100% 30px no-repeat; color: #fff;
  font: 400 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; cursor: pointer;
}
.verified-badge-chip svg { width: 12px; height: 12px; }
.f-tagline { grid-column: 1 / -1; margin: 0; max-width: none; font: 400 16px/26px var(--font-body); color: var(--slate); }
.f-quick {
  grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; row-gap: 12px; margin: 0;
  font: 400 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--slate);
}
.f-quick-item { display: inline-flex; align-items: center; gap: 8px; padding: 0; }
.f-quick-item::before { display: none; content: none; }
.f-quick-item:nth-child(-n+2)::after { content: '|'; color: var(--orange); }
.f-quick-item:nth-child(n+3) { flex-basis: 100%; }
/* 右侧：询价卡插画 + 两颗按钮 */
.trust-card {
  flex: 0 0 521px; display: flex; flex-direction: column; justify-content: flex-end; height: 396px; padding: 0; overflow: visible;
  border: 0; border-radius: 24px; background: url('/assets/img/factory-quote-illustration.webp') center top / 335.5px 313.5px no-repeat;
}
.trust-card > *:not(.trust-card-cta) { display: none; }
.trust-card-cta { display: flex; flex-direction: row; justify-content: center; gap: 16px; padding: 0; border: 0 !important; }
.trust-card-cta > div { display: none; }
/* 有工厂视频的页（稿子没有这种情况）：视频放在插画的位置（上方 521 宽、16:9），两颗按钮照旧在底部 */
.trust-card:has(video) { background-image: none; }
.trust-card-cta:has(video) { flex-wrap: wrap; align-content: space-between; height: 100%; }
.trust-card-cta video { flex: 0 0 100%; width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 0; border: 0; border-radius: 14px; background: var(--navy-deep); object-fit: cover; }
.trust-card .btn-block {
  flex: 0 0 auto; width: auto; display: inline-flex; align-items: center; justify-content: center; gap: 4px; height: 48px; margin: 0; padding: 10px 24px;
  border: 1px solid var(--navy); border-radius: 6px; background: var(--navy); color: #fff; font: 600 14px/20px var(--font-body); letter-spacing: 0; text-transform: none; white-space: nowrap;
}
.trust-card .btn-block svg { display: none; }
.trust-card .btn-block:not(.outline)::after { content: '→'; }
.trust-card .btn-block.outline { padding: 10px 24px; background: #fff; color: var(--navy); }
@media (hover: hover) {
  .trust-card .btn-block:not(.outline):hover { background: var(--orange); border-color: var(--orange); }
  .trust-card .btn-block.outline:hover { background: var(--navy); color: #fff; }
}

/* ── 区块节奏与区块头（稿：区块之间 120；小标 Poppins 18/24 大写橙 + 20px 图标；标题 Poppins 40/48；小标→标题 16，区块头→内容 50） ── */
.section { padding: 0 0 120px; }
.section.capabilities, .section.certs { background: #fff; border: 0; }
.section-header { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; max-width: 1020px; margin: 0 auto 50px; padding: 0; border: 0; }
.section-num {
  display: inline-flex; align-items: center; gap: 12px;
  font: 500 18px/24px var(--font-display); letter-spacing: 0; text-transform: uppercase; color: var(--orange);
}
.section-num::before {
  content: ''; flex: none; width: 20px; height: 20px; border-radius: 0; background: url('/assets/img/icons/eyebrow-build.svg') center / 20px 20px no-repeat;
}
.section-num strong { display: none; }
.section.capabilities .section-num::before { background-image: url('/assets/img/icons/eyebrow-capabilities.svg'); }
.section.certs .section-num::before { background-image: url('/assets/img/icons/eyebrow-credentials.svg'); }
.section:has(.about-grid) .section-num::before { background-image: url('/assets/img/icons/eyebrow-about.svg'); }
.section.timeline .section-num::before { background-image: url('/assets/img/icons/eyebrow-process.svg'); }
.section.capabilities ~ .section.capabilities .section-num::before { background-image: url('/assets/img/icons/eyebrow-applications.svg'); }
#faq .section-num::before { background-image: url('/assets/img/icons/eyebrow-faq.svg'); }
.section-title { max-width: 931px; margin: 0; font: 500 40px/48px var(--font-display); letter-spacing: 0; font-variation-settings: normal; color: var(--text); text-wrap: wrap; }
.section.certs .section-title { max-width: 1020px; }
.section-title em { font-style: normal; color: inherit; }

/* ── 编号条目（What we build 四列 · Capabilities / Applications 三列）：
 *   无框，内边距 24/32；编号 Poppins 28/36 橙（01 两位，不带斜杠）→ 16 → 标题 Poppins 20/28 → 14 → 正文 14/20 slate ── */
.cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 16px; border: 0; counter-reset: cap; }
#builds .cap-grid, .section.capabilities ~ .section.capabilities .cap-grid { grid-template-columns: repeat(4, 1fr); }
/* 旧样式会把落单的最后一条拉成通栏（body.cap-fill-lone），稿子里落单的照样待在自己那一列 */
body.cap-fill-lone .cap-grid .cap:last-child:nth-child(3n+1) { grid-column: auto; }
.cap { counter-increment: cap; display: flex; flex-direction: column; gap: 16px; padding: 24px 32px; border: 0; border-radius: 14px; background: transparent; }
.cap-num { margin: 0; font-size: 0; line-height: 0; letter-spacing: 0; color: var(--orange); }
.cap-num::before { content: counter(cap, decimal-leading-zero); font: 500 28px/36px var(--font-display); }
.cap h4 { margin: 0; font: 500 20px/28px var(--font-display); letter-spacing: 0; color: var(--text); }
.cap p { margin: -2px 0 0; font: 400 14px/20px var(--font-body); color: var(--slate); }
/* 有图的条目（部分工厂的 What we build 带产品图） */
.cap.has-img { padding: 0; border: 1px solid var(--mist); overflow: hidden; background: #fff; }
.cap-img { border: 0; }
.cap-body { display: flex; flex-direction: column; gap: 14px; padding: 16px 24px 24px; }

/* ── 资质（稿：cloud 底、圆角 24、上下 40 的大面板；3×2 格，格间 1px mist 分隔，每格 32 内边距；
 *   48px 线描图标 → 16 → 标题 Inter 600 16/26 → 4 → 说明 14/20 slate，居中） ── */
.certs { background: #fff; }
.certs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 40px 0; border: 0; border-radius: 24px; background: var(--cloud); overflow: hidden; }
.cert-card {
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 32px; border: 0; border-right: 1px solid var(--mist); border-bottom: 1px solid var(--mist);
  background: transparent; text-align: center;
}
.cert-card:nth-child(3n) { border-right: 0; }
.cert-card:nth-last-child(-n+3):nth-child(3n+1), .cert-card:nth-last-child(-n+3):nth-child(3n+1) ~ .cert-card { border-bottom: 0; }
.certs-grid > .cert-card:nth-child(-n+3) { padding-top: 0; }
.certs-grid > .cert-card:nth-last-child(-n+3):nth-child(3n+1), .certs-grid > .cert-card:nth-last-child(-n+3):nth-child(3n+1) ~ .cert-card { padding-bottom: 0; }
@media (hover: hover) { .cert-card:hover { background: transparent; transform: none; box-shadow: none; } }
.cert-mark, .cert-icon {
  display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0 0 12px; border: 0; border-radius: 0;
  font: 500 18px/1 var(--font-display); letter-spacing: 0; color: var(--text);
}
.cert-mark svg { width: 40px; height: 40px; fill: none; stroke: var(--text); stroke-width: .7; stroke-linecap: round; stroke-linejoin: round; }
.cert-mark[data-icon] { font-size: 0; background: center / 48px 48px no-repeat; }
.cert-mark[data-icon] > * { display: none; }
.cert-mark[data-icon="licence"] { background-image: url('/assets/img/icons/cert-licence.svg'); }
.cert-mark[data-icon="patent"] { background-image: url('/assets/img/icons/cert-patent.svg'); }
.cert-mark[data-icon="test"] { background-image: url('/assets/img/icons/cert-test.svg'); }
.cert-mark[data-icon="declaration"] { background-image: url('/assets/img/icons/cert-declaration.svg'); }
.cert-mark[data-icon="cert"] { background-image: url('/assets/img/icons/cert-cert.svg'); }
.cert-mark[data-icon="iso"] { background-image: url('/assets/img/icons/cert-iso.svg'); }
.cert-mark:not([data-icon]):not(:has(svg)) { width: 44px; height: 44px; margin: 2px 2px 14px; border: 1px solid var(--text); border-radius: 50%; font: 500 12px/1 var(--font-display); }
.cert-name, .cert-value { margin: 0; font: 600 16px/26px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--text); }
.cert-desc, .cert-label { margin: 0; font: 400 14px/20px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--slate); text-align: center; }
.cert-badge { border-radius: 4px; font: 600 12px/18px var(--font-body); text-transform: none; letter-spacing: 0; }
.certs .container > p { margin: 24px 0 0 !important; max-width: none !important; font: 400 14px/20px var(--font-body) !important; color: var(--slate) !important; }

/* ── About（稿：正文通栏 16/26 ink、段距 24 → 40 → 两张表并排、间距 16：
 *   藏青表头 10/24、Inter 600 16/26 大写白；表身 cloud 底、1px mist 描边、左右 24；每行上下 13、底线 mist；左列 98 宽 slate，右列靠右 ink） ── */
.about-grid { display: flex; flex-direction: column; gap: 40px; }
.about-prose { display: flex; flex-direction: column; gap: 24px; max-width: none; font: 400 16px/26px var(--font-body); color: var(--text); text-align: justify; }
.about-prose p { margin: 0; }
.about-prose p:first-child::first-letter { font-size: inherit; float: none; line-height: inherit; font-weight: inherit; margin: 0; padding: 0; color: inherit; }
.about-quote { border-radius: 12px; border-left: 3px solid var(--orange); background: var(--paper-tone); }
.about-quote::before { display: none; }
.about-side {
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto 1fr; grid-auto-flow: column; column-gap: 16px; row-gap: 0;
  position: static; padding: 0; border: 0; background: none;
}
.about-side h4, .about-side h4[style] {
  margin: 0 !important; padding: 10px 24px; border-radius: 14px 14px 0 0; background: var(--navy);
  font: 600 16px/26px var(--font-body); letter-spacing: 0; text-transform: uppercase; color: #fff;
}
.about-side ul { margin: 0; padding: 0 24px; list-style: none; border: 1px solid var(--mist); border-top: 0; border-radius: 0 0 14px 14px; background: var(--cloud); }
.about-side li { display: flex; align-items: flex-start; gap: 24px; padding: 13px 0; border: 0; border-bottom: 1px solid var(--mist); font: 400 14px/20px var(--font-body); }
.about-side li:last-child { border-bottom: 0; }
.about-side li span { flex: 0 0 98px; color: var(--slate); font: inherit; text-transform: none; letter-spacing: 0; }
.about-side li strong { flex: 1 1 auto; min-width: 0; color: var(--text); font: inherit; font-weight: 400; text-align: right; }
.f-spec, .f-sec { border: 1px solid var(--mist); border-radius: 14px; overflow: hidden; }
.f-spec h3, .f-sec h3, .f-sec-tag, .f-sublabel { font-family: var(--font-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* ── Story（稿：藏青整条；中轴 48 宽、10px 橙点 + 2px 橙线；左右交错，每条相距 166；
 *   年份 Poppins 28/36 橙 → 16 → 标题 Inter 600 18/26 白 → 16 → 正文 14/20 白 65%） ── */
.timeline { padding: 72px 0 72px; margin-bottom: 120px; background: var(--navy); }
.timeline .section-title { color: #fff; }
/* 稿子是新的在上（2026-09 在最上、居右），各页标记都是按时间正序写的 → 倒过来排；左右交替从最后一条（视觉上第一条）数起 */
.timeline-list { position: relative; display: flex; flex-direction: column-reverse; width: 992px; max-width: 100%; margin: 0 auto; padding: 64px 0 52px; list-style: none; }
.timeline-list::before { display: none; }
.timeline-item {
  position: relative; width: 448px; min-height: 166px; margin: 0 0 0 544px; padding: 0 0 12px; border: 0;
  display: flex; flex-direction: column; align-items: flex-start; gap: 16px; text-align: left;
}
.timeline-item:nth-last-child(even) { margin-left: 0; align-items: flex-end; text-align: right; }
.timeline-item::before {
  content: ''; position: absolute; top: 13px; left: -53px; width: 10px; height: 10px; border: 0; border-radius: 50%; background: var(--orange);
}
.timeline-item:nth-last-child(even)::before { left: auto; right: -53px; }
.timeline-item::after { content: ''; position: absolute; top: 36px; bottom: 0; left: -49px; width: 2px; background: var(--orange); }
.timeline-item:nth-last-child(even)::after { left: auto; right: -49px; }
.timeline-item:first-child::after { display: none; }
.timeline-year { margin: 0; font: 500 28px/36px var(--font-display); letter-spacing: 0; color: var(--orange); }
.timeline-content { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.timeline-content h4 { margin: 0; font: 600 18px/26px var(--font-body); color: #fff; }
.timeline-content p { margin: 0; font: 400 14px/20px var(--font-body); color: rgba(255,255,255,.65); text-align: justify; text-align-last: left; }

/* ── Related reading / More verified factories：卡片样式在 cmh-brand.css（⑩，工厂详情 + 类目详情共用）；这里只管本页的节奏 ── */
main > section:has(.rel-card) { padding: 0 0 140px !important; }
/* 稿：相关阅读 → 相关工厂 140；相关工厂 → FAQ 80 + FAQ 自身上下 72；FAQ 之后紧接橙色联系带 */
main > section:has(.rel-card[href^="/factories/"]) { padding-bottom: 80px !important; }

/* ── FAQ（稿：左 774 折叠列表 + 右侧区块头；问题 Poppins 18/28 ink + 24px 加减号；收起时上下 20，展开时问题→答案 12、答案 14/20 slate 右留 24、底部 24；每条底线 mist；
 *   一次只开一条，第一条默认展开 —— 行为在 /factories/factory.js，它把问题收进 <button>、答案收进 .ffaq-a） ── */
#faq { padding: 72px 0; }
#faq .container { display: grid; grid-template-columns: 774px 1fr; column-gap: 0; align-items: start; }
#faq .section-header { grid-column: 2; grid-row: 1; margin: 0; align-self: start; }
.ffaq-list { grid-column: 1; grid-row: 1; margin: 0 !important; border-top: 0 !important; }
.ffaq-item { padding: 20px 0 24px !important; border: 0 !important; border-bottom: 1px solid var(--mist) !important; }
.ffaq-item h3 { position: relative; margin: 0 0 12px !important; padding: 0 !important; font: 500 18px/28px var(--font-display) !important; letter-spacing: 0; color: var(--text) !important; }
.ffaq-item p { max-width: none !important; margin: 0 !important; padding: 0 24px 0 0; font: 400 14px/20px var(--font-body) !important; color: var(--slate) !important; }
/* JS 接管后 */
.ffaq-list.is-acc .ffaq-item { padding: 0 !important; }
.ffaq-list.is-acc .ffaq-item h3 { margin: 0 !important; }
.ffaq-item h3 > button {
  position: relative; display: block; width: 100%; margin: 0; padding: 20px 40px 20px 0; border: 0; border-radius: 0; background: none;
  font: inherit; color: inherit; letter-spacing: inherit; text-align: left; cursor: pointer; transition: padding-bottom .3s ease;
}
.ffaq-item h3 > button::after {
  content: ''; position: absolute; right: 0; top: 22px; width: 24px; height: 24px; background: url('/assets/img/icons/faq-plus.svg') center / 24px 24px no-repeat;
}
.ffaq-item.is-open h3 > button { padding-bottom: 12px; }
.ffaq-item:first-child { padding-top: 0 !important; }
.ffaq-list.is-acc .ffaq-item:first-child h3 > button { padding-top: 0; }
.ffaq-list.is-acc .ffaq-item:first-child h3 > button::after { top: 2px; }
.ffaq-item.is-open h3 > button::after { background-image: url('/assets/img/icons/faq-minus.svg'); }
.ffaq-item h3 > button:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.ffaq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.ffaq-a > div { min-height: 0; overflow: hidden; }
.ffaq-a > div > :last-child { padding-bottom: 24px; }
.ffaq-item.is-open .ffaq-a { grid-template-rows: 1fr; }
@media (prefers-reduced-motion: reduce) { .ffaq-a, .ffaq-item h3 > button { transition: none; } }

/* ── 底部联系带：与工厂列表页同一套（cmh-brand.css 的 .cta-band） ── */

/* ── 稿子里没有、沿用令牌的区块 ────────────────────────────────── */
/* 图库 / 厂房照片墙：白底、跟页头之间 120；图片圆角 14、间距 16；角标 Inter 12/18、藏青半透明小签 */
.gallery { padding: 0 0 120px; background: #fff; border: 0; }
.gallery-grid, .f-floor { gap: 16px; }
.gallery-item, .f-floor-card { border-radius: 14px; }
.gallery-label, .f-floor-label {
  left: 16px; bottom: 16px; padding: 4px 10px; border-radius: 6px; background: rgba(12, 26, 58, .72); backdrop-filter: none;
  font: 400 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; color: #fff;
}
/* 产品 / 款式卡、行业图卡、流程条：圆角 12–14、mist 细线，字换成 Inter / Poppins，去掉等宽大写小字 */
.product-img { border-radius: 12px; border: 1px solid var(--mist); overflow: hidden; }
.product-info { border-top: 0; padding-top: 0; margin-top: 12px; }
.product h4, .product-info h4 { margin: 0 0 8px; font: 600 14px/20px var(--font-body); color: var(--text); }
.product-cat-tag, .f-build .fb-tag { margin: 0 0 4px; font: 500 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--orange); }
.product-spec { font: 400 12px/18px var(--font-body); color: var(--slate); }
.product-moq { border-radius: 4px; font: 500 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; }
.product-overlay span { border-radius: 6px; font: 400 14px/20px var(--font-body); letter-spacing: 0; text-transform: none; }
.f-build { border: 1px solid var(--mist); border-radius: 12px; background: #fff; }
.f-build .fb-img { background: var(--cloud); }
.f-build .fb-body { padding: 12px 16px 16px; }
.f-build .fb-name { font: 600 14px/20px var(--font-body); letter-spacing: 0; color: var(--text); }
.f-sec { border-radius: 14px; }
.f-sec::after { background: linear-gradient(180deg, rgba(12,26,58,.08) 0%, rgba(12,26,58,.45) 42%, rgba(12,26,58,.9) 100%); }
.f-sec-tag { font: 500 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--orange); text-shadow: none; }
.f-sec h4 { font: 500 20px/28px var(--font-display); letter-spacing: 0; color: #fff; }
.f-sec p { font: 400 14px/20px var(--font-body); color: rgba(255,255,255,.8); }
.f-sec-more { font: 400 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; }
.f-intro { max-width: 760px; margin: 0 0 40px; font: 400 16px/26px var(--font-body); color: var(--slate); }
.f-sublabel { margin: 50px 0 24px; font: 500 18px/24px var(--font-display); letter-spacing: 0; text-transform: uppercase; color: var(--orange); }
.f-sublabel::before { width: 20px; height: 2px; background: var(--orange); }
.f-step .n { width: 32px; height: 32px; background: var(--orange); font: 500 14px/20px var(--font-display); }
.f-step::before { top: 16px; background: var(--mist); }
.f-step strong { font: 600 16px/26px var(--font-body); letter-spacing: 0; color: var(--text); }
.f-step .d { font: 400 14px/20px var(--font-body); color: var(--slate); }
.cat-btn, .cat-page-btn { border-radius: 6px; font: 400 12px/18px var(--font-body); text-transform: none; letter-spacing: 0; }
.cat-btn.active { background: var(--navy); border-color: var(--navy); color: #fff; }
/* 信任带（藏青整条）+ 评分条：跟下一块之间同样 120 */
.trust-band { margin: 0 0 120px; padding: 72px 0; background: var(--navy); }
.trust-band:has(+ .ratings-bar) { margin-bottom: 0; }
.trust-band-grid { border: 0; gap: 16px; }
.trust-item { padding: 24px; border: 0; border-radius: 12px; background: rgba(255,255,255,.06); }
.trust-item-icon { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; color: var(--orange); }
.trust-item-num { margin: 0 0 4px; font: 500 40px/48px var(--font-display); letter-spacing: 0; font-variation-settings: normal; color: var(--orange); }
.trust-item-label { margin: 0 0 8px; font: 600 14px/20px var(--font-body); text-transform: none; letter-spacing: 0; color: #fff; }
.trust-item-desc { font: 400 14px/20px var(--font-body); color: rgba(255,255,255,.65); }
.ratings-bar { margin: 0 0 120px; padding: 32px 0; background: #fff; border: 0; border-bottom: 1px solid var(--mist); }
.rating-score { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.rating-score .score { font: 500 40px/48px var(--font-display); letter-spacing: 0; font-variation-settings: normal; color: var(--orange); }
.rating-score .score.cmh-rv-audit { font-size: 28px; line-height: 36px; }
.rating-score .stars { margin: 0; font: 500 18px/24px var(--font-display); letter-spacing: 0; color: var(--orange); }
.rating-score .count { font: 400 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--slate); }
.rating-score .rating-action {
  height: 40px; margin-top: 12px; padding: 10px 14px; border: 1px solid var(--navy); border-radius: 6px; background: #fff; color: var(--navy);
  font: 400 14px/20px var(--font-body); letter-spacing: 0; text-transform: none;
}
@media (hover: hover) { .rating-score .rating-action:hover { background: var(--navy); color: #fff; } }
.rating-divider { background: var(--mist); }
.certs-strip { gap: 8px; }
.certs-strip .cert-badge { min-width: 96px; padding: 16px; border: 0; border-radius: 12px; background: var(--cloud); }
.certs-strip .cert-icon { margin: 0 0 4px; color: var(--orange); }
.certs-strip .cert-value { font: 500 20px/28px var(--font-display); letter-spacing: 0; font-variation-settings: normal; color: var(--text); }
.certs-strip .cert-label { font: 400 12px/18px var(--font-body); letter-spacing: 0; text-transform: none; color: var(--slate); }
section h2[style*="font-weight:300"] { font-weight: 500 !important; letter-spacing: 0 !important; }

/* ── 响应式 ─────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .f-header-grid { flex-direction: column; align-items: stretch; }
  .trust-card { flex-basis: auto; min-height: 380px; }
  #builds .cap-grid { grid-template-columns: repeat(2, 1fr); }
  .cap-grid { grid-template-columns: repeat(2, 1fr); }
  #faq .container { grid-template-columns: 1fr; row-gap: 32px; }
  #faq .section-header { grid-column: 1; grid-row: 1; }
  .ffaq-list { grid-row: 2; }
}
@media (max-width: 768px) {
  .trust-card { height: auto; min-height: 0; padding-top: 300px; background-size: 290px auto; }
  .trust-card-cta { flex-wrap: wrap; }
  .trust-card .btn-block { flex: 1 1 140px; padding: 10px 12px; }
  .trust-card-cta:has(video) { height: auto; padding-top: 0; }
  .trust-card:has(video) { padding-top: 0; }
  .f-header { padding: 40px 0 72px; }
  .f-title { font-size: 40px; line-height: 46px; }
  .section { padding-bottom: 72px; }
  .section-title { font-size: 28px; line-height: 36px; }
  .cap-grid, #builds .cap-grid { grid-template-columns: 1fr; }
  .cap { padding: 16px 0; }
  .certs-grid { grid-template-columns: 1fr; padding: 16px 0; }
  .cert-card, .cert-card:nth-child(n) { border-right: 0; border-bottom: 1px solid var(--mist); padding: 24px !important; }
  .cert-card:last-child { border-bottom: 0; }
  .about-side { grid-template-columns: 1fr; grid-auto-flow: row; grid-template-rows: none; row-gap: 0; }
  .about-side ul { margin-bottom: 16px; }
  .timeline-list { width: auto; padding: 32px 0 0 48px; }
  .timeline-item, .timeline-item:nth-last-child(even) { width: auto; margin: 0; align-items: flex-start; text-align: left; }
  .timeline-item::before, .timeline-item:nth-last-child(even)::before { left: -34px; right: auto; }
  .timeline-item::after, .timeline-item:nth-last-child(even)::after { left: -30px; right: auto; }
  main > section:has(.rel-card) { padding-bottom: 72px !important; }
  #faq { padding: 48px 0; }
}
