/* ============================================================
   style.css - 内蒙华宝固危废环境治理有限公司 官网首页
   设计稿: 1903px 宽桌面端，移动优先响应式实现
   基准: 1rem = 10px (html font-size: 62.5%)
   颜色: 主绿色 #00a651 | 深色文字 #1e2939 | 次要文字 #4a5565
   ============================================================ */

/* ==================== CSS 自定义属性 ==================== */
:root {
  /* 主色 */
  --color-primary: #00a651;
  --color-primary-dark: #007a3d;

  /* 文字颜色 */
  --color-heading: #1e2939;
  --color-text: #4a5565;
  --color-text-light: #6a7282;
  --color-text-meta: #364153;

  /* 边框/分隔线 */
  --color-border: #e5e7eb;
  --color-divider: #d1d5dc;

  /* 阴影 */
  --shadow-card: 0px 10px 15px -3px rgba(0,0,0,0.1), 0px 4px 6px -4px rgba(0,0,0,0.1);
  --shadow-btn: 0px 10px 15px 0px rgba(0,0,0,0.1), 0px 4px 6px 0px rgba(0,0,0,0.1);
  --shadow-hero-text: 0px 4px 8px 0px rgba(0,0,0,0.15);
  --shadow-intro-img: 0px 25px 50px -12px rgba(0,0,0,0.25);
  --shadow-news-card: 0px 4px 6px 0px rgba(0,0,0,0.1), 0px 2px 4px 0px rgba(0,0,0,0.1);
  --shadow-news-img: 0px 20px 25px -5px rgba(0,0,0,0.1), 0px 8px 10px -6px rgba(0,0,0,0.1);

  /* 圆角 */
  --radius-card: 14px;
  --radius-btn: 10px;
  --radius-dot: 50%;

  /* 布局 */
  --container-max: 1536px;
  /* 导航栏高度 97px */
  --nav-height: 97px;
}

/* ==================== 重置与基础 ==================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  /* 1rem = 10px 方便计算 */
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  font-size: 1.6rem;
  color: var(--color-text);
  background: #fff;
  /* 防止布局偏移 CLS=0 */
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
  /* 防止图片拉伸 */
  height: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

ul, ol {
  list-style: none;
}

/* ==================== 通用容器 ==================== */
/* 内容宽度 1536px (1903 - 2×183.5px), 居中对齐 */
.section-container {
  max-width: var(--container-max);
  width: 100%;
  margin: 0 auto;
  padding: 0 1.6rem;
}

/* ==================== 通用区块标题组件 ==================== */
/* 各 section 标题高度约 84-124px, 居中对齐 */
.section-header {
  text-align: center;
  margin-bottom: 4rem;
}

/* 主标题 font-size=36px, font-weight=bold, color=#1e2939 */
.section-title {
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--color-heading);
  line-height: 1.1;
  margin-bottom: 1.2rem;
}

/* 新闻区块标题略小 */
.section-title--sm {
  font-size: 3rem;
}

/* 分隔装饰 [渐变线][绿圆图标][渐变线] h=32px */
.section-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}

/* 渐变线 w=64px, h=2px */
.divider-line {
  display: block;
  width: 6.4rem;
  height: 2px;
}

.divider-line--left {
  /* from transparent to #d1d5dc */
  background: linear-gradient(to right, rgba(0,0,0,0), #d1d5dc);
}

.divider-line--right {
  /* from #d1d5dc to transparent */
  background: linear-gradient(to left, rgba(0,0,0,0), #d1d5dc);
}

/* 绿色圆圈 bg=#00a651, size=32px, rounded */
.divider-dot {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: var(--radius-dot);
  background: var(--color-primary);
  flex-shrink: 0;
}

/* 图标 size=20px */
.divider-icon {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

/* 副标题 font-size=18px, color=#4a5565, line-height=28px */
.section-subtitle {
  font-size: 1.8rem;
  color: var(--color-text);
  line-height: 1.56;
}

/* ==================== 通用按钮 ==================== */
/* 主按钮 bg=#00a651, rounded=10px, shadow, color=#fff, font-weight=bold */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-weight: 700;
  border-radius: var(--radius-btn);
  cursor: pointer;
  transition: background 0.2s ease, -webkit-transform 0.2s ease, transform 0.2s ease;
  white-space: nowrap;
}

.btn--primary {
  background: var(--color-primary);
  color: #fff;
  width: 152px;
  height: 48px;
  box-shadow: var(--shadow-btn);
  /* 默认按钮 w=152px, h=48px, font-size=16px */
  padding: 1.1rem 2rem;
  font-size: 1.6rem;
}

.btn--primary:hover {
  background: var(--color-primary-dark);
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}

/* 大按钮 w≈172-204px, h=56px */
.btn--lg {
  padding: 1.5rem 2.4rem;
  font-size: 1.6rem;
}

/* 小按钮 w=156px, h=40px, font-size=14px */
.btn--sm {
  padding: 0.9rem 2rem;
  font-size: 1.4rem;
}

/* 按钮右侧箭头图标 size=20px */
.btn-icon {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  flex-shrink: 0;
}

/* 小按钮箭头图标 size=16px */
.btn-icon--sm {
  width: 1.6rem;
  height: 1.6rem;
}

/* 居中按钮容器 */
.section-btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: 4.8rem;
}

/* ==================== 导航栏 ==================== */
/* 导航栏高度 97px, bg=rgba(255,255,255,0.5), 悬浮于 hero 之上 */
.nav-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  height: var(--nav-height);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

/* 滚动后导航栏变为实色 */
.nav-header--scrolled {
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.nav-container {
  max-width: var(--container-max);
  width: 100%;
  margin: 0 auto;
  padding: 0 3.2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 9.6rem;
}

/* Logo 区域 w=213px, h=80px */
.nav-logo {
  flex-shrink: 0;
}

.nav-logo-img {
  /* logo 高度 80px */
  height: 8rem;
  width: auto;
  object-fit: contain;
}

/* 导航链接区 gap=48px */
.nav-links {
  display: flex;
  align-items: center;
  gap: 4.8rem;
}

/* 导航链接 font-size=18px, color=#364153 */
.nav-link {
  font-size: 1.8rem;
  color: var(--color-text-meta);
  font-weight: 400;
  padding: 0.8rem 1.2rem;
  border-radius: 4px;
  transition: color 0.2s ease;
  white-space: nowrap;
}

/* 当前页导航链接 font-weight=bold, color=#1e2939 */
.nav-link--active {
  font-weight: 700;
  color: var(--color-heading);
}

.nav-link:hover {
  color: var(--color-primary);
}

/* 导航底部分隔线 bg=rgba(209,213,220,0.6), h=1px */
.nav-divider {
  max-width: var(--container-max);
  width: calc(100% - 6.4rem);
  margin: 0 auto;
  height: 1px;
  background: rgba(209, 213, 220, 0.6);
}

/* 汉堡菜单按钮（移动端） */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.8rem;
}

.nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-heading);
  border-radius: 2px;
  transition: -webkit-transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* 汉堡 → X 动画 */
