/* ============================================================
   VITERN / Section blocks
   Stripe × Babylon Labs inspired rhythm:
   full-width solid fields, open content, restrained dark anchors.
   ============================================================ */

.theme-thermal {
  --block-paper: #f7f9fc;
  --block-mist: #e8eff6;
  --block-blue: #dbe7f1;
  --block-navy: #0d1738;
  --block-navy-2: #15264b;
  --block-ink: #09223a;
  --block-copy: #485f75;
}

.theme-thermal main { background: var(--block-paper); }

.theme-thermal .architecture,
.theme-thermal .capabilities,
.theme-thermal .proof,
.theme-thermal .partners,
.theme-thermal .contact {
  position: relative;
  overflow: hidden;
  border-top: 0;
  border-bottom: 0;
  background-image: none;
}

.theme-thermal .architecture > .container,
.theme-thermal .capabilities > .container,
.theme-thermal .proof > .container,
.theme-thermal .partners > .container,
.theme-thermal .contact > .container {
  position: relative;
  z-index: 1;
}

/* 01 / System: pale technical field with one offset blue block. */
.theme-thermal .architecture {
  color: var(--block-ink);
  background-color: var(--block-paper);
}
/* 斜切装饰板已移除(2026-08):角度随机、色差过小,读作"没对齐的纸片"。
   区块之间只用纯色场的水平边界分章。 */
