/* ============================================================
   机器人整体包装解决方案 —— 工业硬朗风（浅色版）
   独立样式，配合 css/style.css 使用（style.css 负责导航/页脚/i18n）
   配色与全站 VI 统一：深海蓝 #0047A3 + 活力橙 #F58220 + 科技灰 #333333
   ============================================================ */

:root {
  --ind-bg: #FFFFFF;
  --ind-bg-2: #F0F2F5;
  --ind-card: #FFFFFF;
  --ind-card-2: #F6F8FA;
  --ind-line: #E3E8EE;
  --ind-line-strong: #C9D2DC;
  --ind-text: #333333;
  --ind-muted: #7F8C8D;
  --ind-blue: #0047A3;
  --ind-deep: #08306B;
  --ind-orange: #F58220;
}

/* —— Hero Banner —— */
.ind-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  padding: 130px 0;
  background: url('../assets/sol/hero/hero-bg.png') center center / cover no-repeat;
  overflow: hidden;
}
/* 深色蒙版：保证白色文字在背景图上清晰可读 */
.ind-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3,18,40,.56) 0%, rgba(3,18,40,.74) 100%),
    linear-gradient(90deg, rgba(0,40,90,.60) 0%, rgba(0,40,90,.20) 55%, rgba(0,40,90,.50) 100%);
  pointer-events: none;
}
/* 居中版式 */
.ind-hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.ind-hero-text { position: relative; z-index: 1; }
.ind-hero h1 {
  font-size: 64px; font-weight: 900;
  color: #FFFFFF;
  line-height: 1.16;
  letter-spacing: 3px;
  margin: 0 0 24px;
  text-shadow: 0 6px 30px rgba(0,0,0,.42);
}
.ind-hero h1 em {
  font-style: normal;
  color: #FFB347;
}
.ind-hero-sub {
  font-size: 18px; color: rgba(255,255,255,.86);
  letter-spacing: 5px;
  display: flex; align-items: center; justify-content: center; gap: 16px;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
.ind-hero-stat {
  display: flex; gap: 48px;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--ind-line);
}
.ind-hero-stat div { position: relative; }
.ind-hero-stat b {
  display: block;
  font-size: 40px; font-weight: 900; color: var(--ind-blue);
  font-family: 'DIN', 'Inter', sans-serif;
  line-height: 1;
}
.ind-hero-stat span {
  display: block;
  font-size: 12px; color: var(--ind-muted);
  letter-spacing: 2px; margin-top: 8px;
}

/* —— 通用 section —— */
.ind-section {
  padding: 96px 0;
  background: var(--ind-bg);
}
.ind-section--alt {
  background: var(--ind-bg-2);
}
.ind-head {
  margin-bottom: 56px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  border-bottom: 2px solid var(--ind-line);
  padding-bottom: 24px;
}
.ind-head-l { flex: 1; }
.ind-head-no {
  font-family: 'DIN', 'Inter', sans-serif;
  font-size: 64px; font-weight: 900; line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--ind-blue);
  opacity: .35;
  margin-bottom: 8px;
}
.ind-head h2 {
  font-size: 40px; font-weight: 900; color: var(--ind-blue);
  margin: 0 0 12px; letter-spacing: 1px;
}
.ind-head p {
  font-size: 15px; color: var(--ind-muted); line-height: 1.8;
  max-width: 640px; margin: 0;
}
.ind-head-tag {
  flex: 0 0 auto;
  font-size: 12px; font-weight: 700; letter-spacing: 2px;
  color: var(--ind-orange);
  padding: 8px 16px;
  border: 1px solid var(--ind-orange);
  transform: skewX(-8deg);
  white-space: nowrap;
}

/* 子区块（模块内子标题） */
.ind-sub {
  margin-bottom: 60px;
}
.ind-sub:last-child { margin-bottom: 0; }
.ind-sub-title {
  display: flex; align-items: center; gap: 14px;
  font-size: 22px; font-weight: 800; color: var(--ind-blue);
  margin: 0 0 26px;
  letter-spacing: 1px;
}
.ind-sub-title::before {
  content: '';
  width: 8px; height: 26px;
  background: var(--ind-orange);
  transform: skewX(-12deg);
  flex: 0 0 auto;
}
.ind-sub-title span {
  position: relative;
}
.ind-sub-title span::after {
  content: '';
  position: absolute;
  left: 0; bottom: -8px;
  width: 40px; height: 2px;
  background: var(--ind-line-strong);
}