.nav-toggle--active span:nth-child(1) {
  -webkit-transform: translateY(7px) rotate(45deg);
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle--active span:nth-child(2) {
  opacity: 0;
}

.nav-toggle--active span:nth-child(3) {
  -webkit-transform: translateY(-7px) rotate(-45deg);
  transform: translateY(-7px) rotate(-45deg);
}

/* ==================== Hero 横幅区 (Swiper) ==================== */
.section-hero {
  position: relative;
  height: 100vh;
  min-height: 60rem;
  max-height: 108rem;
  overflow: hidden;
}

.hero-swiper {
  width: 100%;
  height: 100%;
}

.hero-swiper .swiper-wrapper {
  height: 100%;
}

.hero-swiper .swiper-slide {
  height: 100%;
}

.hero-slide {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero-slide__img {
  position: absolute;
  top: -0.62%;
  left: 0;
  width: 100%;
  height: 101.38%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.hero-slide__content {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 8rem;
  box-sizing: border-box;
}

.hero-text {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.hero-title {
  font-size: 6rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.15rem;
  line-height: 1;
  text-shadow: var(--shadow-hero-text);
}

.hero-subtitle {
  font-size: 2.4rem;
  font-weight: 400;
  color: #fff;
  line-height: 1.33;
  text-shadow: var(--shadow-hero-text);
}

.hero-swiper-pagination.swiper-pagination-bullets {
  bottom: 2.9rem !important;
  left: 0;
  right: 0;
  width: auto;
}

.hero-swiper .swiper-pagination-bullet {
  width: 2rem;
  height: 2rem;
  margin: 0 1.5rem !important;
  border-radius: var(--radius-dot);
  background: rgba(255, 255, 255, 0.4);
  opacity: 1;
  vertical-align: middle;
}

.hero-swiper .swiper-pagination-bullet-active {
  background: rgba(255, 255, 255, 0.9);
}

/* ==================== 公司简介 ==================== */
/* bg=#fff, pt=48px, px=199.5px (在容器内), h=728px */
.section-intro {
  background: #fff;
  padding: 4.8rem 0 6rem;
}

/* 左图右文两栏布局 h=508px */
.intro-content {
  display: flex;
  gap: 4.8rem;
  align-items: flex-start;
}

/* 左图容器 w=728px, 内部图片 top=54px (相对整体有些偏移) */
.intro-image-wrap {
  flex: 0 0 47%;
  max-width: 47%;
  padding-top: 5.4rem;
}

/* 公司图片 w=728px, h=400px, rounded=14px, shadow=0 25px 50px -12px rgba(0,0,0,0.25) */
.intro-image {
  width: 100%;
  height: 40rem;
  object-fit: cover;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-intro-img);
}

/* 右侧文字区 w=728px, h=508px */
.intro-text-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 公司名 font-size=30px, font-weight=bold, color=#1e2939, line-height=36px */
.intro-company-name {
  font-size: 3rem;
  font-weight: 700;
  color: var(--color-heading);
  line-height: 1.2;
  margin-bottom: 2rem;
}

/* 4段文字, font-size=18px, line-height=29.25px, color=#4a5565 */
.intro-paragraphs {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 3.2rem;
  overflow: hidden;
  /* 文字容器高度约400px, 隐藏溢出 */
  max-height: 40rem;
}

.intro-paragraphs p {
  font-size: 1.8rem;
  line-height: 1.625;
  color: var(--color-text);
}

/* ==================== 核心业务 ==================== */
/* 渐变背景 154.89deg, rgb(240,249,255)→rgb(239,246,255), pt=48px */
.section-business {
  background: linear-gradient(154.89deg, rgb(240, 249, 255) 0%, rgb(239, 246, 255) 100%);
  padding: 4.8rem 0 6rem;
}

/* 6卡片 2行×3列, gap=24px */
.business-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}

/* 每张业务卡片 h=256px, rounded=14px, overflow=hidden, shadow */
.biz-card {
  position: relative;
  border-radius: var(--radius-card);
  overflow: hidden;
  /* h=256px */
  height: 25.6rem;
  box-shadow: var(--shadow-card);
  cursor: pointer;
}

/* 卡片背景图 object-cover 填满整个卡片 */
.biz-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
}

.biz-card:hover .biz-card__img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

/* 渐变遮罩 from rgba(16,78,100,0.9) 到 transparent via rgba(0,95,90,0.5) */
.biz-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(16, 78, 100, 0.9) 0%,
    rgba(0, 95, 90, 0.5) 50%,
    rgba(0, 0, 0, 0) 100%
  );
  pointer-events: none;
}

/* 文字内容区 left=0, pt=24px, px=24px, 从约 50% 高度开始 */
.biz-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2.4rem 2.4rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

/* 业务标题 font-size=20px, font-weight=bold, color=#fff, line-height=28px */
.biz-card__title {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
}

/* 业务描述 font-size=14px, color=#e5e7eb, line-height=22.75px */
.biz-card__desc {
  font-size: 1.4rem;
  color: #e5e7eb;
  line-height: 1.625;
}

/* 右上角圆形箭头按钮 bg=rgba(255,255,255,0.2), size=36px, rounded */
.biz-card__arrow-btn {
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: var(--radius-dot);
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8rem;
}

/* 箭头图标 size=20px */
.biz-card__arrow-icon {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

/* ==================== 新闻动态 ==================== */
/* bg=#fff, pt=48px, px=199.5px, h=640px */
.section-news {
  background: #fff;
  padding: 4.8rem 0 6rem;
}

/* 2列布局 左=740px 右=740px, gap=24px */
.news-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;
  align-items: start;
}

/* ---- 左侧新闻列表 ---- */
.news-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* 新闻条目 bg=#fff, h=84px, rounded=10px, shadow, p=16px, gap=96px总间距 */
.news-item {
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  background: #fff;
  border-radius: var(--radius-btn);
  box-shadow: var(--shadow-news-card);
  padding: 1.6rem;
  margin-bottom: 1.2rem;
  transition: box-shadow 0.2s ease;
}

.news-item:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

/* 日期块 w=60px, border-right=2px solid #e5e7eb, h=52px */
.news-date {
  flex-shrink: 0;
  width: 6rem;
  border-right: 2px solid var(--color-border);
  padding: 0.4rem 1rem 0 0.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 日期数字 font-size=18px, font-weight=bold, color=#364153, line-height=28px */
.news-date__day {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-text-meta);
  line-height: 1.56;
}

/* 年份 font-size=12px, color=#6a7282, line-height=16px */
.news-date__year {
  font-size: 1.2rem;
  color: var(--color-text-light);
  line-height: 1.33;
}

/* 新闻正文区 */
.news-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

/* 新闻标题 font-size=14px, font-weight=bold, color=#1e2939, line-height=20px */
.news-title {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color-heading);
  line-height: 1.43;
}

/* 新闻摘要 font-size=12px, color=#4a5565, line-height=19.5px */
.news-desc {
  font-size: 1.2rem;
  color: var(--color-text);
  line-height: 1.625;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ---- 右侧新闻图片轮播 ---- */
/* 图片容器 h=380px, rounded=14px, shadow */
.news-image-wrap {
  position: relative;
}

.news-carousel {
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-news-img);
  height: 38rem;
  position: relative;
}

/* 新闻图片 object-cover */
.news-carousel__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 渐变遮罩 from rgba(16,24,40,0.5) to transparent */
.news-carousel__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16, 24, 40, 0.5) 0%, rgba(0,0,0,0) 60%);
  pointer-events: none;
}

/* 3个轮播点 在图片下方 */
.news-dots {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-top: 0.9rem;
}

/* 轮播点 size=20px */
.news-dot {
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-dot);
  border: none;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.15);
  transition: background 0.2s ease;
  padding: 0;
}

.news-dot--active {
  background: var(--color-primary);
}

/* ==================== 服务案例 ==================== */
/* 渐变背景 146.49deg, rgb(240,249,255)→rgb(240,253,250)→rgb(240,253,244) */
.section-cases {
  background: linear-gradient(
    146.49deg,
    rgb(240, 249, 255) 0%,
    rgb(240, 253, 250) 50%,
    rgb(240, 253, 244) 100%
  );
  padding: 4.8rem 0 6rem;
}

/* 12个卡片 4列×3行, gap=20px */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

/* 案例卡片 bg=#fff, rounded=14px, overflow=hidden, shadow */
.case-card {
  background: #fff;
  border-radius: var(--radius-card);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s ease, -webkit-transform 0.2s ease, transform 0.2s ease;
}

.case-card:hover {
  box-shadow: 0 16px 40px rgba(0,0,0,0.15);
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

/* 图片区域 h=192px, overflow=hidden */
.case-card__img-wrap {
  position: relative;
  height: 19.2rem;
  overflow: hidden;
  flex-shrink: 0;
}

/* 案例图片 object-cover 填满 */
.case-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
}

.case-card:hover .case-card__img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

/* 图片渐变遮罩 from rgba(16,24,40,0.7) to transparent */
.case-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16, 24, 40, 0.7) 0%, rgba(0,0,0,0) 60%);
  pointer-events: none;
}

/* 分类标签 bg=rgba(255,255,255,0.9), h=24px, rounded, top=12px, right=12px */
.case-card__tag {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 9999px;
  padding: 0.4rem 1.2rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-primary);
  white-space: nowrap;
  /* 防止标签超出容器 */
  max-width: calc(100% - 2.4rem);
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 卡片信息区 pt=20px, px=20px, gap=8px, h=96px */
.case-card__info {
  padding: 2rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex: 1;
}

/* 案例标题 font-size=18px, font-weight=bold, color=#1e2939, line-height=28px */
.case-card__title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-heading);
  line-height: 1.56;
}