.theme-thermal .architecture::before { display: none; }
.theme-thermal .architecture .eyebrow { color: #6d8196; }
.theme-thermal .architecture-note { color: var(--block-copy); }
.theme-thermal .architecture-route { color: #4d657c; }
.theme-thermal .architecture-route span {
  border-color: rgba(8, 86, 158, 0.15);
  background: rgba(255, 255, 255, 0.55);
}
.theme-thermal .architecture-route i { color: #0875e1; }
.theme-thermal .architecture-route span.route-ours {
  color: #0b355a;
  border-color: rgba(8, 117, 225, 0.34);
  background: #ffffff;
  box-shadow: inset 2px 0 0 #0875e1;
}
.theme-thermal .architecture-legend { color: #6d8196; }
.theme-thermal .architecture-legend span::before {
  border-color: rgba(8, 86, 158, 0.15);
  background: rgba(255, 255, 255, 0.55);
  box-shadow: none;
}
.theme-thermal .architecture-legend .lg-ours::before {
  border-color: rgba(8, 117, 225, 0.34);
  background: #ffffff;
  box-shadow: inset 2px 0 0 #0875e1;
}

/* The drawing is part of the page, rather than a black framed poster. */
.theme-thermal .hero-stack {
  padding: 0;
  overflow: visible;
  color: var(--block-ink);
  border: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}
.theme-thermal .hero-stack::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 6% -6% 4%;
  border: 0;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(28, 85, 137, 0.15), rgba(28, 85, 137, 0.05) 48%, transparent 72%);
  clip-path: none;
  filter: blur(18px);
}
.theme-thermal .stack-wrap {
  -webkit-mask-image: none;
  mask-image: none;
}
.theme-thermal .stack-wrap canvas {
  opacity: 0.95;
  mix-blend-mode: multiply;
}
.theme-thermal .sp-item { color: #5e7389; }
.theme-thermal .sp-item:hover { color: #143d61; }
.theme-thermal .sp-item.is-active {
  color: #0b355a;
  border-color: rgba(8, 117, 225, 0.2);
  background: #f7fbff;
  box-shadow: none;
}
.theme-thermal .sp-item.is-active i { color: #0875e1; }
.theme-thermal .stack-tags span { color: #526b82; }
.theme-thermal .stack-scope { color: #6d8196; }

/* 02 / Product position: one full dark editorial chapter. */

/* 03 / About: calm white block; internal value layout uses two solids. */

.theme-thermal .value-panel {
  gap: 0;
  overflow: visible;
  color: var(--block-ink);
  border: 0;
  background: var(--block-mist);
  box-shadow: none;
}
.theme-thermal .value-panel::before { display: none; }
.theme-thermal .value-lead {
  min-height: 0;
  color: #eef6ff;
  border: 0;
  background: var(--block-navy);
}
.theme-thermal .value-kicker { color: #79d5ff; }
.theme-thermal .value-lead > p:last-child { color: #bdcce0; }

/* 04 / Products: blue-grey field, open rows. */
.theme-thermal .capabilities {
  color: var(--block-ink);
  background-color: var(--block-blue);
}
.theme-thermal .capabilities::before { display: none; }
.theme-thermal .capabilities .eyebrow { color: #6d8196; }
.theme-thermal .cap-list {
  padding: 0;
  color: var(--block-ink);
  border: 0;
  border-top: 1px solid rgba(16, 72, 126, 0.18);
  background: transparent;
  box-shadow: none;
}
.theme-thermal .cap-row { border-color: rgba(16, 72, 126, 0.14); }
.theme-thermal .cap-row:not(.product-card):hover,
.theme-thermal .cap-row:not(.product-card).is-current { background: rgba(255, 255, 255, 0.32); }
.theme-thermal .cap-row:not(.product-card).is-current .cap-num,
.theme-thermal .cap-row:not(.product-card):hover .cap-num { color: #0875e1; }
.theme-thermal .cap-title { color: #102f4a; }
.theme-thermal .cap-title-en { color: #6d8296; }
.theme-thermal .cap-desc { color: #435d73; }
.theme-thermal .cap-meta span {
  color: #566e84;
  border-color: rgba(16, 72, 126, 0.14);
  background: rgba(255, 255, 255, 0.35);
}
.theme-thermal .cap-row:not(.product-card):hover .cap-meta span {
  color: #1f4d74;
  border-color: rgba(8, 117, 225, 0.24);
}
.theme-thermal .cap-arrow { color: #72869a; }
.theme-thermal .cap-row:not(.product-card):hover .cap-arrow { color: #0875e1; }

/* 05 / Process: a second full dark chapter, with open columns. */
.theme-thermal .proof {
  --text: #eef6ff;
  --text-dim: #b8c8db;
  --text-mute: #8298ae;
  --line: rgba(147, 199, 244, 0.14);
  --line-strong: rgba(147, 199, 244, 0.26);
  color: #eef6ff;
  background-color: var(--block-navy);
}
.theme-thermal .proof::before { display: none; }
.theme-thermal .proof .eyebrow { color: #8298ae; }
.theme-thermal .proof-intro > p { color: #b8c8db; }
.theme-thermal .proof-principles {
  gap: 14px;
  border: 0;
  background: transparent;
}
.theme-thermal .proof-principles span {
  min-height: 74px;
  padding: 14px 0;
  border-top: 1px solid rgba(147, 199, 244, 0.2);
  background: transparent;
}
.theme-thermal .proof-principles b { color: #70d4ff; }
.theme-thermal .proof-principles em { color: #d5e3f0; }
.theme-thermal .proof-grid {
  gap: 0 clamp(22px, 4vw, 56px);
  overflow: visible;
  color: #eef6ff;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.theme-thermal .proof-card,
.theme-thermal .proof-card:nth-child(4),
.theme-thermal .proof-card:hover {
  min-height: 360px;
  padding: clamp(28px, 3vw, 42px) 0;
  color: #eef6ff;
  border-top: 1px solid rgba(147, 199, 244, 0.2);
  background: transparent;
}
.theme-thermal .proof-card .proof-val,
.theme-thermal .proof-card .proof-name { color: #eef6ff; }
.theme-thermal .proof-card .proof-desc { color: #b8c8db; }
.theme-thermal .proof-card .proof-meta {
  color: #70d4ff;
  border-color: rgba(147, 199, 244, 0.14);
}

/* 06 / Applications: soft paper block and open index. */
.theme-thermal .partners {
  color: var(--block-ink);
  background-color: var(--block-paper);
}
.theme-thermal .partners::before { display: none; }
.theme-thermal .partners .eyebrow { color: #6d8196; }
.theme-thermal .partner-row::before { color: #0875e1; }
.theme-thermal .partner-list {
  padding: 0;
  color: var(--block-ink);
  border: 0;
  border-top: 1px solid rgba(16, 72, 126, 0.17);
  background: transparent;
  box-shadow: none;
}
.theme-thermal .partner-row { border-color: rgba(16, 72, 126, 0.14); }
.theme-thermal .partner-row:hover { background: rgba(219, 231, 241, 0.62); }
.theme-thermal .partner-row h3 { color: #102f4a; }
.theme-thermal .partner-row p { color: var(--block-copy); }

/* 07 / Contact: solid dark ending connected directly to the footer. */
.theme-thermal .contact {
  --text: #eef6ff;
  --text-dim: #b8c8db;
  --text-mute: #8298ae;
  --line: rgba(147, 199, 244, 0.14);
  --line-strong: rgba(147, 199, 244, 0.26);
  color: #eef6ff;
  background-color: #071524;
}
.theme-thermal .contact::before { display: none; }
.theme-thermal .contact-band {
  color: #eef6ff;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.theme-thermal .contact .eyebrow,
.theme-thermal .contact-mail { color: #aebfd1; }
.theme-thermal .cond-panel {
  border: 1px solid rgba(147, 199, 244, 0.18);
  border-radius: 0;
  background: rgba(7, 21, 36, 0.32);
  box-shadow: none;
}
.theme-thermal .footer {
  border-color: rgba(147, 199, 244, 0.1);
  background: #071524;
}

@media (max-width: 768px) {
  .theme-thermal .architecture .hero-stack::before { inset: 8% -8% 7%; }
  .theme-thermal .value-panel { grid-template-columns: 1fr; }
  .theme-thermal .value-lead { min-height: 0; }
  .theme-thermal .proof-grid { gap: 0 24px; }
}

/* Hero 标题的移动端降级:thermal-topology.css 的 .theme-thermal .hero-title
   优先级高于 main.css 里 @media(max-width:768px) 的降字号,导致 ≤420px 时
   标题按 44px 渲染、被 .hero{overflow:hidden} 裁掉行尾。此处按视口收字号。
   .hero-title-line 是 nowrap,单行字数上限 ≈ 可用宽度 / 字号。 */
@media (max-width: 768px) {
  .theme-thermal .hero-title { font-size: clamp(28px, 8.4vw, 46px); }
  [lang="en"] .theme-thermal .hero-title { font-size: clamp(24px, 6.8vw, 42px); }
}

/* ============================================================
   窄列标题适配 + 大屏密度补偿(2026-08)
   1) [00] 产品位置与价值面板的标题在窄列内,字号按列宽适配,
      配合语义断行(每行 ≤8 个全角字)避免 CJK 拆词折行。
   2) ≥1600px:全站 clamp 在 ~1440 就封顶,超宽屏上内容不再随
      视口生长,显小显空。此层整体抬升容器宽度、Hero 视觉与字阶。
   ============================================================ */
.theme-thermal .architecture .display { font-size: clamp(26px, 3.7vw, 48px); }
.theme-thermal .value-lead h3 { font-size: clamp(28px, 2.75vw, 40px); }

@media (min-width: 1600px) {
  :root {
    --container: 1380px;
    --container-wide: 1560px;
    --hero-visual-width: min(64vw, 1400px);
  }
  .nav-links a { font-size: 16px; }

  /* Hero */
  .theme-thermal .hero-title { font-size: clamp(76px, 4.7vw, 100px); }
  [lang="en"] .theme-thermal .hero-title { font-size: clamp(68px, 4.2vw, 88px); }
  .theme-thermal .hero-copy { max-width: 900px; }
  /* 英文行更长(.hero-title-line 是 nowrap),900px 会把最长行裁掉,单独放宽 */
  [lang="en"] .theme-thermal .hero-copy { max-width: min(74vw, 1240px); }
  .hero-sub { font-size: 21px; max-width: 50ch; }
  .hero-signature { font-size: 13px; }
  .eyebrow { font-size: 14px; }

  /* 区块标题 */
  .theme-thermal .display { font-size: clamp(58px, 3.5vw, 68px); }
  .theme-thermal .architecture .display { font-size: clamp(44px, 2.7vw, 52px); }
  .contact-band .display-lg { font-size: clamp(44px, 3vw, 60px); }

  /* 产品位置区 */
  .architecture-note { font-size: 18px; max-width: 40ch; }
  .architecture-route { font-size: 12px; }
  .architecture-legend { font-size: 12px; }
  .sp-item { font-size: 13px; }
  .stack-tags span { font-size: 13px; }
  .stack-scope { font-size: 13px; }
  .architecture .stack-wrap { max-height: min(78vh, 830px); }

  /* 正文密度 */


  .cap-desc { font-size: 17px; }
  .proof-desc { font-size: 16px; }
  .partner-row p { font-size: 16px; }

  .value-lead > p:last-child { font-size: 19px; }

}

/* 价值声明带:面板只保留左侧声明 + 右侧一段边界说明;
   原四张价值卡与[制造与检测]六个过程卡重复,已并入后者(2026-08 结构精简) */
.value-note {
  display: flex;
  align-items: center;
  padding: clamp(36px, 5vw, 68px);
}
.value-note p {
  max-width: 46ch;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.95;
  color: var(--text-dim);
}
/* value-note 位于面板浅色(mist)一侧,用深色正文;#bdcce0 是按 navy 底配的,浅底上对比不足 */
.theme-thermal .value-note p { color: var(--block-copy); }
.theme-thermal .value-panel { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.theme-thermal .value-lead { min-height: 0; }
[lang="en"] .value-note p { line-height: 1.7; }
@media (max-width: 1024px) {
  .theme-thermal .value-panel { grid-template-columns: 1fr; }
  .theme-thermal .value-note { padding-top: 8px; }
}

/* 两栏区块头引导句的主题色 */
.theme-thermal .capabilities .head-lead,
.theme-thermal .partners .head-lead { color: var(--block-copy); }

/* ============================================================
   Corporate typography refresh / 2026-08-18
   Marketing pages use an expressive type scale. Productive 12px
   utility type is reserved for true metadata, never core copy.
   ============================================================ */
:root {
  --type-display: clamp(46px, 4.8vw, 68px);
  --type-section: clamp(40px, 4.2vw, 60px);
  --type-subhead: clamp(26px, 2.15vw, 32px);
  --type-lead: clamp(18px, 1.35vw, 20px);
  --type-body: clamp(17px, 1.25vw, 18px);
  --type-label: 15px;
}

body {
  line-height: 1.68;
  letter-spacing: 0;
}

.eyebrow {
  margin-bottom: clamp(28px, 3vw, 40px);
  font-family: var(--font-sans);
  font-size: var(--type-label);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
}

[lang="en"] .eyebrow {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.display,
.theme-thermal .display,
.theme-thermal .architecture .display {
  font-size: var(--type-section);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: 0;
  text-wrap: balance;
}
.section-head .display[data-reveal] { clip-path: none; }

.section-head-split .head-lead,
.architecture-note,
.proof-intro > p,
.value-note p,
.partner-row p {
  font-size: var(--type-body);
  line-height: 1.72;
  letter-spacing: 0;
}

.section-head-split .head-lead { max-width: 36ch; }
.nav-links a { font-size: 16px; font-weight: 500; letter-spacing: 0; }
.btn { font-size: 16px; font-weight: 500; letter-spacing: 0; }

.theme-thermal .architecture-grid {
  grid-template-columns: minmax(420px, 0.88fr) minmax(560px, 1.12fr);
  gap: clamp(56px, 6vw, 104px);
}
.theme-thermal .architecture-copy { max-width: 620px; }
.theme-thermal .architecture .display { max-width: 10em; }
.theme-thermal .architecture-note {
  max-width: 34ch;
  margin-top: 32px;
  color: #3f566d;
}

/* The chain is supporting context, not a row of tiny buttons. */
.theme-thermal .architecture-route {
  gap: 7px 11px;
  margin-top: 30px;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: 0;
}
.theme-thermal .architecture-route span,
.theme-thermal .architecture-route span.route-ours {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.theme-thermal .architecture-route span.route-ours {
  color: #0a5da7;
  font-weight: 500;
}
.theme-thermal .architecture-route i { color: #7a8ea2; }
.theme-thermal .architecture-legend { display: none; }
.theme-thermal .sp-item { font-size: 15px; letter-spacing: 0; }
.theme-thermal .stack-tags span,
.theme-thermal .stack-scope {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: 0;
}

.proof-name,
.partner-row h3,
.value-lead h3 {
  font-weight: 500;
  letter-spacing: 0;
}
.proof-name { font-size: 20px; }
.proof-desc { font-size: 17px; line-height: 1.7; }
.proof-meta { font-size: 14px; letter-spacing: 0.03em; }
.proof-principles b { font-size: 14px; }
.proof-principles em { font-size: 15px; }
.partner-row h3 { font-size: clamp(24px, 2vw, 30px); }

/* ============================================================
   Product gallery / image-led product architecture
   ============================================================ */
.theme-thermal .capabilities {
  --product-card-bg: #091726;
  --product-card-line: rgba(142, 181, 215, 0.2);
  background: #e5edf5;
}
.theme-thermal .capabilities .section-head { margin-bottom: clamp(48px, 6vw, 84px); }
.theme-thermal .capabilities .section-head .display { max-width: 13em; }

.theme-thermal .product-gallery {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: clamp(270px, 21vw, 360px);
  gap: clamp(12px, 1.15vw, 20px);
  padding: 0;
  border: 0;
  background: transparent;
}
.theme-thermal .product-gallery::before { display: none; }

.theme-thermal .product-card {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  color: #f3f8fc;
  border: 1px solid var(--product-card-line);
  border-radius: 3px;
  background: #edf2f6;
  box-shadow: 0 20px 52px rgba(28, 61, 88, 0.12);
}
.theme-thermal .product-card::after { display: none; }
.theme-thermal .product-card--primary { grid-column: 1 / span 7; grid-row: 1 / span 2; }
.theme-thermal .product-card--secondary { grid-column: 8 / span 5; grid-row: 1; background: #edf2f6; }
.theme-thermal .product-card--cdu { grid-column: 8 / span 5; grid-row: 2; }
.theme-thermal .product-card--manifold { grid-column: 1 / span 5; grid-row: 3; }
.theme-thermal .product-card--custom { grid-column: 6 / span 7; grid-row: 3; background: #edf2f6; }

.product-card-media {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  transform: scale(1.002);
  transition: transform 0.8s var(--ease-out);
}
.product-card-media--contain {
  object-fit: contain;
  object-position: center;
  padding: 0;
}
.product-card--primary .product-card-media--full-assembly {
  object-fit: contain;
  object-position: center;
  background: #edf2f6;
}
.product-card--secondary .product-card-media,
.product-card--custom .product-card-media {
  z-index: -2;
  padding: 0;
}
.product-card--cdu .product-card-media {
  object-position: center;
  padding: 0;
}
.product-card--manifold .product-card-media {
  object-position: center;
  padding: 0;
}
.product-card--custom .product-card-media { object-position: center; padding: 0; }

.product-card-shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3, 10, 17, 0.18) 0%, transparent 42%),
    linear-gradient(0deg, rgba(3, 11, 19, 0.96) 0%, rgba(3, 11, 19, 0.82) 24%, rgba(3, 11, 19, 0.1) 66%);
}
.product-card--primary .product-card-shade {
  background:
    linear-gradient(90deg, rgba(3, 10, 17, 0.42), transparent 60%),
    linear-gradient(0deg, rgba(3, 11, 19, 0.97) 0%, rgba(3, 11, 19, 0.62) 34%, transparent 68%);
}

.product-card-topline {
  position: absolute;
  top: clamp(22px, 2.2vw, 34px);
  left: clamp(22px, 2.4vw, 38px);
  right: clamp(22px, 2.4vw, 38px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.theme-thermal .product-card .cap-num {
  color: rgba(235, 244, 252, 0.9);
  font-family: var(--font-mono);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.theme-thermal .product-card .cap-title-en {
  display: block;
  color: rgba(226, 239, 250, 0.7);
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.product-card-copy {
  position: absolute;
  left: clamp(22px, 2.4vw, 38px);
  right: clamp(56px, 5vw, 82px);
  bottom: clamp(22px, 2.4vw, 38px);
}
.theme-thermal .product-card .cap-title {
  display: block;
  max-width: 16em;
  color: #f4f8fc;
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0;
}
.theme-thermal .product-card--primary .cap-title {
  max-width: 11em;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.18;
}
.theme-thermal .product-card .cap-desc {
  display: -webkit-box;
  max-width: 44ch;
  margin-top: 12px;
  overflow: hidden;
  color: rgba(227, 238, 247, 0.78);
  font-size: 16px;
  line-height: 1.65;
  letter-spacing: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.theme-thermal .product-card--primary .cap-desc {
  max-width: 52ch;
  font-size: 17px;
  -webkit-line-clamp: 3;
}
.theme-thermal .product-card .cap-meta {
  display: flex;
  justify-content: flex-start;
  gap: 0;
  margin-top: 18px;
}
.theme-thermal .product-card .cap-meta span {
  padding: 0;
  color: rgba(220, 234, 246, 0.7);
  border: 0;
  border-radius: 0;
  background: transparent;
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0;
}
.theme-thermal .product-card .cap-meta span + span::before {
  content: "/";
  margin: 0 9px;
  color: rgba(139, 169, 193, 0.62);
}
.theme-thermal .product-card .cap-arrow {
  position: absolute;
  right: clamp(22px, 2.4vw, 38px);
  bottom: clamp(22px, 2.4vw, 38px);
  color: rgba(235, 244, 252, 0.86);
  font-size: 24px;
  line-height: 1;
}
.theme-thermal .product-card--secondary .cap-num,
.theme-thermal .product-card--secondary .cap-title-en,
.theme-thermal .product-card--custom .cap-num,
.theme-thermal .product-card--custom .cap-title-en {
  color: rgba(13, 44, 70, 0.74);
}
@media (hover: hover) and (pointer: fine) {
  .theme-thermal .product-card:hover {
    box-shadow: 0 24px 62px rgba(28, 61, 88, 0.17);
  }
  .theme-thermal .product-card:hover .product-card-media { transform: scale(1.035); }
  .theme-thermal .product-card:hover .cap-arrow { transform: translate(3px, -3px); }
}

@media (max-width: 1080px) {
  .theme-thermal .architecture-grid { grid-template-columns: 1fr; }
  .theme-thermal .architecture-copy { max-width: 720px; }
  .theme-thermal .product-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 360px;
  }
  .theme-thermal .product-card--primary { grid-column: 1 / -1; grid-row: auto; min-height: 560px; }
  .theme-thermal .product-card--secondary,
  .theme-thermal .product-card--cdu,
  .theme-thermal .product-card--manifold,
  .theme-thermal .product-card--custom { grid-column: auto; grid-row: auto; }
}

@media (max-width: 700px) {
  :root {
    --type-section: clamp(34px, 10vw, 44px);
    --type-body: 16px;
    --type-label: 14px;
  }
  .display,
  .theme-thermal .display,
  .theme-thermal .architecture .display { line-height: 1.2; }
  .section-head-split .head-lead { font-size: 17px; }
  .theme-thermal .architecture-route { font-size: 14px; }
  .theme-thermal .sp-item,
  .theme-thermal .stack-tags span,
  .theme-thermal .stack-scope { font-size: 14px; }
  .theme-thermal .product-gallery {
    grid-template-columns: 1fr;
    grid-auto-rows: 430px;
    gap: 12px;
  }
  .theme-thermal .product-card--primary,
  .theme-thermal .product-card--secondary,
  .theme-thermal .product-card--cdu,
  .theme-thermal .product-card--manifold,
  .theme-thermal .product-card--custom {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
  }
  .theme-thermal .product-card--primary { min-height: 520px; }
  .theme-thermal .product-card .cap-title { font-size: 27px; }
  .theme-thermal .product-card--primary .cap-title { font-size: 36px; }
  .theme-thermal .product-card .cap-desc { font-size: 15px; -webkit-line-clamp: 3; }
  .theme-thermal .product-card .cap-meta span { font-size: 13px; }
  .product-card-media--contain,
  .product-card--cdu .product-card-media,
  .product-card--manifold .product-card-media,
  .product-card--custom .product-card-media { padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .product-card-media { transition: none; }
}

/* ============================================================
   Architecture density pass / 2026-08-18
   Give the opening system story enough visual mass on desktop:
   a wider editorial measure, a larger technical drawing and less
   dead space before the value statement. Mobile keeps its one-column flow.
   ============================================================ */
.theme-thermal {
  --architecture-max: 1480px;
  --architecture-pad-top: clamp(44px, 3.6vw, 58px);
  --architecture-pad-bottom: clamp(64px, 5.2vw, 84px);
  /* 81% of the new 100%-wide column = 75% of the previous 108%-wide visual. */
  --architecture-visual-width: 81%;
  --architecture-column-gap: clamp(36px, 4.2vw, 72px);
  --architecture-brief-line: rgba(28, 77, 116, 0.16);
  --architecture-brief-accent: #0875e1;
  --architecture-brief-copy: #2f4b63;
}

.theme-thermal .architecture {
  padding-top: var(--architecture-pad-top);
  padding-bottom: var(--architecture-pad-bottom);
}

.theme-thermal .architecture > .container {
  max-width: var(--architecture-max);
}

.theme-thermal .architecture-brief {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 680px;
  margin-top: clamp(32px, 3vw, 42px);
  padding-top: 24px;
  border-top: 1px solid var(--architecture-brief-line);
}

.theme-thermal .architecture-brief-group {
  min-width: 0;
  padding-right: 28px;
}

.theme-thermal .architecture-brief-group + .architecture-brief-group {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid var(--architecture-brief-line);
}

.theme-thermal .architecture-brief-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #61788d;
}

.theme-thermal .architecture-brief-label i {
  font-family: var(--font-mono);
  font-style: normal;
  font-weight: 500;
  color: var(--architecture-brief-accent);
}

.theme-thermal .architecture-brief ul {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.theme-thermal .architecture-brief li {
  position: relative;
  padding-left: 14px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--architecture-brief-copy);
}

.theme-thermal .architecture-brief li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 4px;
  height: 4px;
  background: var(--architecture-brief-accent);
}

[lang="en"] .theme-thermal .architecture-brief-label {
  font-size: 12px;
  letter-spacing: 0.08em;
}

@media (min-width: 1081px) {
  .theme-thermal .architecture-grid {
    grid-template-columns: minmax(480px, 0.9fr) minmax(650px, 1.1fr);
    gap: var(--architecture-column-gap);
  }

  .theme-thermal .architecture-copy {
    align-self: start;
    max-width: 680px;
    padding-left: clamp(0px, 1.2vw, 18px);
    padding-top: clamp(44px, 4vw, 58px);
  }

  .theme-thermal .architecture .eyebrow {
    margin-bottom: clamp(22px, 2vw, 30px);
  }

  .theme-thermal .architecture .display {
    max-width: 9.2em;
    font-size: clamp(52px, 4.2vw, 70px);
    line-height: 1.14;
  }

  .theme-thermal .architecture-note {
    max-width: 42ch;
    margin-top: clamp(26px, 2.2vw, 34px);
    font-size: clamp(17px, 1.22vw, 19px);
    line-height: 1.78;
  }

  .theme-thermal .architecture-route {
    max-width: 580px;
    margin-top: clamp(24px, 2vw, 30px);
    font-size: 16px;
  }

  .theme-thermal .hero-stack {
    width: 100%;
    margin: 0;
  }

  .theme-thermal .architecture .stack-wrap {
    width: var(--architecture-visual-width);
    aspect-ratio: 10 / 12.5;
    max-height: 600px;
  }

  .theme-thermal .stack-path {
    margin-top: 4px;
  }

  .theme-thermal .value-panel {
    margin-top: clamp(30px, 3vw, 44px);
  }

  .theme-thermal .value-lead,
  .theme-thermal .value-note {
    padding: clamp(42px, 4vw, 58px);
  }

  .theme-thermal .value-lead h3 {
    font-size: clamp(34px, 2.75vw, 42px);
    line-height: 1.22;
  }
}

@media (max-width: 1080px) {
  .theme-thermal {
    --architecture-pad-top: clamp(64px, 9vw, 88px);
    --architecture-pad-bottom: clamp(64px, 9vw, 88px);
    --architecture-visual-width: 100%;
  }

  .theme-thermal .architecture .hero-stack {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 600px) {
  .theme-thermal .architecture-brief {
    grid-template-columns: 1fr;
  }

  .theme-thermal .architecture-brief-group {
    padding-right: 0;
    padding-bottom: 22px;
  }

  .theme-thermal .architecture-brief-group + .architecture-brief-group {
    padding-top: 22px;
    padding-left: 0;
    padding-bottom: 0;
    border-top: 1px solid var(--architecture-brief-line);
    border-left: 0;
  }
}

/* ============================================================
   Expressive corporate type scale / 2026-08-18
   Marketing pages need editorial hierarchy, not dashboard-sized UI.
   ============================================================ */
:root {
  --type-display: clamp(54px, 5.6vw, 80px);
  --type-section: clamp(48px, 4.7vw, 68px);
  --type-subhead: clamp(28px, 2.35vw, 36px);
  --type-lead: clamp(20px, 1.55vw, 23px);
  --type-body: clamp(18px, 1.3vw, 20px);
  --type-label: clamp(17px, 1.15vw, 18px);
}

.theme-thermal .eyebrow {
  font-size: var(--type-label);
  font-weight: 550;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

.theme-thermal .eyebrow-tag::after { display: none; }

.theme-thermal .section-head-split .head-lead,
.theme-thermal .proof-intro > p,
.theme-thermal .partner-row p,
.theme-thermal .footer-tag {
  font-size: var(--type-body);
}

.theme-thermal .architecture-grid {
  align-items: center;
}

.theme-thermal .architecture-copy {
  padding-top: 0;
}

.theme-thermal .architecture .display {
  max-width: 11em;
  font-size: var(--type-section);
  line-height: 1.13;
  letter-spacing: -0.035em;
}

.theme-thermal .architecture-note {
  max-width: 39em;
  margin-top: clamp(28px, 2.5vw, 38px);
  font-size: var(--type-body);
  line-height: 1.78;
}

/* 公司背景三条事实。原样式是 26px/字重 520 + 全宽发丝线分隔行——那是本站
   "可点击索引"(产品行/应用行)的形态,且比真标题还大,读者会当成标题或链接。
   改为等宽编号 + 正文级字号的紧凑列表:是三条事实,不是导航。 */
.theme-thermal .architecture-credentials {
  max-width: 560px;
  margin-top: clamp(26px, 2.2vw, 36px);
  display: grid;
  gap: 13px;
  counter-reset: cred;
  border-top: 0;
}

.theme-thermal .architecture-credentials p {
  counter-increment: cred;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  margin: 0;
  padding: 0;
  border-bottom: 0;
  color: #2c5074;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.62;
  letter-spacing: 0.012em;
}

.theme-thermal .architecture-credentials p::before {
  content: "0" counter(cred);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #0875e1;
}

.theme-thermal .architecture .stack-wrap {
  width: 76%;
  margin-inline: auto;
}

.theme-thermal .product-card .cap-title {
  font-size: clamp(28px, 2.2vw, 36px);
}

.theme-thermal .product-card--primary .cap-title {
  font-size: clamp(40px, 3.4vw, 54px);
}

.theme-thermal .product-card .cap-desc,
.theme-thermal .product-card--primary .cap-desc {
  font-size: clamp(18px, 1.25vw, 20px);
  line-height: 1.68;
}

.theme-thermal .product-card .cap-meta span {
  font-size: 16px;
  line-height: 1.5;
}

.theme-thermal .proof-name {
  font-size: clamp(24px, 2vw, 30px);
}

.theme-thermal .proof .section-head .display {
  font-size: clamp(52px, 4.4vw, 64px);
}

.theme-thermal .proof-desc {
  font-size: 18px;
  line-height: 1.72;
}

.theme-thermal .proof-principles {
  gap: 0;
  margin-top: 34px;
  border-top: 1px solid rgba(213, 227, 240, 0.24);
}

.theme-thermal .proof-principles span {
  padding: 19px 22px;
  border-right: 1px solid rgba(213, 227, 240, 0.18);
}

.theme-thermal .proof-principles span:first-child { padding-left: 0; }
.theme-thermal .proof-principles span:last-child { border-right: 0; }

.theme-thermal .proof-principles em {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
}

.theme-thermal .partner-row h3 {
  font-size: clamp(28px, 2.25vw, 36px);
}

.theme-thermal .footer-col h4,
.theme-thermal .footer-col a,
.theme-thermal .footer-muted,
.theme-thermal .footer-legal {
  font-size: 16px;
}

.theme-thermal .cond-head,
.theme-thermal .cond-row,
.theme-thermal .cond-val,
.theme-thermal .cond-chip,
.theme-thermal .cond-note {
  font-size: 16px;
}

.theme-thermal .proof-closing {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 8vw, 132px);
  align-items: start;
  margin-top: clamp(68px, 8vw, 118px);
  padding-top: clamp(42px, 5vw, 72px);
  border-top: 1px solid rgba(147, 199, 244, 0.24);
}

.theme-thermal .proof-closing-kicker {
  margin-bottom: 22px;
  color: #70d4ff;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
}

.theme-thermal .proof-closing-title h3 {
  max-width: 20ch;
  color: #eef6ff;
  font-size: clamp(42px, 3.3vw, 52px);
  font-weight: 520;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.theme-thermal .proof-closing-copy > p {
  max-width: 44rem;
  color: #b8c8db;
  font-size: clamp(17px, 1.25vw, 20px);
  line-height: 1.85;
}

.theme-thermal .proof-lifecycle {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: clamp(34px, 4vw, 52px) 0 30px;
  border-top: 1px solid rgba(112, 212, 255, 0.32);
}

.theme-thermal .proof-lifecycle span {
  position: relative;
  padding: 18px 8px 0;
  color: #d5e3f0;
  font-family: var(--font-mono);
  font-size: 13px;
  text-align: center;
}

.theme-thermal .proof-lifecycle span::before {
  position: absolute;
  top: -4px;
  left: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #70d4ff;
  box-shadow: 0 0 14px rgba(112, 212, 255, 0.68);
  content: "";
  transform: translateX(-50%);
}

.theme-thermal .proof-closing-copy > strong {
  display: block;
  max-width: 34rem;
  color: #eef6ff;
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 520;
  line-height: 1.55;
}

@media (max-width: 1080px) {
  .theme-thermal .architecture-copy { max-width: 780px; }
  .theme-thermal .architecture .stack-wrap { width: min(78%, 620px); }
  .theme-thermal .proof-closing { grid-template-columns: 1fr; gap: 36px; }
  .theme-thermal .proof-closing-title h3 { max-width: 20ch; }
}

@media (max-width: 700px) {
  :root {
    --type-display: clamp(42px, 12vw, 58px);
    --type-section: clamp(36px, 10vw, 48px);
    --type-subhead: clamp(26px, 7.2vw, 32px);
    --type-lead: 19px;
    --type-body: 17px;
    --type-label: 16px;
  }

  .theme-thermal .architecture .display { max-width: 12em; }
  .theme-thermal .architecture-note { line-height: 1.72; }
  .theme-thermal .architecture-credentials p { font-size: 16px; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; }
  .theme-thermal .architecture .stack-wrap { width: 100%; }
  .theme-thermal .product-card .cap-title { font-size: 29px; }
  .theme-thermal .product-card--primary .cap-title { font-size: 38px; }
  .theme-thermal .product-card .cap-desc,
  .theme-thermal .product-card--primary .cap-desc { font-size: 17px; }
  .theme-thermal .product-card .cap-meta span { font-size: 15px; }
  .theme-thermal .proof-desc { font-size: 17px; }
  .theme-thermal .proof .section-head .display,
  .theme-thermal .proof-closing-title h3 { font-size: clamp(28px, 8.6vw, 35px); }
  .theme-thermal .proof-principles { display: grid; grid-template-columns: 1fr; }
  .theme-thermal .proof-principles span,
  .theme-thermal .proof-principles span:first-child {
    padding: 15px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(213, 227, 240, 0.14);
  }
  .theme-thermal .proof-closing { margin-top: 64px; padding-top: 40px; gap: 28px; }
  .theme-thermal .proof-lifecycle { grid-template-columns: repeat(3, 1fr); gap: 22px 0; border-top: 0; }
  .theme-thermal .proof-lifecycle span { padding-top: 14px; border-top: 1px solid rgba(112, 212, 255, 0.28); }
}