/* —— 模块一：行业痛点 —— */
.ind-pain-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
}
.ind-pain {
  position: relative;
  background: var(--ind-card);
  border: 1px solid var(--ind-line);
  padding: 30px 26px 26px;
  box-shadow: 0 2px 10px rgba(0,71,163,.05);
  transition: transform .25s, border-color .25s, box-shadow .25s;
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
}
.ind-pain::after {
  content: '';
  position: absolute;
  right: 0; top: 0;
  width: 20px; height: 20px;
  background: var(--ind-orange);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.ind-pain:hover {
  transform: translate(-4px, -4px);
  border-color: var(--ind-orange);
  box-shadow: 8px 8px 0 rgba(0,71,163,.10);
}
.ind-pain-no {
  position: absolute;
  right: 20px; top: 6px;
  font-family: 'DIN', 'Inter', sans-serif;
  font-size: 56px; font-weight: 900; line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(0,71,163,.18);
}
.ind-pain-ico {
  width: 52px; height: 52px;
  border: 1px solid var(--ind-line-strong);
  background: var(--ind-card-2);
  color: var(--ind-orange);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.ind-pain-ico svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ind-pain h4 {
  font-size: 18px; font-weight: 800; color: var(--ind-text);
  margin: 0 0 10px;
}
.ind-pain p {
  font-size: 13.5px; color: var(--ind-muted); line-height: 1.75; margin: 0;
}

/* —— 模块二：方法论流程（左列表 + 右对应图切换，重设计版式） —— */
.ind-flow-split {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 48px;
  align-items: stretch;
}
.ind-flow-list {
  list-style: none; padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-self: stretch;
}
.ind-flow-list li {
  flex: 1 1 0;
  display: flex; align-items: center; gap: 22px;
  padding: 18px 22px;
  background: #FFFFFF;
  border: 1px solid var(--ind-line);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s, transform .2s;
}
.ind-flow-list li:hover {
  border-color: var(--ind-blue);
  background: #FAFBFC;
}
.ind-flow-list li.is-active {
  background: linear-gradient(135deg, #EAF1F9 0%, #F4F8FD 100%);
  border-color: var(--ind-blue);
  box-shadow: 0 8px 20px rgba(0,71,163,.10);
}
.ind-flow-list li.is-active .ind-flow-list-no {
  background: var(--ind-orange);
  color: #fff;
}
.ind-flow-list-no {
  font-family: 'DIN', 'Inter', sans-serif;
  font-size: 13px; font-weight: 800; letter-spacing: 2.5px;
  color: var(--ind-orange);
  background: rgba(245,130,32,.12);
  padding: 6px 12px;
  border-radius: 6px;
  flex: 0 0 auto;
  transition: background .2s, color .2s;
}
.ind-flow-list li > div b {
  display: block;
  font-size: 23px; font-weight: 800; color: var(--ind-blue);
  margin-bottom: 6px;
  letter-spacing: -.3px;
  font-family: 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
.ind-flow-list li > div span {
  display: block;
  font-size: 14px; color: var(--ind-muted); line-height: 1.65;
  font-family: 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

/* 右侧对应图展示区 */
.ind-flow-stage {
  position: relative;
  min-height: 480px;
  background: linear-gradient(135deg, #F6F9FD 0%, #EAF1F9 100%);
  border: 1px solid var(--ind-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,71,163,.08);
}
.ind-flow-panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transform: scale(.96);
  transition: opacity .35s ease, visibility .35s ease, transform .35s ease;
}
.ind-flow-panel.is-active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.ind-flow-panel-img {
  background: #FFFFFF;
  border-radius: 12px;
  padding: 18px;
  box-shadow: 0 6px 18px rgba(0,71,163,.06);
}
.ind-flow-panel-img svg {
  width: 100%;
  max-width: 420px;
  height: auto;
  display: block;
}
.ind-flow-panel figcaption {
  text-align: center;
}
.ind-flow-panel figcaption b {
  display: block;
  font-size: 22px; font-weight: 800; color: var(--ind-blue);
  margin-bottom: 4px;
  letter-spacing: -.3px;
}
.ind-flow-panel figcaption span {
  display: block;
  font-size: 13px; color: var(--ind-muted); letter-spacing: 1.5px;
}

/* —— 模块二：价值 —— */
.ind-value-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px;
}
.ind-value {
  background: var(--ind-card);
  border: 1px solid var(--ind-line);
  padding: 28px 20px 24px;
  position: relative;
  box-shadow: 0 2px 10px rgba(0,71,163,.05);
  transition: transform .25s, border-color .25s;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%);
}
.ind-value:hover {
  transform: translateY(-6px);
  border-color: var(--ind-orange);
}
.ind-value-ico {
  width: 46px; height: 46px;
  color: var(--ind-blue);
  margin-bottom: 16px;
}
.ind-value-ico svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ind-value h4 {
  font-size: 17px; font-weight: 800; color: var(--ind-text);
  margin: 0 0 10px;
}
.ind-value p {
  font-size: 12.5px; color: var(--ind-muted); line-height: 1.7; margin: 0;
}

/* —— 模块三：方案设计（分层卡片 + hover 切换图片） —— */
.ind-stack {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 24px 36px;
  background: linear-gradient(180deg, #FAFCFE 0%, #F2F6FA 100%);
  border: 1px solid var(--ind-line);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(0,71,163,.08);
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 32px;
  align-items: stretch;
}
.ind-stack-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ind-card {
  display: flex; align-items: center; gap: 16px;
  background: #fff;
  border: 1px solid var(--ind-line);
  border-radius: 12px;
  padding: 14px 18px;
  cursor: pointer;
  transition: border-color .25s, box-shadow .25s, transform .25s, background .25s;
}
.ind-card:hover, .ind-card.is-active {
  border-color: var(--ind-blue);
  box-shadow: 0 10px 26px rgba(0,71,163,.18);
  transform: translateX(6px);
}
.ind-card-main {
  border: 2px solid var(--ind-blue);
  background: linear-gradient(135deg, #FFFFFF 0%, #F4F8FD 100%);
  box-shadow: 0 8px 22px rgba(0,71,163,.16);
}
.ind-card-main:hover, .ind-card-main.is-active {
  border-color: var(--ind-blue);
  background: linear-gradient(135deg, #F4F8FD 0%, #E6EFFA 100%);
}
.ind-card-swatch {
  position: relative;
  flex: 0 0 48px;
  width: 48px; height: 48px;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
  flex-shrink: 0;
}
.ind-card-swatch svg {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  padding: 8px;
  box-sizing: border-box;
}
.ind-card-txt {
  flex: 1; min-width: 0;
}
.ind-card-txt b {
  display: block;
  font-family: 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 16px; font-weight: 800;
  color: var(--ind-blue);
  line-height: 1.3;
  letter-spacing: -.2px;
}
.ind-card-txt small {
  display: block;
  font-size: 12px;
  color: var(--ind-muted);
  margin-top: 3px;
  letter-spacing: .2px;
}
.ind-card-no {
  font-family: 'DIN Alternate', 'DIN', 'Inter', sans-serif;
  font-size: 22px; font-weight: 800;
  color: var(--ind-orange);
  letter-spacing: 1px;
  flex: 0 0 auto;
}

/* 右侧图片展示区 */
.ind-stack-stage {
  position: relative;
  min-height: 520px;
  background: linear-gradient(135deg, #F6F9FD 0%, #EAF1F9 100%);
  border: 1px solid var(--ind-line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6);
}
.ind-stage-img {
  position: absolute;
  inset: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 36px 36px 60px;
  opacity: 0;
  transform: scale(.96);
  transition: opacity .4s ease, transform .4s ease;
  pointer-events: none;
}
.ind-stage-img.is-active {
  opacity: 1;
  transform: scale(1);
}
.ind-stage-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  filter: drop-shadow(0 8px 18px rgba(0,71,163,.18));
}
.ind-stage-info {
  position: absolute;
  left: 0; right: 0; bottom: 22px;
  text-align: center;
  z-index: 5;
  pointer-events: none;
}
.ind-stage-info h3 {
  font-family: 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 18px; font-weight: 800;
  color: var(--ind-blue);
  margin: 0;
  letter-spacing: -.2px;
}
.ind-stage-info p {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--ind-muted);
  letter-spacing: .3px;
}

/* —— 模块三：发货流程 —— */
.ind-scenes-grid {
  display: grid;
  /* 桌面 6 列单行时间轴，卡间留箭头空间 */
  grid-template-columns: repeat(6, 1fr);
  gap: 36px;
  position: relative;
}
.ind-scene {
  position: relative;
  height: 260px;
  display: flex; align-items: flex-end;
  border: 1px solid var(--ind-line);
  border-radius: 14px;
  overflow: hidden;
  transition: transform .25s, border-color .25s, box-shadow .25s;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
}
.ind-scene:hover {
  transform: translateY(-6px);
  border-color: var(--ind-orange);
  box-shadow: 0 14px 28px rgba(0,71,163,.16);
}
/* 场景图（铺满卡，cover 裁切） */
.ind-scene-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transition: transform .4s ease;
}
.ind-scene:hover .ind-scene-img { transform: scale(1.06); }

/* 大序号（浮在图上方） */
.ind-scene-no {
  position: absolute;
  top: 14px; left: 16px;
  font-family: 'DIN Alternate', 'DIN', 'Inter', sans-serif;
  font-size: 34px; font-weight: 800;
  color: var(--ind-orange);
  letter-spacing: 1px;
  line-height: 1;
  z-index: 2;
  text-shadow: 0 1px 0 rgba(255,255,255,.45), 0 2px 6px rgba(0,0,0,.18);
  transition: color .25s, transform .25s;
}
.ind-scene:hover .ind-scene-no { color: var(--ind-blue); transform: translateY(-2px); }

/* 卡间箭头：除最后一张外全部画一个右向橙色三角 */
.ind-scene::after {
  content: '';
  position: absolute;
  right: -28px; top: 50%;
  transform: translateY(-50%);
  width: 0; height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid var(--ind-orange);
  z-index: 3;
  filter: drop-shadow(0 2px 4px rgba(245,130,32,.30));
  transition: transform .25s;
}
.ind-scene:hover::after { transform: translateY(-50%) translateX(3px); }
.ind-scene:last-child::after { display: none; }

/* 步骤名（浮在卡底部，加渐变蒙板保证可读） */
.ind-scene-label {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  padding: 26px 18px 14px;
  font-size: 15px; font-weight: 800; color: var(--ind-blue);
  background: linear-gradient(180deg, transparent 0%, rgba(255,255,255,.55) 35%, rgba(255,255,255,.97) 100%);
  border-top: 1px solid rgba(255,255,255,.5);
  pointer-events: none;
}
.ind-scene-label::before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 40px; height: 3px; background: var(--ind-orange);
}
/* 6 色渐变背景保留为图加载失败时的 fallback */
.ind-scene-1 { background: linear-gradient(135deg, #DCE7F4, #EFF4FA); }
.ind-scene-2 { background: linear-gradient(135deg, #DDE7E2, #EFF5F1); }
.ind-scene-3 { background: linear-gradient(135deg, #D9E6F2, #EDF3F9); }
.ind-scene-4 { background: linear-gradient(135deg, #F2E4D5, #FAF2E9); }
.ind-scene-5 { background: linear-gradient(135deg, #E0E4DD, #F0F3EE); }
.ind-scene-6 { background: linear-gradient(135deg, #F2DED7, #FAEFEB); }

/* —— 响应式 —— */
@media (max-width: 1080px) {
  .ind-pain-grid { grid-template-columns: repeat(2, 1fr); }
  .ind-flow-split { grid-template-columns: 1fr; gap: 32px; }
  .ind-value-grid { grid-template-columns: repeat(3, 1fr); }
  /* 发货流程：3×2 网格，隐藏横向箭头，靠卡内大序号和上下读图顺序暗示流程 */
  .ind-scenes-grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .ind-scene::after { display: none; }
  .ind-scene { height: 220px; }
  .ind-scene-no { font-size: 30px; }
  .ind-stack { grid-template-columns: 360px 1fr; gap: 24px; }
  .ind-stack-stage { min-height: 460px; }
  .ind-card { padding: 12px 14px; gap: 12px; }
  .ind-card-txt b { font-size: 15px; }
  .ind-card-txt small { font-size: 11.5px; }
  .ind-card-no { font-size: 18px; }
  .ind-card-swatch { flex: 0 0 42px; width: 42px; height: 42px; }
  /* hero：缩小内边距与标题 */
  .ind-hero { padding: 110px 0; min-height: 500px; }
  .ind-hero h1 { font-size: 54px; }
}
@media (max-width: 720px) {
  .ind-hero { padding: 80px 0; min-height: 400px; }
  .ind-hero h1 { font-size: 36px; letter-spacing: 1px; }
  .ind-hero-sub { font-size: 14px; letter-spacing: 2px; }
  .ind-section { padding: 64px 0; }
  .ind-head { flex-direction: column; align-items: flex-start; }
  .ind-head h2 { font-size: 30px; }
  .ind-head-no { font-size: 48px; }
  .ind-pain-grid { grid-template-columns: 1fr; }
  .ind-flow-split { grid-template-columns: 1fr; gap: 28px; }
  .ind-value-grid { grid-template-columns: repeat(2, 1fr); }
  /* 发货流程：2×3 网格 */
  .ind-scenes-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .ind-scene { height: 200px; }
  .ind-scene-no { font-size: 28px; top: 12px; left: 14px; }
  .ind-scene-label { font-size: 14px; padding: 22px 14px 12px; }
  /* 窄屏：单列，列表在上 / 图片在下 */
  .ind-stack {
    padding: 24px 16px 28px;
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .ind-stack-stage { min-height: 340px; }
  .ind-stage-img { padding: 20px 20px 48px; }
  .ind-stage-info h3 { font-size: 16px; }
  .ind-card { padding: 11px 14px; gap: 11px; }
  .ind-card-txt b { font-size: 14.5px; }
  .ind-card-txt small { font-size: 11px; }
  .ind-card-no { font-size: 17px; }
  .ind-card-swatch { flex: 0 0 38px; width: 38px; height: 38px; }
}

/* ============================================================
   算力服务器包装页（compute.html）—— 复用本文件工业方案样式
   仅覆盖 hero 背景图 + 新增 4 列网格 / 无箭头场景网格
   ============================================================ */
.compute-page .ind-hero {
  background-image: url('../assets/sol/compute/hero-bg.png');
}
.lowalt-page .ind-hero {
  background-image: url('../assets/sol/lowaltitude/hero-bg.png');
}
.precision-page .ind-hero {
  background-image: url('../assets/sol/precision/hero-bg.png');
}

/* —— 模块02：方法论流程卡片网格（白卡 + 顶部橙条 + 图 + 序号 + 底部标签）—— */
.ind-steps-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}
.ind-step-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--ind-line);
  border-radius: 12px;
  padding: 14px 14px 0;
  box-shadow: 0 6px 18px rgba(0, 71, 163, .06);
  transition: border-color .25s, box-shadow .25s, transform .25s;
}
/* 顶部橙色装饰条 */
.ind-step-card::before {
  content: '';
  position: absolute; left: 0; top: 0;
  width: 46%; height: 4px;
  background: var(--ind-orange);
  border-radius: 12px 0 3px 0;
}
.ind-step-card:hover {
  border-color: var(--ind-orange);
  box-shadow: 0 14px 30px rgba(0, 71, 163, .14);
  transform: translateY(-4px);
}
.ind-step-img {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(135deg, #F6F9FD, #EAF1F9);
  aspect-ratio: 4 / 3;
}
.ind-step-img img {
  display: block; width: 100%; height: 100%; object-fit: cover;
}
/* 序号压在图片左上角 */
.ind-step-no {
  position: absolute; left: 9px; top: 7px; z-index: 2;
  font-family: 'DIN Alternate', 'DIN', 'Inter', sans-serif;
  font-size: 28px; font-weight: 900; line-height: 1;
  color: var(--ind-orange);
  text-shadow: 0 1px 5px rgba(255, 255, 255, .92), 0 0 12px rgba(255, 255, 255, .8);
}
.ind-step-label {
  margin-top: 12px;
  padding: 12px 2px 14px;
  border-top: 1px solid var(--ind-line);
  text-align: center;
  font-size: 15px; font-weight: 800;
  color: var(--ind-orange);
  letter-spacing: .5px;
  transition: color .25s;
}
.ind-step-card:hover .ind-step-label { color: var(--ind-blue); }

/* 4 列网格（方案价值） */
.ind-pain-grid.ind-grid-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1080px) {
  .ind-pain-grid.ind-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .ind-pain-grid.ind-grid-4 { grid-template-columns: 1fr; }
}

/* 模块02 卡片网格响应式 */
@media (max-width: 1080px) {
  .ind-steps-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .ind-steps-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .ind-step-card { padding: 12px 12px 0; }
  .ind-step-no { font-size: 24px; }
  .ind-step-label { font-size: 14px; padding: 10px 2px 12px; }
}