/* 客户信息行 h=20px, gap=6px */
.case-card__client {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

/* 客户图标 size=16px */
.case-card__client-icon {
  width: 1.6rem;
  height: 1.6rem;
  object-fit: contain;
  flex-shrink: 0;
}

/* 客户名 font-size=14px, color=#4a5565, line-height=20px */
.case-card__client span {
  font-size: 1.4rem;
  color: var(--color-text);
  line-height: 1.43;
}

/* ==================== 页脚 ==================== */
/* 渐变背景 from #00a6f4 via #00bba7 to #00a63e, h=385px */
.footer {
  background: linear-gradient(to right, #00a6f4, #00bba7, #00a63e);
}

.footer-container {
  max-width: var(--container-max);
  width: 100%;
  margin: 0 auto;
  padding: 4.8rem 3.2rem 0;
}

/* 页脚主体 h=212px, 3列 */
.footer-main {
  display: grid;
  /* 3列宽约 469px, 469px, 469px (均分) */
  grid-template-columns: 1fr auto 1fr;
  gap: 3.2rem;
  margin-bottom: 3.2rem;
}

/* 列标题 font-size=20px, font-weight=bold, color=#fff, line-height=28px, mb=24px */
.footer-col__title {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 2.4rem;
}

/* ---- 核心业务列 ---- */
/* 3小列布局, 各~146px, gap=16px */
.footer-biz-links {
  display: flex;
  gap: 1.6rem;
}

.footer-biz-col {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

/* 业务链接 font-size=16px, color=#fff, line-height=24px */
.footer-biz-col li {
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.5;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.footer-biz-col li a {
  color: inherit;
  text-decoration: none;
}

.footer-biz-col li:hover {
  opacity: 0.8;
}

/* ---- 联系我们列 ---- */
/* pl=80px (从左栏偏移) */
.footer-col--contact {
  padding-left: 2rem;
  min-width: 22rem;
}

.footer-contact-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

/* 联系方式条目 gap=12px, h=24px */
.footer-contact-item {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

/* 联系图标 size=20px */
.footer-contact-icon {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  flex-shrink: 0;
}

/* 联系文字 font-size=16px, color=#fff, line-height=24px */
.footer-contact-item span {
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.5;
}

/* ---- 微信咨询列 ---- */
.footer-col--qr {
  min-width: 30rem;
}

/* 2个二维码并排 gap=24px */
.footer-qr-group {
  display: flex;
  gap: 2.4rem;
}

.footer-qr-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}

/* 白色方框 bg=#fff, rounded=10px, p=12px, shadow, w=136px, h=136px */
.footer-qr-box {
  background: #fff;
  border-radius: var(--radius-btn);
  padding: 1.2rem;
  box-shadow: var(--shadow-btn);
  width: 13.6rem;
  height: 13.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 二维码图 size=112px×112px */
.footer-qr-img {
  width: 11.2rem;
  height: 11.2rem;
  object-fit: contain;
}

/* 标签文字 font-size=12px, color=#fff, text-center */
.footer-qr-label {
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
}

/* ---- 版权栏 ---- */
/* border-top=rgba(255,255,255,0.3), pt=25px */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2.5rem 0 2rem;
}

/* 版权文字 font-size=14px, color=#fff, text-center, line-height=20px */
.footer-copyright {
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  line-height: 1.43;
}

/* ==================== 响应式断点 ==================== */

/* ---- 平板端 (max 1280px) ---- */
@media (max-width: 1280px) {
  :root {
    --nav-height: 80px;
  }

  .nav-logo-img {
    height: 6rem;
  }

  .nav-links {
    gap: 2.4rem;
  }

  .nav-link {
    font-size: 1.6rem;
  }

  /* Hero */
  .hero-title {
    font-size: 4.8rem;
  }

  .hero-subtitle {
    font-size: 2rem;
  }

  /* 公司简介 */
  .intro-content {
    gap: 3.2rem;
  }

  /* 业务: 3列→2列 */
  .business-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 案例: 4列→3列 */
  .cases-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* 页脚 */
  .footer-main {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }

  .footer-col--qr {
    grid-column: 1 / -1;
  }
}

/* ---- 平板小屏 (max 1024px) ---- */
@media (max-width: 1024px) {
  .section-title {
    font-size: 3rem;
  }

  .section-title--sm {
    font-size: 2.6rem;
  }

  /* 新闻: 2列→1列 */
  .news-grid {
    grid-template-columns: 1fr;
  }

  .news-carousel {
    height: 30rem;
  }

  /* 案例: 3列→2列 */
  .cases-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ---- 移动端 (max 768px) ---- */
@media (max-width: 768px) {
  :root {
    --nav-height: 64px;
  }

  /* 导航栏移动端 */
  .nav-container {
    height: 6.4rem;
    padding: 0 1.6rem;
  }

  .nav-logo-img {
    height: 4.8rem;
  }

  /* 汉堡菜单显示 */
  .nav-toggle {
    display: flex;
  }

  /* 导航链接下拉 */
  .nav-links {
    position: fixed;
    top: var(--nav-height);
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.98);
    flex-direction: column;
    gap: 0;
    padding: 1.6rem 0;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    /* 默认隐藏 */
    display: none;
    z-index: 999;
  }

  .nav-links--open {
    display: flex;
  }

  .nav-link {
    padding: 1.4rem 2.4rem;
    font-size: 1.6rem;
    width: 100%;
  }

  /* Hero */
  .section-hero {
    min-height: 50rem;
    max-height: 80rem;
    height: 70vw;
  }

  .hero-title {
    font-size: 3.2rem;
    letter-spacing: 0.05rem;
  }

  .hero-subtitle {
    font-size: 1.6rem;
  }

  .hero-slide__content {
    padding-top: 6rem;
  }

  /* 公司简介: 2列→1列 */
  .intro-content {
    flex-direction: column;
  }

  .intro-image-wrap {
    flex: none;
    max-width: 100%;
    width: 100%;
    padding-top: 0;
  }

  .intro-image {
    height: 25rem;
  }

  .intro-paragraphs {
    max-height: none;
  }

  .section-title {
    font-size: 2.6rem;
  }

  .section-title--sm {
    font-size: 2.2rem;
  }

  /* 业务: 2列→1列 */
  .business-grid {
    grid-template-columns: 1fr;
  }

  .biz-card {
    height: 22rem;
  }

  /* 案例: 2列→1列 */
  .cases-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* 页脚: 3列→1列 */
  .footer-main {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  .footer-col--contact {
    padding-left: 0;
  }

  .footer-biz-links {
    flex-direction: column;
  }

  .footer-qr-group {
    justify-content: flex-start;
  }

  .footer-qr-box {
    width: 11rem;
    height: 11rem;
  }

  .footer-qr-img {
    width: 8.6rem;
    height: 8.6rem;
  }
}

/* ---- 超小屏手机 (max 480px) ---- */
@media (max-width: 480px) {
  .hero-title {
    font-size: 2.8rem;
  }

  .hero-subtitle {
    font-size: 1.4rem;
  }

  .cases-grid {
    grid-template-columns: 1fr;
  }

  .section-btn-wrap .btn {
    width: 100%;
    justify-content: center;
  }

  .intro-company-name {
    font-size: 2.2rem;
  }

  .intro-paragraphs p {
    font-size: 1.6rem;
  }
}

/* ==================== 浏览器兼容 ==================== */
/* Safari 旧版渐变兼容 */
.biz-card__overlay {
  background: -webkit-linear-gradient(
    bottom,
    rgba(16, 78, 100, 0.9) 0%,
    rgba(0, 95, 90, 0.5) 50%,
    rgba(0, 0, 0, 0) 100%
  );
  background: linear-gradient(
    to top,
    rgba(16, 78, 100, 0.9) 0%,
    rgba(0, 95, 90, 0.5) 50%,
    rgba(0, 0, 0, 0) 100%
  );
}

.case-card__overlay {
  background: -webkit-linear-gradient(
    bottom,
    rgba(16, 24, 40, 0.7) 0%,
    rgba(0, 0, 0, 0) 60%
  );
  background: linear-gradient(
    to top,
    rgba(16, 24, 40, 0.7) 0%,
    rgba(0, 0, 0, 0) 60%
  );
}

/* Safari flex gap 兼容 */
@supports not (gap: 1rem) {
  .nav-links > * + * { margin-left: 4.8rem; }
  .business-grid { margin: -1.2rem; }
  .business-grid > * { margin: 1.2rem; }
  .cases-grid { margin: -1rem; }
  .cases-grid > * { margin: 1rem; }
}

/* ==================== 关于我们页 ==================== */
/* 设计基准宽 1534px */

/* ---------- 横幅区 500px + Swiper ---------- */
.about-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #0a1628;
}

.about-hero-swiper {
  width: 100%;
  height: 100%;
}

.about-hero-swiper .swiper-slide {
  height: 100%;
}

.about-hero-slide {
  position: relative;
}

.about-hero-slide__img {
  /* position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center; */
  width: 100%;
}

.about-hero-slide__inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  height: 100%;
  width: 100%;
  padding: 0 1.6rem;
  box-sizing: border-box;
  text-align: center;
}

.about-hero-title {
  margin: 0;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.15);
}

.about-hero-sub {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.333;
  color: #dff2fe;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.12);
}

/* ---------- 子导航 69px（含底边） ---------- */
.about-subnav {
  position: relative;
  z-index: 5;
  width: 100%;
  background: #fff;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.1);
}

.about-subnav__wrap {
  max-width: 153.4rem;
  margin: 0 auto;
  padding: 0 1.6rem;
  display: flex;
  justify-content: center;
}

.about-subnav__inner {
  display: flex;
  flex-wrap: nowrap;
  width: 54rem;
  max-width: 100%;
  min-height: 6.8rem;
}

.about-subnav__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 16.8rem;
  height: 6.8rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.556;
  color: #4a5565;
  text-decoration: none;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  transition: background 0.2s ease, color 0.2s ease;
}

.about-subnav__tab--wide {
  flex: 0 0 20.4rem;
}

.about-subnav__tab:hover {
  color: #1e2939;
}

.about-subnav__tab--active {
  background: #00a8e8;
  color: #fff;
}

/* ---------- 公司简介 + 数据 ---------- */
.about-intro {
  background: #fff;
}

.about-intro__container {
  max-width: 153.4rem;
  margin: 0 auto;
  padding: 6.4rem 19.1rem 8rem;
  box-sizing: border-box;
}

.about-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.8rem;
  align-items: center;
  margin-bottom: 6.4rem;
}

.about-intro__media {
  position: relative;
  border-radius: 1.4rem;
  overflow: hidden;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  height: 73.6rem;
  max-width: 100%;
}

.about-intro__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-intro__text {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-width: 0;
}

