/* ============================================================
   OEM/ODM-落地页 (page-oem) — 设计稿 562:2530 + 交互补充 1025:17010
   视频banner + 定制三tab + 优势三步 + 工厂照片轮播 + 服务流程 + 咨询表单
   ============================================================ */

/* ---------- 顶部导航: 透明底白字 (同 行业落地页) ---------- */
body.page-oem .site-header { background: transparent; }
body.page-oem .site-header .navbar > li > a { color: #fff; }
body.page-oem .site-header .navbar > li.active > a { color: #2168E5; }
body.page-oem .site-header .navbar > li > a:hover { color: rgba(255, 255, 255, .75); }
body.page-oem .site-header .vr-pill { border-color: rgba(255, 255, 255, .6); color: #fff; }
body.page-oem .site-header:not(.is-scrolled):not(.dd-open) .icon-btn img { filter: brightness(0) invert(1); }
body.page-oem .site-header:not(.is-scrolled):not(.dd-open) .nav-toggle span { background: #fff; }
body.page-oem .site-header.is-scrolled,
body.page-oem .site-header.dd-open { background: #fff; box-shadow: inset 0 -1px 0 0 #EBEBEB; }
body.page-oem .site-header.is-scrolled .navbar > li > a,
body.page-oem .site-header.dd-open .navbar > li > a { color: #2E3033; }
body.page-oem .site-header.is-scrolled .navbar > li.active > a,
body.page-oem .site-header.dd-open .navbar > li.active > a { color: #2168E5; }
body.page-oem .site-header.is-scrolled .navbar > li > a:hover,
body.page-oem .site-header.dd-open .navbar > li > a:hover { color: #2168E5; }
/* 滚动/下拉白底时 vr-pill 变深色 (否则白字白框在白底不可见) */
body.page-oem .site-header.is-scrolled .vr-pill,
body.page-oem .site-header.dd-open .vr-pill {
  border-color: #5C6066;
  color: #2E3033;
}

/* ============================================================
   区块1: banner (1920×720, 视频背景 + 遮罩 + 标题)
   ============================================================ */
.om-banner {
  position: relative;
  height: 720px;
  overflow: hidden;
  background: #4F4F4F;
}
.om-banner-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-banner-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .4);   /* 设计稿 #000 a0.40 */
}
.om-banner-inner {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.om-banner-title {
  font-size: 48px;
  font-weight: 749;
  line-height: 72px;
  color: #fff;
  text-align: center;
}

/* ============================================================
   区块2: 定制 (背景 oem-bg.png, 左竖向三tab + 内容 + 右上重叠竖图)
   设计稿: 603:3517 (主帧) + 617:3876/630:4372 (交互补充)
   卡 1236×720@(240,929) | tab 220×240×3 无缝堆叠 | 内容 x=540 起
   配图 537×770@(1255,904) 顶右重叠伸出 | 装饰已烘进背景图
   ============================================================ */
.om-custom {
  position: relative;
  background-color: #F5F6FA;
  background-image: url('../images/oem-bg.png?v=173');  /* 1920×1154 板块背景, 含装饰 */
  background-repeat: no-repeat;
  background-size: 100% auto;     /* 顶对齐, 底部透明段自然裁掉 */
  background-position: center top;
  padding: 85px 0 145px;          /* 设计稿 85/145px */
  overflow: hidden;
}
.om-title {
  font-size: 36px;
  font-weight: 749;
  line-height: 40px;
  color: #232426;
  text-align: center;
}
.om-custom .om-title {
  transform: none;                  /* 整体居中, 标题居中 (不再为贴左布局做偏移) */
}
.om-custom-card {
  position: relative;
  display: flex;
  width: 1236px;                  /* 设计稿固定宽 (>1552px 不缩放) */
  max-width: 100%;
  margin: 85px 0 0;               /* 设计稿: 卡片贴主体左缘 (x=240=container内容区左), 产品图溢出主体右缘 112px */
  background: #fff;
  border-radius: 12px;
  min-height: 720px;              /* 设计稿固定高 */
}
/* 左列竖向 tab (220×240 ×3, 无缝填满卡片左侧) */
.om-tabs {
  flex: none;
  width: 220px;
  display: flex;
  flex-direction: column;
}
.om-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;                       /* 图标 88 + 间距 12 + 文字 30 */
  width: 100%;
  height: 240px;
  border: 0;
  background: #F7F8F9;
  color: #2D2F33;
  font-size: 16px;
  font-weight: 513;
  line-height: 30px;
  font-family: inherit;
  cursor: pointer;
  transition: background .3s var(--ease), color .3s var(--ease);
}
.om-tab:first-child { border-radius: 12px 0 0 0; }
.om-tab:last-child { border-radius: 0 0 0 12px; }
.om-tab img {
  width: 88px;
  height: 88px;
  color: #BCC3CC;                 /* 未触发图标默认灰 */
}
.om-tab img.ic-act { display: none; }        /* 触发(高亮)图标默认隐藏 */
.om-tab:hover { color: #2168E5; }
.om-tab:hover img.ic-dflt { display: none; } /* 鼠标悬停 → 切换为高亮图标 */
.om-tab:hover img.ic-act { display: block; }
.om-tab.is-active {
  background: #fff;                /* 与白卡融合 */
  color: #2168E5;
  font-weight: 666;
}
.om-tab.is-active img.ic-dflt { display: none; }  /* 激活 → 常驻高亮图标 */
.om-tab.is-active img.ic-act { display: block; }
/* 右侧面板: 内容 x=540 (tab 右缘 460 + 80), 内容最右 1172 (设计稿) */
.om-panels {
  flex: 1;
  min-width: 0;
  padding: 56px 0 0 80px;
}
.om-panel { display: none; }
.om-panel.is-active { display: block; }
/* 面板内容宽 = 632px (设计稿 x=540→1172, 3×200+2×16 gap) */
.om-panel { max-width: 632px; }
/* 配置选择面板: 内容 2×346+16=708px 较宽, 独立限制 (右缘 540+708=1248 < 图片左缘 1255) */
.om-panel[data-panel="config"] { max-width: 708px; }
.om-panel h3 {
  font-size: 24px;
  font-weight: 666;
  line-height: 40px;
  color: #2D2F33;
}
.om-panel .om-panel-desc {
    margin-top: 12px;
    font-size: 16px;
    font-weight: 513;
    line-height: 28px;
    color: rgb(46 48 51 / 85%);
}
.om-panel-body { margin-top: 32px; }
/* 能力卡: 3列 × 3行, 200×136 间距16 (设计稿 x=540/756/972, y=1125/1277/1429) */
.om-cap-grid {
  display: grid;
  grid-template-columns: repeat(3, 200px);
  gap: 16px;
}
.om-cap-card {
  width: 200px;
  height: 136px;
  background: #F7F8F9;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;                       /* 23+50+10+30+23 = 136 */
}
.om-cap-card img { width: 50px; height: 50px; color: #BCC3CC; }
.om-cap-card span {
  font-size: 16px;
  font-weight: 666;
  line-height: 30px;
color: rgb(46 47 51 / 85%);
}
/* 右侧产品图: 设计稿 Rectangle132 @(1255,904) 537×770 — 相对卡片百分比定位, 任何宽度等比不变
   卡片 240,929 1236×720 → 图 left 82.12% top -3.47% 宽 43.45% 高 106.94% */
.om-panel-img {
  position: absolute;
  left: 82.12%;
  top: -3.47%;
  width: 43.45%;
  aspect-ratio: 537 / 770;
  z-index: 1;
}
.om-panel-img::before {             /* 斜边灰板: 设计稿 Rectangle133 @(1329,939) 489×700, 相对图片(1255,904 537×770) */
  content: '';
  position: absolute;
  left: 13.78%;                     /* (1329-1255)/537 */
  top: 4.55%;                       /* (939-904)/770 */
  width: 91.06%;                    /* 489/537 */
  height: 90.91%;                   /* 700/770 */
  background: url('../img/oem-tubg.png') no-repeat center / 100% 100%;  /* 732×1050 斜边灰板 */
  z-index: -1;
}
.om-title span.om-hl {
    color: #2168E5;
}
.ft-flow-img-wrap {
  margin-top: 64px;
}
.om-panel-img img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;             /* 设计稿照片 r12 */
}
/* 切换方向动画: 鼠标向下 → 从右侧滑入; 向上 → 从左侧滑入 */
@keyframes om-slide-r {
  from { transform: translateX(150px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}
@keyframes om-slide-l {
  from { transform: translateX(-150px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}
.om-slide-r { animation: om-slide-r .5s cubic-bezier(.22, .61, .36, 1) both; }
.om-slide-l { animation: om-slide-l .5s cubic-bezier(.22, .61, .36, 1) both; }
/* 配置选择: 2×2 卡 346×160, 间距16 (设计稿 540/902 × 1559/1735)
   列随面板自适应, 不越过右侧产品图 */
.om-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 100%;
}
.om-config-group {
  position: relative;
  width: auto;
  max-width: 346px;
  height: 160px;
  background: #F7F8F9;
  border-radius: 8px;
  padding: 20px 0 0 20px;
  overflow: hidden;
}
.om-config-icon {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 132px;
    height: 132px;
    pointer-events: none;
    opacity: .1;
    z-index: 0;
}
.om-config-group h4 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 666;
  line-height: 30px;
  color: #2D2F33;
}
.om-config-group h4 i {             /* 蓝条 4×20 r10 (设计稿 Rectangle 138) */
  flex: none;
  width: 4px;
  height: 20px;
  border-radius: 10px;
  background: #2168E5;
}
.om-config-group ul {
  list-style: none;
  margin-top: 20px;                 /* 标题底 30+20 = 行1 y=50 */
  padding: 0;
  display: flex;
  flex-wrap: wrap;
   gap: 10px 20px;
}
.om-config-group li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 513;
  line-height: 28px;
  color: hsl(216deg 5% 19% / 85%);
}
.om-config-group li::before {       /* 对号圆 20×20 */
  content: '';
  flex: none;
  width: 20px;
  height: 20px;
  background: url('../img/icon-check-circle.svg') center / contain no-repeat;
}
/* 个性定制: 安装方式 (设计稿 617:3875, 蓝条+两行对勾) */
.om-install {
  margin-top: 24px;                 /* 网格底 689 → 安装 713 */
  width: max-content;
}
.om-install h4 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 666;
  line-height: 30px;
  color: #2D2F33;
}
.om-install h4 i {
  flex: none;
  width: 4px;
  height: 20px;
  border-radius: 10px;
  background: #2168E5;
}
.om-install ul {
  list-style: none;
  margin-top: 16px;
  padding: 0;
}
.om-install li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 513;
  line-height: 28px;
  color: #2E3033;
}
.om-install li + li { margin-top: 12px; }
.om-install li::before {
  content: '';
  flex: none;
  width: 20px;
  height: 20px;
  background: url('../img/icon-check-circle.svg') center / contain no-repeat;
}
/* 卡内提示 (设计稿 540,1597 → 卡底-32) */
.om-custom-note {
  position: absolute;
  left: 300px;
  bottom: 32px;
  z-index: 2;
  font-size: 14px;
  font-weight: 513;
  line-height: 20px;
   color: rgb(34 35 37 / 50%);
}

/* ============================================================
   区块3: 优势 (三步切换, Swiper 轮播 + 转圈进度条)
   设计稿 689:5583/693:5636/689:5587: 三板块(源头工厂/自主研发/认证齐全)
   每板块 = 配图 1440×660 + 条 #F5F6FA 1440×284 (左 32px 文案)
   步骤 = 40px 圆环进度(激活转圈填充) + 16px 标签, 定位于条右侧
   ============================================================ */
.om-advantage { padding: 100px 0 100px; }   /* 底部 100 间距 → 工厂照片 2938 */
.om-advantage .container { position: relative; }
.om-adv-swiper { overflow: hidden; }
.om-adv-slide {
  display: flex;
  flex-direction: column;
}
.om-adv-media {
  aspect-ratio: 1440 / 660;
  overflow: hidden;
  background: #000;
}
.om-adv-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-adv-bar {
  display: flex;
  align-items: flex-end;
  background: #F5F6FA;
  padding: 48px 380px 56px 56px;   /* 右侧留位给步骤圆环 (设计稿 1336..1624) */
}
.om-adv-text h3,
.om-adv-text p {
  font-family: 'Dream Han Sans CN', 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;  /* 设计稿 Dream Han Sans CN */
  font-size: 32px;
  line-height: 60px;
  color: #232426;
}
.om-adv-text h3 { font-weight: 749; }
.om-adv-text p { font-weight: 749; max-width: 792px; }   /* 设计稿整块 W22 */
.om-adv-text .om-hl { color: #2168E5; }                  /* 设计稿数字/认证项蓝色高亮 */
/* 切换时文字淡入淡出: 滑出者立即淡出, 滑入者随图片同步淡入(短延迟0.1s),
   滑动过程中文字始终可见, 到位时已基本完全显示 */
.om-adv-slide:not(.swiper-slide-active) .om-adv-text { opacity: 0; transition: opacity .4s ease; }
.om-adv-slide.swiper-slide-active .om-adv-text { opacity: 1; transition: opacity .5s ease .1s; }
/* 步骤: 绝对定位于条右侧 (设计稿 内容右缘1680 - 56 = 1624) */
.om-steps {
  position: absolute;
  right: 80px;                    /* 56 + 容器 24px 内边距 */
  bottom: 56px;
  z-index: 5;
  display: flex;
  gap: 48px;
}
.om-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: max-content;
  padding: 0;
  border: 0;
  background: none;
  font-size: 16px;
  font-weight: 513;
  line-height: 28px;
  color: #2E3033;                  /* 设计稿 Dream Han Sans CN-W13 #2E3033 */
  font-family: 'Dream Han Sans CN', 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  cursor: pointer;
  transition: color .3s var(--ease);
}
/* 转圈进度环: 40×40, r17, 周长 106.81 */
.om-ring {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
}
.om-ring svg {
  display: block;
  width: 40px;
  height: 40px;
  transform: rotate(-90deg);       /* 从顶部开始 */
}
.om-ring-bg {
  fill: none;
  stroke: #D9DEE6;
  stroke-width: 2.5;
}
.om-ring-fg {
  fill: none;
  stroke: #2168E5;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 106.81;
  stroke-dashoffset: 106.81;       /* 0% 进度 */
}
.om-step i {                        /* 中心圆点 */
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #C0C5CC;
  transition: background .3s var(--ease);
}
.om-step:hover { color: #2E3033; }
.om-step.is-active { color: #2E3033; font-weight: 666; }
.om-step.is-active i { background: #2168E5; }

/* ============================================================
   区块4: 工厂照片轮播 (Swiper, 全宽大图)
   ============================================================ */
.om-gallery {
  position: relative;
  overflow: hidden;
  background: #777777;
}
.om-gallery-swiper { position: relative; }
.om-gallery-slide { position: relative; aspect-ratio: 1920 / 900; overflow: hidden; }
.om-gallery-slide > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-gallery-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .3) 0%, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .35) 100%);
  pointer-events: none;
}
.om-gallery-cap {
  position: absolute;
  left: 240px;
  top: 100px;
  right: 420px;                    /* 给右上角页码留位: 长标题不会压到 "04 / 04" */
  z-index: 2;
}
.om-gallery-cap b {
  display: block;
  font-size: 36px;
  font-weight: 749;
  line-height: 40px;
  color: #fff;
}
.om-gallery-cap i {
  display: block;
  margin-top: 12px;
  font-style: normal;
  font-size: 18px;
  font-weight: 513;
  line-height: 26px;
  color: #fff;
}
.om-gallery-no {
  position: absolute;
  right: 240px;
  top: 100px;
  z-index: 2;
  display: flex;
  align-items: baseline;
}
.om-gallery-no b {
  font-family: var(--font-num);
  font-size: 64px;
  font-weight: 700;
  line-height: 64px;
  color: #fff;
}
.om-gallery-no i {
  font-style: normal;
  font-size: 20px;
  font-weight: 300;
  line-height: 24px;
  color: rgba(255, 255, 255, .65);
  margin-left: 8px;
}
.om-gallery-ctrl {
  position: absolute;
  left: 168px;
  right: 168px;
  bottom: 88px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 40px;
}
.om-gallery-ctrl .om-arrow {
  flex: none;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #000;               /* 设计稿 Rectangle 7 #000000 圆 */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity .3s var(--ease);
}
.om-gallery-ctrl .om-arrow:hover { opacity: .8; }
.om-gallery-ctrl .om-arrow.swiper-button-disabled { opacity: .4; cursor: default; }
.om-gallery-ctrl .om-arrow svg { width: 21px; height: 21px; }
.om-progress {
  flex: 1;
  height: 3px;
  background: rgba(255, 255, 255, .16);
  border-radius: 2px;
  overflow: hidden;
}
.om-progress i {
  display: block;
  width: 25%;
  height: 100%;
  background: #fff;
  transition: width .4s var(--ease);
}

/* ============================================================
   区块5: 服务流程 (12 步蛇形, 同行业落地页)
   ============================================================ */
.om-flow {
  background: #fff;
  padding: 80px 0 120px;
}
.om-flow-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);   /* 原固定 336px, 900-1440 溢出容器; 1fr 随宽度收缩 */
  grid-template-rows: 300px 104px 300px 104px 300px;
  column-gap: 32px;               /* 设计稿 336 + 32 */
  row-gap: 20px;
  max-width: 1440px;
  margin: 64px auto 0;             /* 标题底 3958 → 网格 4022 */
}
.om-flow-card {
  position: relative;
  background: #F3F5F9;
  border-radius: 12px;
  overflow: hidden;
}
.fc-1, .fc-2, .fc-3, .fc-4 { grid-row: 1; }
.fc-5, .fc-6, .fc-7, .fc-8 { grid-row: 3; }
.fc-9, .fc-10, .fc-11, .fc-12 { grid-row: 5; }
.fc-1, .fc-9  { grid-column: 1; }
.fc-2, .fc-10 { grid-column: 2; }
.fc-3, .fc-11 { grid-column: 3; }
.fc-4, .fc-12 { grid-column: 4; }
.fc-5 { grid-column: 4; }
.fc-6 { grid-column: 3; }
.fc-7 { grid-column: 2; }
.fc-8 { grid-column: 1; }
.om-flow-img { height: 244px; overflow: hidden; }
.om-flow-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.om-flow-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 56px;
  padding: 0 24px;
  background: #898989;            /* 设计稿 Rectangle 151 #898989 */
}
.om-flow-bar span { font-size: 20px; font-weight: 666; color: #fff; }
.om-flow-bar b {
  font-family: var(--font-num);
  font-size: 56px;
  font-weight: 500;
  line-height: 56px;
  color: #fff;
}
.om-flow-link { position: relative; }
.fl-1 { grid-column: 1 / -1; grid-row: 2; }
.fl-2 { grid-column: 1 / -1; grid-row: 4; }
.fl-line {
  position: absolute;
  left: 40px;
  right: 40px;
  top: 12px;
  height: 80px;
  border: 1px solid #B6C3D7;      /* 设计稿 Rectangle 153 描边 #B6C3D7 */
  border-radius: 40px;
}
.fl-arrow {
  position: absolute;
  left: 0;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  color: #6094EF;
}
.fl-arrow--l { transform: scaleX(-1); }
.fl-arrow--r:nth-of-type(1), .fl-arrow--l:nth-of-type(1) { left: 10.8%; }
.fl-arrow--r:nth-of-type(2), .fl-arrow--l:nth-of-type(2) { left: 36.4%; }
.fl-arrow--r:nth-of-type(3), .fl-arrow--l:nth-of-type(3) { left: 61.9%; }
.fl-arrow--r:nth-of-type(4), .fl-arrow--l:nth-of-type(4) { left: 87.5%; }
.fl-arrow--top { top: 0; }
.fl-arrow--bot { top: 77%; }

/* ============================================================
   区块6: 留言咨询 (完全复制 solutions-detail 的 .sd-consult 样式)
   ============================================================ */
.sd-consult {
  position: relative;
  overflow: hidden;
}
.sd-consult-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.sd-consult-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sd-consult-bg .mask {
  position: absolute;
  inset: 0;
  z-index: 1;                              /* 确保盖在背景图之上 */
  background: rgba(41, 55, 82, .5);        /* 设计稿 #293752 a0.50 */
}
.sd-consult-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;      /* 剩余空间左右均分 → 左侧文字与右侧留白对称 */
  gap: 80px;
  padding: 100px 0;
  height: 1066px;
}
.sd-consult-text {
  flex: 1;
  min-width: 0;
  max-width: 615px;
  color: #fff;
  margin-left: auto;            /* 与 form 的 margin-right:auto 均分剩余空间 */
}
.sd-consult-text h3 {
  font-size: 40px;
  font-weight: 666;
  line-height: 56px;
}
.sd-consult-text p {
  margin-top: 24px;
  font-size: 22px;
  font-weight: 513;
  line-height: 38px;
  color: rgba(255, 255, 255, .85);
}
.sd-consult-list { margin-top: 48px; list-style: none; padding: 0; }
.sd-consult-list li {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 24px;
  font-weight: 666;
  line-height: 36px;
}
.sd-consult-list li + li { margin-top: 36px; }
.sd-consult-list img { width: 36px; height: 36px; flex: none; }
.sd-consult-form {
  flex: none;
  width: 752px;
  max-width: 100%;
  background: #fff;
  border-radius: 12px;
  padding: 56px 64px;
  margin-right: auto;           /* 与 text 的 margin-left:auto 均分剩余空间 */
}
.sd-consult-form h4 {
  margin-bottom: 48px;
  font-size: 30px;
  font-weight: 666;
  line-height: 42px;
  color: #2E3033;
  text-align: center;
}
.sd-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 24px;
}
.sd-field input,
.sd-field select,
.sd-field textarea {
  width: 100%;
  border: 0;
  outline: 0;
  background: #F2F3F5;
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 16px;
  font-weight: 513;
  font-family: inherit;
  color: #2E3033;
}
.sd-field input, .sd-field select { height: 48px; }
.sd-field select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url('../img/icon-arrow-down.svg');
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  color: rgba(46, 48, 51, .85);
}
.sd-field textarea { height: 120px; resize: none; }
.sd-field--full { grid-column: 1 / -1; }
.sd-form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  font-size: 13px;
  font-weight: 513;
  line-height: 20px;
  color: #2E3033;
  cursor: pointer;
}
/* CF7 acceptance 嵌套结构: 让 checkbox 与文字同线对齐 */
.sd-form-check .wpcf7-form-control-wrap,
.sd-form-check .wpcf7-acceptance,
.sd-form-check .wpcf7-list-item,
.sd-form-check .wpcf7-list-item > label {
  display: flex;
  align-items: center;
}
.sd-form-check .wpcf7-list-item { margin: 0; }
.sd-form-check .wpcf7-list-item > label { gap: 8px; }
.sd-form-check input { width: 18px; height: 18px; accent-color: #2168E5; flex: none; }
/* 隐私保护条款: 可点击蓝色链接 */
.sd-privacy-link {
  color: #2168E5;
  text-underline-offset: 3px;
  transition: color .3s var(--ease);
}
.sd-privacy-link:hover { color: #1a56c4; }
.sd-form-submit {
  display: block;
  margin: 24px auto 0;
  width: 216px;
  height: 56px;
  border: 0;
  border-radius: 6px;
  background: #2168E5;
  color: #fff;
  font-size: 18px;
  font-weight: 666;
  font-family: inherit;
  cursor: pointer;
  transition: background .3s var(--ease);
}
.sd-form-submit:hover { background: #1a56c4; }

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 1664px) {
  /* ≤1664px: 卡片等比缩放 + 整体居中 (卡片+图作为一个整体, 补偿图伸出量 16.46vw 的一半) */
  .om-custom-card {
    width: 64.375vw;
    min-height: 37.5vw;
    margin: 4.43vw auto 0;
    transform: translateX(-8.23vw);
  }
  .om-tabs { width: 11.458vw; }
  .om-tab { height: 12.5vw; gap: 0.625vw; font-size: 1.042vw; line-height: 1.563vw; }
  .om-tab img { width: 4.583vw; height: 4.583vw; }
  .om-panels { padding: 2.917vw 0 0 4.167vw; }
  .om-panel { max-width: 32.92vw; }
  .om-panel[data-panel="config"] { max-width: 36.875vw; }
  .om-panel h3 { font-size: 1.25vw; line-height: 2.083vw; }
  .om-panel .om-panel-desc { margin-top: 0.625vw; font-size: 0.833vw; line-height: 1.458vw; }
  .om-panel-body { margin-top: 1.667vw; }
  .om-cap-grid { grid-template-columns: repeat(3, 10.417vw); gap: 0.833vw; }
  .om-cap-card { width: 10.417vw; height: 7.083vw; gap: 0.52vw; }
  .om-cap-card img { width: 2.604vw; height: 2.604vw; }
  .om-cap-card span { font-size: 0.833vw; line-height: 1.563vw; }
  /* 配置选择: 2×2 卡等比 (设计稿 346×160 两列 + 图标 132) */
  .om-config-grid { grid-template-columns: repeat(2, 18.02vw); gap: 0.833vw; }
  .om-config-group { max-width: none; width: 18.02vw; height: 8.333vw; padding: 1.042vw 0 0 1.042vw; }
  .om-config-group h4 { gap: 0.521vw; font-size: 1.042vw; line-height: 1.563vw; }
  .om-config-group h4 i { width: 0.208vw; height: 1.042vw; }
  .om-config-group ul { margin-top: 1.042vw; gap: 0.521vw 1.042vw; }
  .om-config-group li { gap: 0.417vw; font-size: 0.833vw; line-height: 1.458vw; }
  .om-config-group li::before { width: 1.042vw; height: 1.042vw; }
  .om-config-icon { width: 6.875vw; height: 6.875vw; }
  /* 卡内提示: 相对卡片等比 (设计稿 300/32 @1920, 与面板内容左缘 15.625vw 对齐) */
  .om-custom-note { left: 15.625vw; bottom: 1.667vw; }
}
@media (max-width: 1440px) {
  .om-banner { height: 640px; }
  /* 定制板块: 默认规则已是 vw 等比 + 卡片居中 + 产品图百分比相对卡片, 全宽度自洽, 无需覆盖 */
}
@media (max-width: 1100px) {
      .ft-flow-img-wrap {
        margin-top: 48px;
    }
  /* 能力卡: 3列 1fr 撑满面板, 卡宽自适应 (图标/文字回固定 px) */
  .om-cap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .om-cap-card { width: auto; height: 136px; gap: 10px; }
  .om-cap-card img { width: 50px; height: 50px; }
  .om-cap-card span { font-size: 16px; line-height: 30px; }
  /* 配置选择: 由 vw 等比切回流式, 组撑满列 + 行等高 */
  .om-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; grid-auto-rows: 1fr; }
  .om-config-group { max-width: none; width: auto; height: auto; min-height: 160px; padding: 20px; }
  .om-config-group h4 { gap: 10px; font-size: 20px; line-height: 30px; }
  .om-config-group h4 i { width: 4px; height: 20px; }
  .om-config-group ul { margin-top: 20px; gap: 10px 20px; }
  .om-config-group li { gap: 8px; font-size: 16px; line-height: 28px; }
  .om-config-group li::before { width: 20px; height: 20px; }
  .om-config-icon { width: 132px; height: 132px; }
  .om-banner { height: 560px; }
  .om-banner-title { font-size: 40px; line-height: 56px; }
  .om-custom, .om-flow { padding: 64px 0 80px; }
  .om-custom .om-title { transform: none; }   /* 小屏去除固定偏移, 保持居中 */
  .om-custom-card { flex-direction: column; width: 100%; transform: none; }
  .om-tabs { width: 100%; flex-direction: row; }
  .om-tab { height: 120px; font-size: 20px; line-height: 30px; gap: 12px; }
  .om-tab img { width: 56px; height: 56px; }
  .om-panels { padding: 32px 24px; }
  .om-panel { max-width: none; }
  .om-panel[data-panel="config"] { max-width: none; }
  /* 面板标题/描述/间距: 由 vw 等比回写固定 px (设计稿 24/16/32) */
  .om-panel h3 { font-size: 24px; line-height: 40px; }
  .om-panel .om-panel-desc { margin-top: 12px; font-size: 16px; line-height: 28px; }
  .om-panel-body { margin-top: 32px; }
  /* 安装方式: 取消固定 298px, 随面板自适应 */
  .om-install { width: auto; }
  .om-panel-img {
    position: relative;
    left: auto;
    top: auto;
    width: min(480px, 100%);
    margin: 40px auto 0;
            display: none;
  }
  .om-panel-img::before { display: none; }  .om-custom-note { position: static;         margin: 0 24px 24px;}
  .om-adv-bar { flex-direction: column; align-items: flex-start; padding-right: 56px; }
  .om-adv-text h3 { font-size: 28px; line-height: 44px; }
  .om-adv-text p { font-size: 24px; line-height: 40px; }
    .om-steps {
        position: static;
        margin-top: 32px;
        margin: 60px auto 0;
        justify-content: center;
    }
  .om-adv-slide .om-adv-text,
  .om-adv-slide:not(.swiper-slide-active) .om-adv-text,
  .om-adv-slide.swiper-slide-active .om-adv-text { opacity: 1; transition: none; animation: none; }  /* 淡入淡出仅 PC 端 */
  .om-gallery-cap { left: 96px; right: 300px; }
  .om-gallery-no { right: 96px; }
  .om-gallery-ctrl { left: 60px; right: 60px; }
  .om-flow-grid { grid-template-rows: 260px 88px 260px 88px 260px; }
  .om-flow-img { height: 204px; }
  .sd-consult-inner { flex-direction: column; align-items: flex-start; gap: 48px; padding: 100px 24px; height: auto; }
  .sd-consult-text { max-width: none; margin-left: 0; }
  .sd-consult-form { width: 100%; margin-right: 0; }
  .sd-consult-text { max-width: none; }
  .sd-consult-form { width: 100%; }
}
@media (max-width: 900px) {
      .ft-flow-img-wrap {
        margin-top: 40px;
    }
  .om-banner { height: 480px; }
  .om-banner-title { font-size: 34px; line-height: 48px; }
  .om-title { font-size: 28px; line-height: 36px; }
  .om-custom .om-title { transform: none; }
  .om-steps { gap: 24px;        font-size: 18px; }
  .om-flow-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: none; }
  .om-flow-card { grid-row: auto !important; }
  .fc-1, .fc-2, .fc-3, .fc-4, .fc-5, .fc-6, .fc-7, .fc-8, .fc-9, .fc-10, .fc-11, .fc-12 { grid-column: auto; }
  .om-flow-link { display: none; }
  .om-gallery-slide { aspect-ratio: 16 / 9; }
  /* 留言表单: 中屏收窄内边距, 网格单列 (相对尺寸) */
  .sd-consult-form { padding: 40px 28px; }
  .sd-form-grid { grid-template-columns: 1fr; }
  .sd-form-submit { width: 100%; }
}
@media (max-width: 767px) {
      .ft-flow-img-wrap {
        margin-top: 32px;
    }
      .om-custom-note {
        position: static;
        margin: 0 10px 24px;      /* 左 10px 与面板内容对齐 (卡片 padding 16 + panels 10) */
    }
    .om-panels { padding: 32px 10px; }
  .om-banner { height: 420px; }
  .om-tab:last-child {
    border-radius: 0 12px 0 0;
}
.om-cap-card img {
    width: 36px;
    height: 36px;
    color: #BCC3CC;
}
.om-cap-card span {
    font-size: 12px;   /* 客户指定: 14 → 12px */
    line-height: 1.5;
}
  .om-banner-title { font-size: 28px; line-height: 42px; padding: 0 20px; }
  .om-custom, .om-flow { padding: 56px 0 72px; }
  .om-title { font-size: 28px; line-height: 36px; }
  .om-custom .om-title { transform: none; }
  .om-custom-card { padding: 8px; min-height: 0; margin-top: 40px; }   /* 客户指定: 内边距 16 → 8px */
  /* 标签: 改回纵向列表(与桌面设计一致), 每个标签内"图标在左、文字在右"。
     原 3 列并排时每格仅约 105-119px, 英文标签宽度不够会溢出压到相邻标签 */
  .om-tabs { width: 100%; flex-direction: column; }
  .om-tab { flex-direction: row; justify-content: flex-start; gap: 12px;
            height: 64px; padding: 0 18px; font-size: 18px; line-height: 26px; text-align: left; }   /* 客户要求: 文字 16 → 18px */
  .om-tab img { width: 40px; height: 40px; }   /* 客户要求: 图标 30 → 40px */
  .om-tab:first-child { border-radius: 12px 12px 0 0; }
  .om-tab:last-child { border-radius: 0 0 12px 12px; }
  .om-panel h3 { font-size: 20px; line-height: 30px; }
  .om-panel .om-panel-desc { font-size: 15px; line-height: 26px; }
  /* 能力卡: 2 列 (原 3 列每格仅 86px, 英文标签 "Housing Color"/"Power-on Logo" 等会溢出格子) */
  .om-cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.om-cap-card {
        min-height: 96px;
        height: auto;
    }
  .om-config-grid { grid-template-columns: 1fr; }
  .om-panel-img { display: none; }   /* 移动端隐藏配图, 只显示内容 */
  .om-advantage { padding: 56px 0 56px; }
  /* 优势文案: 字号收小 + 文字块固定最小高度
     —— 原 18px/36px、18px/30px 太大, 三屏文字块高 162/162/96 不一致, 切换时条框在跳 */
  .om-adv-text { min-height: 96px; }
  .om-adv-text h3 { font-size: 16px; line-height: 24px; }
  .om-adv-text p { font-size: 14px; line-height: 22px; }
  .om-adv-bar { padding: 24px; }
  /* 移动端轮播文字/按钮/进度条缩小优化 */
  /* 标题右侧留出页码位 (原无约束: 标题会压到右上角 "04 / 04" 上) */
  .om-gallery-cap { left: 20px; top: 24px; right: 84px; }
  .om-gallery-cap b { font-size: 20px; line-height: 28px; }
  .om-gallery-cap i { margin-top: 4px; font-size: 12px; line-height: 18px; }
  .om-gallery-no { right: 20px; top: 26px; }
  .om-gallery-no b { font-size: 22px; line-height: 26px; }
  .om-gallery-no i { font-size: 13px; line-height: 18px; margin-left: 4px; }
  .om-gallery-ctrl { left: 20px; right: 20px; bottom: 24px; gap: 16px; }
  .om-gallery-ctrl .om-arrow { width: 36px; height: 36px; }
  .om-gallery-ctrl .om-arrow svg { width: 16px; height: 16px; }
  .om-progress { height: 2px; }
  .om-flow { padding: 56px 0 72px; }
  .om-flow-grid { grid-template-columns: 1fr; row-gap: 20px; }
  .om-flow-img { height: 200px; }
  .sd-consult-inner { padding: 64px 24px; }
  .sd-consult-text h3 { font-size: 28px; line-height: 42px; }
  .sd-consult-text p { font-size: 18px; line-height: 30px; }
  .sd-consult-list li { font-size: 18px; line-height: 28px; }
  .sd-consult-list li + li { margin-top: 24px; }
  .sd-consult-list img { width: 28px; height: 28px; }
  .sd-consult-form { padding: 40px 24px; }
  .sd-form-grid { grid-template-columns: 1fr; }
  .sd-form-check { flex-wrap: wrap; line-height: 20px; }   /* 换行不压行高, 避免裁切 */
}
@media (max-width: 400px) {
  .om-banner { height: 360px; }
  .om-banner-title { font-size: 24px; line-height: 36px; }
  .om-tab { height: 60px; padding: 0 14px; font-size: 18px; }
  .om-tab img { width: 40px; height: 40px; }   /* 客户要求: 图标 26 → 40px */
  .om-cap-card span { font-size: 12px;   /* 客户指定: 14 → 12px */ }
  .om-config-group li { font-size: 14px; }
  .om-steps { gap: 16px; }
  .om-step { font-size: 14px; }
  .om-adv-bar { padding: 20px 16px; }
  .sd-consult-inner { padding: 48px 24px; }
  .sd-consult-text h3 { font-size: 28px; line-height: 36px; }
  .sd-consult-text p { font-size: 16px; line-height: 28px; }
  .sd-consult-list li { font-size: 16px; line-height: 24px; }
  .sd-consult-form { padding: 32px 16px; }
  .sd-consult-form h4 { margin-bottom: 32px; }
  .sd-form-submit { width: 100%; }
}

/* ============ 服务流程配图: PC / 移动端各一张 (后台留空自动回退) ============
   注意: 必须带 .ft-flow-img-wrap 前缀, 否则会被上方 .ft-flow-img-wrap img 的规则覆盖 */
.ft-flow-img-wrap .ft-flow-img-mobile { display: none; }

@media (max-width: 767px) {
  .ft-flow-img-wrap .ft-flow-img-pc { display: none; }
  .ft-flow-img-wrap .ft-flow-img-mobile { display: block; }
}
