/* 全局：rem 布局下避免 padding/border 撑破宽高 */
*, *::before, *::after { box-sizing: border-box; }
/* 针对 Avada 常见的时间元数据进行隐藏 */
.fusion-meta-info, 
.updated, 
.published,
time[property="datePublished"],
.entry-title {
    display: none !important;
}
html,body {margin: 0!important;}
/* 自定义字体：路径相对本 CSS 文件，字体包位于 assets/font */
@font-face {
  font-family: s-regular;
  src: url("../font/MiSans-Regular.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: s-medium;
  src: url("../font/MiSans-Medium.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: s-demibold;
  src:url("../font/MiSans-Demibold.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: s-semibold;
  src: url("../font/MiSans-Semibold.ttf") format("truetype");
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: sd-bold;
  src: url("../font/DIN/DINPro-Bold.otf") format("opentype");
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: sd-bolditalic;
  src: url("../font/DIN/DIN-BlackItalic.otf") format("opentype");
  font-style: normal;
  font-display: swap;
}

/* 根字号与主容器 */
html { font-size: 16px; }
@media screen and (min-width: 981px) and (max-width: 1910px) {
  html { font-size: calc(100vw / 120) !important; }
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal!important;
}
/* section 统一宽度 1440px = 90rem */
.section {
  width: 90rem !important;
  max-width: 90rem !important;
  margin: 0 auto;
  font-family: s-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.flex { display: flex; }
.flex-row { flex-direction: row; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.flex-nowrap { flex-wrap: nowrap; }

.align-start { align-items: flex-start; }
.align-center { align-items: center; }
.align-end { align-items: flex-end; }
.align-stretch { align-items: stretch; }

.justify-start { justify-content: flex-start; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.justify-around { justify-content: space-around; }
.justify-evenly { justify-content: space-evenly; }

.self-start { align-self: flex-start; }
.self-center { align-self: center; }
.self-end { align-self: flex-end; }

.flex-1 { flex: 1; }
.flex-auto { flex: auto; }
.flex-initial { flex: initial; }
.flex-none { flex: none; }
.flex-grow-0 { flex-grow: 0; }
.flex-grow-1 { flex-grow: 1; }
.flex-shrink-0 { flex-shrink: 0; }
.flex-shrink-1 { flex-shrink: 1; }

/* 间距：Flex 子项之间必用，否则只能靠 margin */
.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }
.gap-12 { gap: 3rem; }
.row-gap-4 { row-gap: 1rem; }
.column-gap-4 { column-gap: 1rem; }

/* 防止 Flex 子项溢出：子项默认 min-height: auto 会撑破父级 */
.min-h-0 { min-height: 0; }
.min-w-0 { min-width: 0; }

/* 溢出控制 */
.overflow-hidden { overflow: hidden; }
.overflow-auto { overflow: auto; }
.overflow-visible { overflow: visible; }

.full-height { height: 100%; }
.full-width { width: 100%; }
.relative { position: relative; }
.absolute { position: absolute; }

/* 文本对齐（与 flex 无关但常与布局配合） */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-white { color: #FFFFFF !important; }

/* 字重（语义化字号常需配合） */
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-bold { font-weight: 700; }
/* 字号元数据，写在最上面，可以被其他元素的值覆盖 */
/* 字号（4 的倍数） */
.f-4 { font-size: .25rem; }
.f-8 { font-size: .5rem; }
.f-12 { font-size: .75rem; }
.f-16 { font-size: 1rem; }
.f-20 { font-size: 1.25rem; }
.f-24 { font-size: 1.5rem; }
.f-28 { font-size: 1.75rem; }
.f-32 { font-size: 2rem; }
.f-36 { font-size: 2.25rem; }
.f-40 { font-size: 2.5rem; }
.f-44 { font-size: 2.75rem; }
.f-48 { font-size: 3rem; }
.f-52 { font-size: 3.25rem; }
.f-56 { font-size: 3.5rem; }
.f-60 { font-size: 3.75rem; }
/* 语义化字号类 */
/* 导航一级标题  14 16 17*/
.font-nav-primary { font-size: clamp(
  14px,
  calc(14px + (100vw - 1280px) * 0.00390625),
  15px
);
  line-height: 1.3; }
/* 导航二级标题 13 15 16*/
.font-nav-secondary { font-size: clamp(
  13px,
  calc(13px + (100vw - 1280px) * 0.00390625),
  14px
);line-height: 1.3;  }
/* 导航二级标题 12 14 16*/
.font-nav-third { font-size: clamp(
  12px,
  calc(12px + (100vw - 1280px) * 0.00390625),
  13px
);line-height: 1.3;  }
/* banner一级标题 */
.font-banner-main {
  font-size: 3.125rem!important; /* 50px */
  line-height: 4.125rem!important; /* 66px */
  margin: 0;
  margin-bottom: 1.625rem!important; /* 标题到副标题距离：26px */
  color: #333333;
  font-family: s-demibold, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: normal;
}
/* banner二级标题 */
.font-banner-subtitle {
  font-size: 1.625rem!important; /* 26px */
  line-height: 2.125rem!important; /* 34px */
  margin: 0;
  color: #333333;
  font-family: s-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
  font-weight: normal;
}

/* 顶部固定 Banner
 * 1) 容器高度：700px（rem 体系换算）
 * 2) 内容区域垂直居中：配合 flex 的 align-items:center
 * 3) 让标题/副标题统一复用 .font-banner-main / .font-banner-subtitle
 */
.top-banner {
  width: 100%;
  height: 43.75rem; /* 700px */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 模块标题（全站共用） */
.font-module-title {
  font-size: 2.5rem!important; /* 40px */
  line-height: 3.3125rem!important; /* 53px */
  margin: 0;
  margin-bottom: 1rem!important; /* 标题到副标题距离：16px */
  color: #333333!important;
  font-family: s-demibold, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
}

/* 模块副标题（全站共用） */
.font-module-subtitle {
  font-size: 1.375rem; /* 22px */
  line-height: 1.8125rem; /* 29px */
  margin: 0;
  color: #8B909A;
  font-family: s-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: normal;
}

/* 卡片标题（解决方案/产品等模块共用） */
.font-card-title {
  font-size: 1.5rem; /* 24px */
  line-height: 2rem; /* 32px */
  margin: 0;
  color: #252B3A;
  font-family: s-demibold, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: normal;
}

/* 卡片副标题（解决方案/产品等模块共用） */
.font-card-subtitle {
  font-size: 1rem; /* 16px */
  line-height: 1.375rem; /* 22px */
  margin: 0;
  margin-top: 0.375rem; /* 副标题距离标题：6px */
  color: #607293;
  font-family: s-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: normal;
}

/* 标签（解决方案卡片内共用） */
.ui-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .375rem 1.25rem; /* 3px 6px */
  background: rgba(53, 160, 255, .2);
  border-radius: 1.25rem;
  font-size: 1.125rem; /* 18px */
  line-height: 1.5rem; /* 24px */
  color: #1378F8;
  font-family: s-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: normal;
}

.ui-tag-list {
  display: flex;
  flex-wrap: wrap;
  column-gap: .5rem; /* 标签间距：18px */
  row-gap: 0.625rem; /* 10px */
  margin-top: 0.875rem; /* 14px */
}

/* 小按钮（悬浮时出现“了解更多”） */
.ui-btn-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3125rem 0.5rem; /* 5px 8px */
  background: #2664F5;
  box-shadow: 0.5rem 0.5rem 1.125rem 0 #BDCAE4; /* 8px 8px 18px */
  border-radius: 0.25rem; /* 4px */
  font-size: 0.875rem; /* 14px */
  line-height: 1.25rem; /* 20px */
  color: #FFFFFF;
  font-family: s-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-decoration: none;
  white-space: nowrap;
}

/* “查看更多”链接（解决方案区底部） */
.font-link-more {
  font-size: 1.375rem; /* 22px */
  line-height: 1.8125rem; /* 29px */
  color: #2664F5;
  font-family: s-medium, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: normal;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.font-link-more::after {
  content: '';
  width: 0.625rem; /* 10px */
  height: 0.625rem; /* 10px */
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  display: inline-block;
  /* 对于10x10正方形旋转45度形成右箭头，箭头起点的视觉左边缘距占据宽度的左边界有 5px 的留白。
     因此想要肉眼上距离文字 7px，只需设置 margin-left 为 2px (0.125rem)。 */
  margin-left: 0.125rem;
  /* 去除之前错误的 margin-top: -0.125rem 导致偏上的问题，让 align-items: center 物理居中生效即视觉居中 */
}
.font-link-more:hover {
  text-decoration: underline;
  color: #2664F5; /* 确保悬浮时不改变颜色 */
}
/* 一级标题 */
.font-content-h1 { font-size: 2.5rem;line-height: 1.3; margin-bottom: .75rem; }
/* 一级标题注释文字 */
.font-content-h1-note { font-size: 1.375rem;line-height: 1.3; margin-bottom: 2.25rem; }
/* 二级标题 */
.font-content-h2 { font-size: 1.875rem;line-height: 1.3; margin-bottom: .9375rem; }
/* 三级标题 */
.font-content-h3 { font-size: 1.25rem;line-height: 1.3; margin-bottom: .5rem; }
/* 正文字号 */
.font-content-p { font-size: 1rem;line-height: 1.3; }
/* 底部一级标题 */
.font-footer-primary { font-size: 1rem;line-height: 1.3;  }
/* 底部二级标题 */
.font-footer-secondary { font-size: .9375rem;line-height: 1.3;  }
/* 底部注释文字 */
.font-footer-note { font-size: .8125rem;line-height: 1.3;  }
/* 可根据需要继续扩展 */
/* 适配的分辨率 
    逻辑宽度	推荐根字号计算	对应设备场景
    ≥1920	       \        显示器或等效分辨率
    1536	       \       	FHD 125% 缩放
    1440	       \     	  macOS 常见宽度
    1366	       \     	  老笔记本
    ≤1280	   更紧凑的布局	  小屏办公显示器
*/
/* 容错断点适配（不改变字号，仅做结构调整建议） */
/* 1536px 以下适配 */
@media (min-width: 1536px) {
  /* 可添加更多适配类 */
  .font-nav-primary {
    font-size: clamp(
      15px,
      calc(15px + (100vw - 1536px) * 0.00520833),
      17px
    );
  }
  .font-nav-secondary {
    font-size: clamp(
      14px,
      calc(14px + (100vw - 1536px) * 0.00520833),
      16px
    );
  }
  .font-nav-third {
    font-size: clamp(
      13px,
      calc(13px + (100vw - 1536px) * 0.0078125),
      16px
    );
  }
}
/* 1536px 以下适配 */
@media (max-width: 1536px) {
  /* 可添加更多适配类 */
}

/* 1440px 以下适配 */
@media (max-width: 1440px) {
}

/* 1366px 以下适配 */
@media (max-width: 1366px) {
}

/* 1280px 以下适配 */
@media (max-width: 1280px) {
}

/* =========================================================================
   全局交互动画类 (纯交互，不包含业务样式)
   使用方法：在容器上添加 .ts-animate-stagger-up
   触发机制：当容器自身，或其祖先元素获得 .is-active 或 .swiper-slide-active 时，直接子元素会依次从上到下浮现。
   ========================================================================= */
.ts-animate-stagger-up > * {
  opacity: 0;
  transform: translateY(1.25rem); /* 20px */
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.ts-animate-stagger-up.is-active > *,
.is-active .ts-animate-stagger-up > *,
.swiper-slide-active .ts-animate-stagger-up > * {
  opacity: 1;
  transform: translateY(0);
}

/* 自动为直接子元素分配阶梯延时 (支持最多10个子元素) */
.ts-animate-stagger-up.is-active > *:nth-child(1), .is-active .ts-animate-stagger-up > *:nth-child(1), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(1) { transition-delay: 0.1s; }
.ts-animate-stagger-up.is-active > *:nth-child(2), .is-active .ts-animate-stagger-up > *:nth-child(2), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(2) { transition-delay: 0.2s; }
.ts-animate-stagger-up.is-active > *:nth-child(3), .is-active .ts-animate-stagger-up > *:nth-child(3), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(3) { transition-delay: 0.3s; }
.ts-animate-stagger-up.is-active > *:nth-child(4), .is-active .ts-animate-stagger-up > *:nth-child(4), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(4) { transition-delay: 0.4s; }
.ts-animate-stagger-up.is-active > *:nth-child(5), .is-active .ts-animate-stagger-up > *:nth-child(5), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(5) { transition-delay: 0.5s; }
.ts-animate-stagger-up.is-active > *:nth-child(6), .is-active .ts-animate-stagger-up > *:nth-child(6), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(6) { transition-delay: 0.6s; }
.ts-animate-stagger-up.is-active > *:nth-child(7), .is-active .ts-animate-stagger-up > *:nth-child(7), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(7) { transition-delay: 0.7s; }
.ts-animate-stagger-up.is-active > *:nth-child(8), .is-active .ts-animate-stagger-up > *:nth-child(8), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(8) { transition-delay: 0.8s; }
.ts-animate-stagger-up.is-active > *:nth-child(9), .is-active .ts-animate-stagger-up > *:nth-child(9), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(9) { transition-delay: 0.9s; }
.ts-animate-stagger-up.is-active > *:nth-child(10), .is-active .ts-animate-stagger-up > *:nth-child(10), .swiper-slide-active .ts-animate-stagger-up > *:nth-child(10) { transition-delay: 1.0s; }