.about-intro__heading {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  color: #1e2939;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.about-intro__body {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.about-intro__body p {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.625;
  color: #4a5565;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.about-stats {
  border-radius: 1.6rem;
  padding: 4.8rem 4.8rem 4.8rem;
  box-shadow: 0 2.5rem 5rem 0 rgba(0, 0, 0, 0.25);
  background: linear-gradient(90deg, #00a6f4 0%, #00bba7 50%, #00c950 100%);
}

.about-stats__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.2rem;
  align-items: start;
}

.about-stats__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  text-align: center;
}

.about-stats__num {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.about-stats__label {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

.about-stats__label--a {
  color: #dff2fe;
}

.about-stats__label--b {
  color: #cbfbf1;
}

.about-stats__label--c {
  color: #dcfce7;
}

@media (max-width: 1280px) {
  .about-intro__container {
    padding: 5rem 4rem 6rem;
  }
}

@media (max-width: 1024px) {
  .about-intro__grid {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .about-intro__media {
    height: auto;
    max-height: none;
    aspect-ratio: 16 / 10;
  }

  .about-stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.4rem 2rem;
  }

  .about-hero-title {
    font-size: 4.8rem;
  }

  .about-hero-sub {
    font-size: 2rem;
  }
}

@media (max-width: 768px) {
  .about-hero {
    height: 36rem;
    min-height: 28rem;
  }

  .about-hero-title {
    font-size: 3.2rem;
  }

  .about-hero-sub {
    font-size: 1.6rem;
  }

  .about-subnav__wrap {
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .about-subnav__inner {
    width: auto;
    min-width: min(100%, 54rem);
  }

  .about-subnav__tab {
    flex: 0 0 auto;
    min-width: 12rem;
    padding: 0 1.2rem;
  }

  .about-subnav__tab--wide {
    flex: 0 0 auto;
    min-width: 14rem;
  }

  .about-intro__container {
    padding: 4rem 1.6rem 5rem;
  }

  .about-intro__heading {
    font-size: 2.4rem;
  }

  .about-intro__body p {
    font-size: 1.6rem;
  }

  .about-stats {
    padding: 3.2rem 2rem;
  }

  .about-stats__num {
    font-size: 3.2rem;
  }

  .about-stats__label {
    font-size: 1.6rem;
  }
}

@media (max-width: 480px) {
  .about-stats__grid {
    grid-template-columns: 1fr;
  }
}

/* ==================== 关于我们 · 企业文化页（Figma 1:147） ==================== */
.culture-page {
  background: #f9fafb;
}

.culture-page__inner {
  max-width: 115.2rem;
  margin: 0 auto;
  padding: 6.4rem 1.6rem 8rem;
  box-sizing: content-box;
}

.culture-block {
  margin-bottom: 6.4rem;
}

.culture-block:last-child {
  margin-bottom: 0;
}

.culture-block__title {
  margin: 0 0 3.2rem;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.11;
  text-align: center;
  color: var(--color-heading);
}

.culture-vision {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.8rem;
  align-items: stretch;
}

.culture-vision__media {
  border-radius: 1.4rem;
  overflow: hidden;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  height: 36.8rem;
  max-width: 100%;
}

.culture-vision__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.culture-vision__aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.4rem;
  min-width: 0;
}

.culture-vision-card {
  padding: 3.2rem 3.2rem 2.8rem;
  border-radius: 1.4rem;
  box-shadow: var(--shadow-card);
}

.culture-vision-card--goal {
  background: linear-gradient(162.84deg, #00a8e8 0%, #00bba7 100%);
}

.culture-vision-card--mission {
  background: linear-gradient(162.84deg, #00bba7 0%, #00c950 100%);
}

.culture-vision-card__title {
  margin: 0 0 1.6rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.33;
  color: #fff;
}

.culture-vision-card__text {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.625;
  color: #fff;
  max-width: 48.6rem;
}

.culture-philo {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
}

.culture-philo__card {
  background: #fff;
  border-radius: 1.4rem;
  box-shadow: var(--shadow-card);
  padding: 3.2rem 2.4rem 2.4rem;
  text-align: center;
  min-height: 27.8rem;
  box-sizing: border-box;
}

.culture-philo__icon-wrap {
  width: 6.4rem;
  height: 6.4rem;
  margin: 0 auto 2.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
  box-sizing: border-box;
}

.culture-philo__icon-wrap--blue {
  background: linear-gradient(135deg, #00bcff 0%, #0084d1 100%);
}

.culture-philo__icon-wrap--cyan {
  background: linear-gradient(135deg, #00d5be 0%, #009689 100%);
}

.culture-philo__icon-wrap--green {
  background: linear-gradient(135deg, #05df72 0%, #00a63e 100%);
}

.culture-philo__icon {
  width: 3.2rem;
  height: 3.2rem;
  object-fit: contain;
}

.culture-philo__name {
  margin: 0 0 1.6rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.33;
  color: var(--color-heading);
}

.culture-philo__desc {
  margin: 0 auto;
  padding: 0 0.4rem;
  min-height: 7.8rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--color-text);
  max-width: 28.8rem;
}

.culture-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}

.culture-values__card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.6rem;
  padding: 3.4rem 3.4rem 3.2rem;
  border-radius: 1.4rem;
  border: 2px solid;
  box-sizing: border-box;
}

.culture-values__card--blue {
  border-color: #b8e6fe;
  background: linear-gradient(157.89deg, rgb(240, 249, 255) 0%, #fff 100%);
}

.culture-values__card--cyan {
  border-color: #96f7e4;
  background: linear-gradient(157.89deg, rgb(240, 253, 250) 0%, #fff 100%);
}

.culture-values__card--green {
  border-color: #b9f8cf;
  background: linear-gradient(157.89deg, rgb(240, 253, 244) 0%, #fff 100%);
}

.culture-values__icon-box {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem;
  box-sizing: border-box;
}

.culture-values__icon-box--blue {
  background: #00a6f4;
}

.culture-values__icon-box--cyan {
  background: #00bba7;
}

.culture-values__icon-box--green {
  background: #00c950;
}

.culture-values__icon-box img {
  width: 2.4rem;
  height: 2.4rem;
  object-fit: contain;
}

.culture-values__body {
  flex: 1;
  min-width: 0;
}

.culture-values__name {
  margin: 0 0 0.8rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--color-heading);
}

.culture-values__desc {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--color-text);
}

@media (max-width: 1280px) {
  .culture-page__inner {
    padding: 5rem 2.4rem 6rem;
  }
}

@media (max-width: 1024px) {
  .culture-vision {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .culture-vision__media {
    height: auto;
    aspect-ratio: 16 / 10;
  }

  .culture-philo {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }

  .culture-philo__card {
    min-height: 0;
  }

  .culture-values {
    grid-template-columns: repeat(2, 1fr);
  }

  .culture-block__title {
    font-size: 3rem;
  }
}

@media (max-width: 768px) {
  .culture-page__inner {
    padding: 4rem 1.6rem 5rem;
  }

  .culture-block__title {
    font-size: 2.6rem;
  }

  .culture-vision-card__title {
    font-size: 2rem;
  }

  .culture-vision-card__text {
    font-size: 1.6rem;
  }

  .culture-values {
    grid-template-columns: 1fr;
  }

  .culture-philo__desc {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .culture-block__title {
    font-size: 2.4rem;
  }

  .culture-philo__name {
    font-size: 2rem;
  }
}

/* ==================== 关于我们 · 企业资质荣誉（Figma 1:374） ==================== */
.qual-page {
  background: #f9fafb;
}

.qual-page__inner {
  max-width: 128rem;
  margin: 0 auto;
  padding: 4.8rem 1.6rem 8rem;
  box-sizing: content-box;
}

.qual-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 4.8rem;
  text-align: center;
}

.qual-head__title {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.11;
  color: var(--color-heading);
}

.qual-head__sub {
  margin: 0;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-text);
}

.qual-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.4rem;
}

.qual-card {
  background: #fff;
  border-radius: 1.4rem;
  overflow: hidden;
  box-shadow: 0 1rem 1.5rem -0.3rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.6rem -0.4rem rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.qual-card__media {
  position: relative;
  height: 16rem;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.qual-card__media--a {
  background: linear-gradient(152.085deg, #00a6f4 0%, #00bba7 100%);
}

.qual-card__media--b {
  background: linear-gradient(152.085deg, #00bba7 0%, #00c950 100%);
}

.qual-card__media--c {
  background: linear-gradient(152.085deg, #00bcff 0%, #0084d1 100%);
}

.qual-card__media--d {
  background: linear-gradient(152.085deg, #00d5be 0%, #009689 100%);
}

.qual-card__media--e {
  background: linear-gradient(152.085deg, #05df72 0%, #00a63e 100%);
}

.qual-card__photo {
  width: 100%;
  max-width: 30.2rem;
  height: 16rem;
  object-fit: cover;
  opacity: 0.7;
}

.qual-card__body {
  padding: 2rem 2rem 2.2rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  flex: 1;
}

.qual-card__title-row {
  display: flex;
  align-items: flex-start;
}

.qual-card__name {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.56;
  color: var(--color-heading);
}

.qual-card__desc {
  margin: 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  color: var(--color-text);
}

@media (max-width: 1280px) {
  .qual-page__inner {
    padding: 4rem 2.4rem 6rem;
  }

  .qual-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1024px) {
  .qual-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .qual-head__title {
    font-size: 3rem;
  }

  .qual-head__sub {
    font-size: 1.8rem;
  }
}

@media (max-width: 768px) {
  .qual-page__inner {
    padding: 3.2rem 1.6rem 5rem;
  }

  .qual-grid {
    grid-template-columns: 1fr;
  }

  .qual-head {
    margin-bottom: 3.2rem;
  }

  .qual-head__title {
    font-size: 2.6rem;
  }

  .qual-head__sub {
    font-size: 1.6rem;
  }
}

@media (max-width: 480px) {
  .qual-head__title {
    font-size: 2.4rem;
  }
}

/* ==================== 服务项目页（Figma 1:614） ==================== */
.svc-section {
  background: #fff;
}

.svc-section__inner {
  max-width: 150.2rem;
  margin: 0 auto;
  padding: 8rem 1.6rem 8rem;
  box-sizing: content-box;
}

.svc-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 6.4rem;
  text-align: center;
}

.svc-head__title {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.11;
  color: var(--color-heading);
}

.svc-head__sub {
  margin: 0;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  color: var(--color-text);
}

.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}

.svc-card {
  background: #fff;
  border-radius: 1.4rem;
  overflow: hidden;
  box-shadow: 0 1rem 1.5rem -0.3rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.6rem -0.4rem rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  min-height: 35.2rem;
}

.svc-card__visual {
  position: relative;
  height: 25.6rem;
  overflow: hidden;
  flex-shrink: 0;
}

.svc-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.svc-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16, 78, 100, 0.8) 0%, rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
}

.svc-card__name {
  position: absolute;
  left: 2.4rem;
  bottom: 2.4rem;
  right: 2.4rem;
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-align: left;
}

.svc-card__btn {
  margin: 2.4rem 2.4rem 2.4rem;
  height: 4.8rem;
  border-radius: var(--radius-btn);
  background: var(--color-primary);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  text-decoration: none;
  transition: background 0.2s ease, -webkit-transform 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}

.svc-card__btn:hover {
  background: var(--color-primary-dark);
}

.svc-card__btn-icon {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
  flex-shrink: 0;
}

@media (max-width: 1280px) {
  .svc-section__inner {
    padding: 5rem 2.4rem 6rem;
  }

  .svc-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 1024px) {
  .svc-head__title {
    font-size: 3rem;
  }

  .svc-head__sub {
    font-size: 1.8rem;
  }
}

@media (max-width: 768px) {
  .svc-section__inner {
    padding: 4rem 1.6rem 5rem;
  }

  .svc-grid {
    grid-template-columns: 1fr;
  }

  .svc-head {
    margin-bottom: 4rem;
  }

  .svc-head__title {
    font-size: 2.6rem;
  }

  .svc-head__sub {
    font-size: 1.6rem;
  }

  .svc-card {
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .svc-head__title {
    font-size: 2.4rem;
  }
}

/* ==================== 业务详情页（Figma 1:809） ==================== */
.svc-detail-hero {
  height: 50rem;
  min-height: 32rem;
  background: #0a1628;
}

.svc-detail-hero .about-hero-slide {
  height: 100%;
  min-height: inherit;
}

.svc-detail-hero__slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.svc-detail-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.svc-detail-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(10, 22, 40, 0.75) 0%, rgba(10, 22, 40, 0.2) 45%, transparent 70%);
}

.svc-detail-hero__bar {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  max-width: 153.4rem;
  margin: 0 auto;
  padding: 0 1.6rem 6.4rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}

.svc-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: rgba(255, 255, 255, 0.9);
  transition: opacity 0.2s;
}

.svc-detail-back:hover {
  opacity: 0.85;
}

.svc-detail-back__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}

.svc-detail-hero__title {
  margin: 0;
  max-width: 52.8rem;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-align: left;
  text-shadow: var(--shadow-hero-text);
}

.svc-detail-body {
  background: #fff;
}

.svc-detail-body__inner {
  max-width: 102.4rem;
  margin: 0 auto;
  padding: 8rem 1.6rem 8rem;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  box-sizing: content-box;
}

.svc-detail-intro {
  padding: 3.2rem;
  border-radius: 1.6rem;
  background: linear-gradient(169.89deg, #f0f9ff 0%, #eff6ff 100%);
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

.svc-detail-intro__title {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
  line-height: 3.6rem;
  color: #1e2939;
}

.svc-detail-intro__text {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.625;
  color: #364153;
}

.svc-detail-block {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}

.svc-detail-h2 {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
  line-height: 3.6rem;
  color: #1e2939;
}

.svc-detail-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem;
}

.svc-detail-feature {
  position: relative;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 2.4rem 2.4rem 2.4rem 7.2rem;
  min-height: 8.4rem;
  box-sizing: border-box;
}

.svc-detail-feature:first-child {
  min-height: 10rem;
}

.svc-detail-feature--last {
  grid-column: 1;
}

.svc-detail-feature__icon-bg {
  position: absolute;
  left: 2.4rem;
  top: 2.8rem;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: rgba(0, 166, 81, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.svc-detail-feature__icon {
  display: block;
  width: 2rem;
  height: 2rem;
}

.svc-detail-feature__text {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.6rem;
  color: #364153;
}

.svc-detail-scene {
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.svc-detail-scene__img {
  width: 100%;
  height: 38.4rem;
  max-width: none;
  object-fit: cover;
  display: block;
}

.svc-detail-cta {
  padding: 3.2rem;
  border-radius: 1.6rem;
  min-height: 21.6rem;
  box-sizing: border-box;
  background: linear-gradient(168.09deg, #ecfeff 0%, #f0f9ff 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.6rem;
}

.svc-detail-cta__title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3.2rem;
  color: #1e2939;
}

.svc-detail-cta__desc {
  margin: 0;
  max-width: 96rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: #4a5565;
}

.svc-detail-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.8rem;
  min-width: 14.4rem;
  min-height: 5.6rem;
  padding: 1.6rem 4rem;
  border-radius: var(--radius-btn);
  background: #00a651;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  box-shadow: var(--shadow-btn);
  transition: background 0.2s, transform 0.15s;
}

.svc-detail-cta__btn:hover {
  background: var(--color-primary-dark);
}

@media (max-width: 1024px) {
  .svc-detail-body__inner {
    padding: 6rem 1.6rem 6rem;
  }

  .svc-detail-hero__title {
    font-size: 3.6rem;
  }
}

@media (max-width: 768px) {
  .svc-detail-hero {
    height: 36rem;
    min-height: 28rem;
  }

  .svc-detail-hero__title {
    font-size: 2.8rem;
  }

  .svc-detail-body__inner {
    padding: 4.8rem 1.6rem 5rem;
    gap: 4rem;
  }

  .svc-detail-intro__title,
  .svc-detail-h2 {
    font-size: 2.6rem;
    line-height: 1.25;
  }

  .svc-detail-intro__text {
    font-size: 1.6rem;
  }

  .svc-detail-features {
    grid-template-columns: 1fr;
  }

  .svc-detail-feature--last {
    grid-column: auto;
  }

  .svc-detail-scene__img {
    height: 24rem;
  }

  .svc-detail-cta {
    min-height: 0;
    padding: 2.4rem 1.6rem;
  }

  .svc-detail-cta__title {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .svc-detail-hero__title {
    font-size: 2.4rem;
  }

  .svc-detail-intro {
    padding: 2rem 1.6rem;
  }
}

/* ==================== 新闻中心页（Figma 1:966） ==================== */
.news-hero {
  height: 50rem;
  min-height: 32rem;
  background: #0a1628;
}

.news-hero .about-hero-slide {
  height: 100%;
  min-height: inherit;
}

.news-hero__slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.news-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.news-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(10, 22, 40, 0.55) 0%, rgba(10, 22, 40, 0.15) 50%, rgba(10, 22, 40, 0.25) 100%);
}

.news-hero .about-hero-slide__inner.news-hero__inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  height: 100%;
  transform: none;
  padding: 0 1.6rem;
  box-sizing: border-box;
  text-align: center;
}

.news-hero__title {
  margin: 0;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-shadow: var(--shadow-hero-text);
}

.news-hero__sub {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.333;
  color: #dff2fe;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.12);
}

.news-page {
  background: #fff;
}

.news-page__inner {
  max-width: 102.4rem;
  margin: 0 auto;
  padding: 6.4rem 1.6rem 8rem;
  box-sizing: content-box;
}

.news-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
}

.news-tabs__btn {
  flex: 0 0 auto;
  min-width: 12.8rem;
  height: 4.8rem;
  padding: 1.2rem 3.2rem;
  border: none;
  border-radius: 1rem;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  cursor: pointer;
  background: #f3f4f6;
  color: #364153;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.news-tabs__btn:hover {
  background: #e8eaee;
}

.news-tabs__btn--active {
  background: #00a651;
  color: #fff;
  box-shadow: var(--shadow-btn);
}

.news-tabs__btn--active:hover {
  background: var(--color-primary-dark);
  color: #fff;
}

/* 新闻中心页：分类下列表（勿与首页 .news-grid .news-list 混用） */
.news-page .news-list {
  display: none;
  flex-direction: column;
  gap: 1.6rem;
  margin-top: 4.8rem;
}

.news-page .news-list.is-active {
  display: flex;
}

.news-page .news-list[hidden] {
  display: none !important;
}

.news-card {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  background: #fff;
  border-radius: 1.4rem;
  overflow: hidden;
  box-shadow: var(--shadow-news-card);
  min-height: 18.95rem;
}

.news-card--compact {
  min-height: 16.675rem;
}

.news-card__media {
  position: relative;
  flex: 0 0 25.6rem;
  width: 25.6rem;
  max-width: 45%;
  align-self: flex-start;
  height: 16rem;
  flex-shrink: 0;
  overflow: hidden;
}

.news-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  max-width: none;
}

.news-card__media-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
}

.news-card__body {
  flex: 1;
  min-width: 0;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.news-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.2rem;
}

.news-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.2rem;
  height: 2.4rem;
  padding: 0 1.2rem;
  border-radius: 999px;
  background: #00a651;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.333;
}

.news-card__date {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.333;
  color: #6a7282;
}

.news-card__cal {
  flex-shrink: 0;
  display: block;
}

.news-card__title {
  margin: 0 0 0.8rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}

.news-card__title a {
  color: #1e2939;
  transition: color 0.2s;
}

.news-card__title a:hover {
  color: var(--color-primary);
}

.news-card__excerpt {
  margin: 0 0 auto;
  padding-bottom: 1.2rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.625;
  color: #4a5565;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.news-card__excerpt--single {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-bottom: 0.8rem;
}

.news-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2rem;
  color: #00a651;
  transition: opacity 0.2s;
}

.news-card__more:hover {
  opacity: 0.85;
}

.news-card__more-icon {
  flex-shrink: 0;
  display: block;
  width: 1.6rem;
  height: 1.6rem;
}

.news-empty {
  margin-top: 4.8rem;
  padding: 6rem 1.6rem;
  text-align: center;
  font-size: 1.6rem;
  color: #6a7282;
}

@media (max-width: 1024px) {
  .news-hero__title {
    font-size: 4.8rem;
  }

  .news-card__media {
    flex-basis: 22rem;
    width: 22rem;
    height: 16rem;
  }
}

@media (max-width: 768px) {
  .news-hero {
    height: 36rem;
    min-height: 28rem;
  }

  .news-hero__title {
    font-size: 3.6rem;
  }

  .news-hero__sub {
    font-size: 2rem;
  }

  .news-page__inner {
    padding: 4rem 1.6rem 5rem;
  }

  .news-list {
    margin-top: 3.2rem;
  }

  .news-tabs {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.4rem;
    -webkit-overflow-scrolling: touch;
  }

  .news-card {
    flex-direction: column;
    min-height: 0;
  }

  .news-card__media {
    max-width: 100%;
    width: 100%;
    flex: none;
    height: 20rem;
  }

  .news-card__body {
    padding: 2rem;
  }

  .news-card__excerpt--single {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}

@media (max-width: 480px) {
  .news-hero__title {
    font-size: 3.2rem;
  }

  .news-tabs__btn {
    min-width: 11rem;
    padding: 1.2rem 2rem;
  }
}

/* ==================== 新闻详情页（Figma 1:1211） ==================== */
.news-detail-hero {
  height: 50rem;
  min-height: 32rem;
  background: #0a1628;
}

.news-detail-hero .about-hero-slide {
  height: 100%;
  min-height: inherit;
}

.news-detail-hero__slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.news-detail-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.news-detail-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100%);
}

.news-detail-hero__bar {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  max-width: 153.4rem;
  margin: 0 auto;
  padding: 0 1.6rem 6.4rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}

.news-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: rgba(255, 255, 255, 0.9);
  transition: opacity 0.2s;
}

.news-detail-back:hover {
  opacity: 0.85;
}

.news-detail-back__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}

.news-detail-hero__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  max-width: 72rem;
}

.news-detail-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.6rem;
}

.news-detail-hero__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 8.8rem;
  height: 2.8rem;
  padding: 0.4rem 1.6rem;
  border-radius: 999px;
  background: #00a651;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2rem;
}

.news-detail-hero__date {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: rgba(255, 255, 255, 0.8);
}

.news-detail-hero__cal {
  flex-shrink: 0;
  display: block;
}

.news-detail-hero__title {
  margin: 0;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-align: left;
  text-shadow: var(--shadow-hero-text);
}

.news-detail-hero__author {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: rgba(255, 255, 255, 0.8);
}

.news-detail-body {
  background: #fff;
}

.news-detail-body__inner {
  max-width: 89.6rem;
  margin: 0 auto;
  padding: 8rem 1.6rem 8rem;
  display: flex;
  flex-direction: column;
  gap: 4.8rem;
  box-sizing: content-box;
}

.news-detail-article {
  width: 100%;
}

.news-detail-p {
  margin: 0 0 2.4rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8;
  color: #364153;
}

.news-detail-p--lead {
  text-align: justify;
  margin-bottom: 3.2rem;
}

.news-detail-figure {
  margin: 0 0 4rem;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
}

.news-detail-figure__img {
  width: 100%;
  height: auto;
  display: block;
}

.news-detail-h2 {
  margin: 0 0 1.6rem;
  padding-bottom: 1.2rem;
  min-height: 5.7rem;
  box-sizing: border-box;
  border-bottom: 0.3rem solid #00a651;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: #1f2937;
}

.news-detail-h2 + .news-detail-p {
  margin-top: 0;
}

.news-detail-list {
  margin: 0 0 4rem;
  padding-left: 3.2rem;
  list-style: disc;
  list-style-position: outside;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8;
  color: #364153;
}

.news-detail-quote {
  margin: 2.4rem 0 4rem;
  padding: 2.4rem 2.4rem 2.4rem 2.8rem;
  border-radius: 0.8rem;
  border-left: 0.4rem solid #00a651;
  background: linear-gradient(170.5deg, #f0f9ff 0%, #e0f2fe 100%);
  box-sizing: border-box;
}

.news-detail-quote__text {
  margin: 0 0 1.6rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8;
  color: #374151;
}

.news-detail-quote__cite {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
  color: #6b7280;
}

.news-detail-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 3.3rem;
  border-top: 0.1rem solid #e5e7eb;
}

.news-detail-share__label {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
}

.news-detail-share__label-icon {
  flex-shrink: 0;
  display: block;
  width: 2rem;
  height: 2rem;
}

.news-detail-share__label-text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  color: #4a5565;
}

.news-detail-share__btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: center;
}

.news-detail-share__btn {
  flex-shrink: 0;
  width: 4rem;
  height: 4rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #f3f4f6;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.news-detail-share__btn:hover {
  background: #e8eaee;
}

.news-detail-share__btn img {
  display: block;
  width: 2rem;
  height: 2rem;
}

.news-detail-cta {
  padding: 3.2rem;
  border-radius: 1.6rem;
  min-height: 21.6rem;
  box-sizing: border-box;
  background: linear-gradient(166.45deg, #f0f9ff 0%, #eff6ff 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.6rem;
}

.news-detail-cta__title {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 3.2rem;
  color: #1e2939;
}

.news-detail-cta__desc {
  margin: 0;
  max-width: 96rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: #4a5565;
}

.news-detail-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.8rem;
  min-width: 17.6rem;
  min-height: 5.6rem;
  padding: 1.6rem 4rem;
  border-radius: var(--radius-btn);
  background: #00a651;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  box-shadow: var(--shadow-btn);
  transition: background 0.2s, transform 0.15s;
}

.news-detail-cta__btn:hover {
  background: var(--color-primary-dark);
}

@media (max-width: 1024px) {
  .news-detail-hero__title {
    font-size: 3.6rem;
  }
}

@media (max-width: 768px) {
  .news-detail-hero {
    height: 36rem;
    min-height: 28rem;
  }

  .news-detail-hero__title {
    font-size: 2.8rem;
  }

  .news-detail-body__inner {
    padding: 6rem 1.6rem 6rem;
    gap: 4rem;
  }

  .news-detail-h2 {
    font-size: 2.4rem;
    min-height: 0;
  }

  .news-detail-p,
  .news-detail-list,
  .news-detail-quote__text {
    font-size: 1.6rem;
  }

  .news-detail-share {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .news-detail-hero__title {
    font-size: 2.4rem;
    word-break: break-word;
  }

  .news-detail-cta {
    min-height: 0;
    padding: 2.4rem 1.6rem;
  }
}

/* ==================== 服务案例页（Figma 1:1385） ==================== */
.case-hero {
  height: 50rem;
  min-height: 32rem;
  background: #0a1628;
}

.case-hero .about-hero-slide {
  height: 100%;
  min-height: inherit;
}

.case-hero__slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.case-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.case-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(10, 22, 40, 0.65) 0%, rgba(10, 22, 40, 0.2) 55%, rgba(10, 22, 40, 0.35) 100%);
}

.case-hero .about-hero-slide__inner.case-hero__inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  height: 100%;
  transform: none;
  padding: 0 1.6rem;
  box-sizing: border-box;
  text-align: center;
}

.case-hero__title {
  margin: 0;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-shadow: var(--shadow-hero-text);
}

.case-hero__sub {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.333;
  color: #dff2fe;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.12);
}

.case-stats {
  background: #fff;
}

.case-stats__inner {
  max-width: 102.4rem;
  margin: 0 auto;
  padding: 3.2rem 1.6rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3.2rem;
  box-sizing: content-box;
}

.case-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.2rem;
}

.case-stat__icon {
  width: 4.8rem;
  height: 4.8rem;
  flex-shrink: 0;
}

.case-stat__num {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.11;
  color: #1e2939;
}

.case-stat__label {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: #4a5565;
}

.case-board {
  background: #f9fafb;
  padding-bottom: 6.4rem;
}

.case-board__inner {
  max-width: 128rem;
  margin: 0 auto;
  padding: 0 1.6rem 4rem;
  box-sizing: content-box;
}

.case-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  padding: 0 0 4rem;
}

.case-filters__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  min-height: 5.6rem;
  padding: 0 3.2rem;
  border: none;
  border-radius: 999px;
  background: #fff;
  color: #364153;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.4rem;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  min-width: 19.2rem;
  box-sizing: border-box;
}

.case-filters__btn:hover {
  background: #f3f4f6;
}

.case-filters__btn--active {
  min-width: 22.26rem;
  min-height: 5.88rem;
  padding: 0 1.6rem 0 2.4rem;
  background: #00a651;
  color: #fff;
  box-shadow: var(--shadow-btn);
}

.case-filters__btn--active:hover {
  background: var(--color-primary-dark);
  color: #fff;
}

.case-filters__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}

.case-filters__btn--active .case-filters__icon {
  width: 2.1rem;
  height: 2.1rem;
}

.case-filters__text {
  flex: 1;
  text-align: center;
}

.case-filters__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.4rem;
  height: 2.52rem;
  padding: 0 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2rem;
  color: #fff;
}

.case-filters__btn:not(.case-filters__btn--active) .case-filters__badge {
  display: none;
}

.case-board .case-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.2rem;
}

.case-board .case-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: var(--shadow-news-card);
  min-height: 40rem;
}

.case-board .case-card[hidden] {
  display: none;
}

.case-board .case-card__media {
  position: relative;
  flex-shrink: 0;
  height: 25.6rem;
  overflow: hidden;
  display: block;
}

.case-board .case-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.case-board .case-card__tag {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  z-index: 1;
  max-width: calc(100% - 2.2rem);
  padding: 0.8rem 1.6rem;
  border-radius: 999px;
  background: #00a651;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.43;
  text-align: center;
}

.case-board .case-card__tag--long {
  font-size: 1.2rem;
  line-height: 1.4;
  padding: 0.6rem 1.2rem;
}

.case-board .case-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 2.4rem;
  min-height: 14.4rem;
  box-sizing: border-box;
}

.case-board .case-card__title {
  margin: 0 0 1.2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}

.case-board .case-card__title a {
  color: #1e2939;
  transition: color 0.2s;
}

.case-board .case-card__title a:hover {
  color: var(--color-primary);
}

.case-board .case-card__client {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2rem;
  color: #4a5565;
}

.case-board .case-card__client img {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
}

.case-board .case-card__more {
  margin-top: auto;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2rem;
  color: #00a651;
  transition: opacity 0.2s;
}

.case-board .case-card__more:hover {
  opacity: 0.85;
}

.case-empty {
  padding: 4rem 1.6rem;
  text-align: center;
  font-size: 1.6rem;
  color: #6a7282;
}

@media (max-width: 1024px) {
  .case-hero__title {
    font-size: 4.8rem;
  }

  .case-board .case-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-filters__btn {
    min-width: 17rem;
  }

  .case-filters__btn--active {
    min-width: 20rem;
  }
}

@media (max-width: 768px) {
  .case-hero {
    height: 36rem;
    min-height: 28rem;
  }

  .case-hero__title {
    font-size: 3.6rem;
  }

  .case-hero__sub {
    font-size: 2rem;
  }

  .case-stats__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem 2rem;
  }

  .case-filters {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.8rem;
    -webkit-overflow-scrolling: touch;
  }

  .case-filters__btn,
  .case-filters__btn--active {
    flex: 0 0 auto;
    min-width: auto;
  }

  .case-board .case-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .case-hero__title {
    font-size: 3.2rem;
  }

  .case-stats__inner {
    grid-template-columns: 1fr;
  }

  .case-stat__num {
    font-size: 3rem;
  }
}

/* ==================== 案例详情页（Figma 1:1852） ==================== */
.case-detail-hero {
  height: 50rem;
  min-height: 32rem;
  background: #0a1628;
}

.case-detail-hero .about-hero-slide {
  height: 100%;
  min-height: inherit;
}

.case-detail-hero__slide {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.case-detail-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.case-detail-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.4) 100%);
}

.case-detail-hero__bar {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  max-width: 153.4rem;
  margin: 0 auto;
  padding: 0 1.6rem 6.4rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}

.case-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: rgba(255, 255, 255, 0.9);
  transition: opacity 0.2s;
}

.case-detail-back:hover {
  opacity: 0.85;
}

.case-detail-back__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}

.case-detail-hero__title {
  margin: 0;
  max-width: 38.4rem;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-family: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  text-align: left;
  text-shadow: var(--shadow-hero-text);
}

.case-detail-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem 2.4rem;
}

.case-detail-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.8rem;
  color: #fff;
}

.case-detail-hero__meta-item img {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}

.case-detail-main {
  background: #fff;
}

.case-detail-main__inner {
  max-width: 112rem;
  margin: 0 auto;
  padding: 8rem 1.6rem 8rem;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  box-sizing: content-box;
}

.case-detail-sec--intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2.4rem;
}

.case-detail-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.8rem 2.4rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #155dfc 0%, #00bba7 100%);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
}

.case-detail-h2 {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  color: #1e2939;
}

.case-detail-h2--inline {
  line-height: 1.2;
}

.case-detail-lead {
  margin: 0;
  max-width: 112rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.625;
  color: #4a5565;
}

.case-detail-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.4rem;
  width: 100%;
}

.case-detail-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.2rem;
  min-height: 18rem;
  padding: 2.4rem 1.6rem;
  border: 0.2rem solid #bedbff;
  border-radius: 1.4rem;
  box-sizing: border-box;
  background: linear-gradient(145.51deg, #eff6ff 0%, #f0fdf4 100%);
}

.case-detail-metric__icon {
  width: 4.8rem;
  height: 4.8rem;
  flex-shrink: 0;
}

.case-detail-metric__val {
  margin: 0;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  color: #1e2939;
}

.case-detail-metric__label {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2.4rem;
  color: #4a5565;
}

.case-detail-sec-head {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.case-detail-sec-head__icon {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: #dbeafe;
  display: flex;
  align-items: center;
  justify-content: center;
}

.case-detail-sec-head__icon img {
  width: 2.4rem;
  height: 2.4rem;
}

.case-detail-box {
  width: 100%;
  border-radius: 1.6rem;
  box-sizing: border-box;
}

.case-detail-box--gray {
  background: #f9fafb;
  padding: 3.2rem;
}

.case-detail-box--mint {
  padding: 3.2rem;
  background: linear-gradient(166.54deg, #eff6ff 0%, #f0fdfa 100%);
}

.case-detail-numlist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  counter-reset: case-detail-num;
}

.case-detail-numlist__item {
  position: relative;
  padding-left: 3.6rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.56;
  color: #364153;
}

.case-detail-numlist__item::before {
  counter-increment: case-detail-num;
  content: counter(case-detail-num);
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: #00a651;
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.4rem;
  text-align: center;
}

.case-detail-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.case-detail-checklist__item {
  position: relative;
  padding-left: 3.6rem;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.56;
  color: #364153;
}

.case-detail-checklist__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../img/case-detail-icon-check.svg") center / contain no-repeat;
}

.case-detail-sec--gallery {
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}

.case-detail-sec--gallery .case-detail-h2 {
  margin-bottom: 0;
}

.case-detail-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.4rem;
  width: 100%;
}

.case-detail-gallery__item {
  margin: 0;
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: var(--shadow-news-card);
}

.case-detail-gallery__img {
  width: 100%;
  height: 32rem;
  max-width: none;
  object-fit: cover;
  display: block;
}

.case-detail-sec:not(.case-detail-sec--intro):not(.case-detail-sec--gallery) {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}

@media (max-width: 1024px) {
  .case-detail-hero__title {
    font-size: 3.6rem;
  }

  .case-detail-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .case-detail-hero {
    height: 36rem;
    min-height: 28rem;
  }

  .case-detail-hero__title {
    font-size: 2.8rem;
  }

  .case-detail-main__inner {
    padding: 6rem 1.6rem 6rem;
    gap: 4.8rem;
  }

  .case-detail-h2 {
    font-size: 2.6rem;
  }

  .case-detail-lead {
    font-size: 1.8rem;
  }

  .case-detail-gallery {
    grid-template-columns: 1fr;
  }

  .case-detail-gallery__img {
    height: 24rem;
  }
}

@media (max-width: 480px) {
  .case-detail-hero__title {
    font-size: 2.4rem;
    word-break: break-word;
  }

  .case-detail-metrics {
    grid-template-columns: 1fr;
  }

  .case-detail-metric__val {
    font-size: 2.6rem;
  }
}

/* 联系我们页（Figma 1:2106） */
.contact-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.contact-main {
  background: #fff;
}

.contact-hero {
  position: relative;
  width: 100%;
  height: 50rem;
  min-height: 28rem;
  overflow: hidden;
  background: #0a1628;
}

.contact-hero__slide {
  position: relative;
  width: 100%;
  height: 100%;
}

.contact-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

.contact-hero__inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  padding: 0 1.6rem;
  text-align: center;
  box-sizing: border-box;
}

.contact-hero__title {
  margin: 0;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.15);
}

.contact-hero__sub {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.333;
  color: #dff2fe;
  text-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.12);
}

.contact-cards {
  padding: 8rem 0 0;
}

.contact-cards__inner {
  max-width: 115.2rem;
  margin: 0 auto;
  padding: 0 1.6rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3.2rem;
}

.contact-card {
  background: #fff;
  border-radius: 1.4rem;
  box-shadow: var(--shadow-btn);
  padding: 3.2rem 3.2rem 2.8rem;
  text-align: center;
  min-height: 26rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact-card__icon-wrap {
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #00a651 0%, #00a63e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.2rem;
  flex-shrink: 0;
}

.contact-card__icon {
  width: 3.2rem;
  height: 3.2rem;
  object-fit: contain;
}

.contact-card__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #1e2939;
  margin: 0 0 1.6rem;
}

.contact-card__text {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #4a5565;
  margin: 0;
  width: 100%;
}

.contact-card__text + .contact-card__text {
  margin-top: 0.8rem;
}

.contact-map-sec {
  margin-top: 8rem;
  padding: 8rem 0;
  background: #f9fafb;
}

.contact-map-sec__inner {
  max-width: 115.2rem;
  margin: 0 auto;
  padding: 0 1.6rem;
}

.contact-map {
  position: relative;
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.contact-map__media {
  background: linear-gradient(152deg, #eff6ff 0%, #f0fdf4 100%);
}

.contact-map__img {
  display: block;
  width: 100%;
  height: 60rem;
  max-width: none;
  object-fit: cover;
}

.contact-map__card {
  position: absolute;
  left: 3.2rem;
  bottom: 3.2rem;
  width: 44.8rem;
  max-width: calc(100% - 6.4rem);
  background: rgba(255, 255, 255, 0.95);
  border-radius: 1.4rem;
  padding: 2.4rem;
  box-shadow: 0px 20px 25px 0px rgba(0, 0, 0, 0.1), 0px 8px 10px 0px rgba(0, 0, 0, 0.1);
}

.contact-map__card-row {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
}

.contact-map__pin {
  flex-shrink: 0;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #00a651 0%, #00a63e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-map__pin img {
  width: 2.4rem;
  height: 2.4rem;
  object-fit: contain;
}

.contact-map__company {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #1e2939;
  margin: 0 0 0.8rem;
}

.contact-map__addr {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #4a5565;
  margin: 0 0 1.2rem;
}

.contact-map__links {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.contact-map__link {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #00a651;
}

.contact-map__link img {
  flex-shrink: 0;
}

.contact-collab {
  max-width: 115.2rem;
  margin: 0 auto;
  padding: 6.4rem 1.6rem 8rem;
}

.contact-collab__intro {
  text-align: center;
  margin-bottom: 6.4rem;
}

.contact-collab__title {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.11;
  color: #1e2939;
  margin: 0 0 1.6rem;
}

.contact-collab__sub {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  color: #4a5565;
  margin: 0;
}

.contact-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3.2rem;
  margin-bottom: 6.4rem;
}

.contact-step {
  position: relative;
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: var(--shadow-btn);
  padding: 3.2rem 3.2rem 2.8rem;
  text-align: center;
  min-height: 31.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.contact-step:not(:last-child)::after {
  content: "";
  display: none;
  position: absolute;
  left: 100%;
  top: 15.7rem;
  width: 3.2rem;
  height: 0.2rem;
  background: linear-gradient(90deg, #00a651 0%, #05df72 100%);
  z-index: 1;
  pointer-events: none;
}

.contact-step__num {
  display: block;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(0, 166, 81, 0.1);
  margin-bottom: 0.8rem;
}

.contact-step__icon-wrap {
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #00a651 0%, #00a63e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.2rem;
  flex-shrink: 0;
}

.contact-step__icon {
  width: 3.2rem;
  height: 3.2rem;
  object-fit: contain;
}

.contact-step__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #1e2939;
  margin: 0 0 1.2rem;
}

.contact-step__desc {
  font-size: 1.6rem;
  line-height: 1.5;
  color: #4a5565;
  margin: 0;
  max-width: 19.2rem;
}

.contact-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.2rem;
  margin-bottom: 6.4rem;
}

.contact-benefit {
  background: linear-gradient(143deg, #00a651 0%, #00a63e 100%);
  border-radius: 1.6rem;
  padding: 3.2rem 3.2rem 2.4rem;
  box-shadow: var(--shadow-btn);
  min-height: 27rem;
}

.contact-benefit__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.33;
  color: #fff;
  margin: 0 0 2.4rem;
  padding-bottom: 1.6rem;
  border-bottom: 2px solid rgba(255, 255, 255, 0.3);
}

.contact-benefit__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.contact-benefit__list li {
  position: relative;
  padding-left: 2rem;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #f0fdf4;
}

.contact-benefit__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8rem;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #fff;
}

.contact-cta {
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: var(--shadow-btn);
  padding: 4.8rem 3.2rem;
  text-align: center;
}

.contact-cta__title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  color: #1e2939;
  margin: 0 0 1.6rem;
}

.contact-cta__desc {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  color: #4a5565;
  margin: 0 0 2.4rem;
}

.contact-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
}

.contact-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  min-width: 18.8rem;
  min-height: 6rem;
  padding: 0 2.4rem;
  border-radius: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity 0.2s, transform 0.15s;
}

.contact-cta__btn:hover {
  opacity: 0.92;
}

.contact-cta__btn--primary {
  background: linear-gradient(90deg, #00a651 0%, #00a63e 100%);
  color: #fff;
}

.contact-cta__btn--outline {
  background: #fff;
  border: 2px solid #00a651;
  color: #00a651;
  min-width: 19.2rem;
}

.contact-cta__btn img {
  flex-shrink: 0;
}

@media (min-width: 1200px) {
  .contact-step:not(:last-child)::after {
    display: block;
  }
}

@media (max-width: 1199px) {
  .contact-cards__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-benefits {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .contact-hero {
    height: 36rem;
  }

  .contact-hero__title {
    font-size: 3.2rem;
  }

  .contact-hero__sub {
    font-size: 1.6rem;
  }

  .contact-cards {
    padding-top: 4.8rem;
  }

  .contact-cards__inner {
    grid-template-columns: 1fr;
  }

  .contact-map-sec {
    margin-top: 4.8rem;
    padding: 4.8rem 0;
  }

  .contact-map__img {
    height: 32rem;
  }

  .contact-map {
    display: flex;
    flex-direction: column;
  }

  .contact-map__card {
    position: relative;
    left: auto;
    bottom: auto;
    order: 2;
    width: 100%;
    max-width: none;
    margin: 0;
    border-radius: 0 0 1.6rem 1.6rem;
  }

  .contact-map__media {
    order: 1;
  }

  .contact-collab__title {
    font-size: 2.8rem;
  }

  .contact-collab__sub {
    font-size: 1.8rem;
  }

  .contact-steps {
    grid-template-columns: 1fr;
  }

  .contact-cta__title {
    font-size: 2.4rem;
  }

  .contact-cta__desc {
    font-size: 1.8rem;
  }

  .contact-cta__actions {
    flex-direction: column;
  }

  .contact-cta__btn,
  .contact-cta__btn--outline {
    width: 100%;
    max-width: 32rem;
  }
}

@media (max-width: 480px) {
  .contact-hero__title {
    font-size: 2.6rem;
  }
}

/* ==================== 打印样式 ==================== */
@media print {
  .nav-header { position: static; }
  .section-hero { height: auto; min-height: 0; }
  .hero-slide__img { position: static; height: auto; }
  .about-hero { height: auto; min-height: 20rem; }
  .about-hero-slide__img { position: static; height: auto; max-height: 30rem; }
  .svc-detail-hero__img { position: static; height: auto; max-height: 30rem; }
  .svc-detail-scene__img { height: auto; max-height: 28rem; }
  .news-hero__img { position: static; height: auto; max-height: 30rem; }
  .news-detail-hero__img { position: static; height: auto; max-height: 30rem; }
  .case-hero__img { position: static; height: auto; max-height: 30rem; }
  .case-detail-hero__img { position: static; height: auto; max-height: 30rem; }
  .case-detail-gallery__img { height: auto; max-height: 28rem; }
  .qual-card__photo { opacity: 1; }
  .contact-hero { height: auto; min-height: 20rem; }
  .contact-hero__img { position: static; height: auto; max-height: 30rem; object-fit: contain; }
  .contact-map__img { height: auto; max-height: 40rem; }
}
