

/* =========================
   BASE
========================= */

.qq-mfg,
.qq-mfg *{
  box-sizing:border-box;
  font-family:"Montserrat-Light","Montserrat",Arial,sans-serif;
}


.qq-mfg{
  width:100%;

  padding:58px 0 64px;

  background:#f5f5f7;

  color:#111;
}


.qq-mfg__in{
  width:calc(100% - 36px);

  max-width:1440px;

  margin:0 auto;
}


/* =========================
   HEADING
========================= */

.qq-mfg__head{
  max-width:900px;

  margin:0 0 38px;

  text-align:left;
}


.qq-mfg__eyebrow{
  display:block;

  margin-bottom:10px;

  font-size:12px;
  line-height:1.2;
  font-weight:700;

  letter-spacing:1.5px;

  color:#0868e8;
}


.qq-mfg__head h2{
  margin:0 0 16px;

  font-size:40px;
  line-height:1.2;
  font-weight:300;

  color:#111;
}


.qq-mfg__head p{
  max-width:760px;

  margin:0;

  font-size:15px;
  line-height:1.7;
  font-weight:300;

  color:#666a72;
}


/* =========================
   PROCESS GRID
========================= */

.qq-mfg__process{
  display:grid;

  grid-template-columns:repeat(4,1fr);

  gap:16px;

  overflow:visible;
}


/* =========================
   PROCESS CARD
========================= */

.qq-mfg__step{
  position:relative;

  min-height:235px;

  padding:26px 22px 24px;

  background:#fff;

  border:1px solid #e5e6e9;

  border-radius:12px;

  z-index:1;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    opacity .32s ease,
    filter .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}


/* =========================
   NUMBER
========================= */

.qq-mfg__num{
  position:absolute;

  top:18px;
  right:19px;

  font-size:12px;
  font-weight:700;

  color:#b6b9c0;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    color .32s ease;
}


/* =========================
   ICON
========================= */

.qq-mfg__icon{
  width:42px;
  height:42px;

  margin-bottom:20px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:9px;

  background:#edf5ff;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    background .32s ease,
    box-shadow .32s ease;
}


.qq-mfg__icon svg{
  width:22px;
  height:22px;

  fill:none;

  stroke:#0868e8;

  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;

  transition:
    stroke .32s ease;
}


/* =========================
   CARD TITLE
========================= */

.qq-mfg__step h3{
  margin:0 0 5px;

  font-size:16px;
  line-height:1.35;
  font-weight:700;

  color:#171719;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1);
}


/* =========================
   BLUE LABEL
========================= */

.qq-mfg__step > span{
  display:block;

  margin-bottom:13px;

  font-size:14px;
  line-height:1.35;
  font-weight:600;

  color:#0868e8;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1);
}


/* =========================
   CARD DESCRIPTION
========================= */

.qq-mfg__step p{
  margin:0;

  font-size:15px;
  line-height:1.6;
  font-weight:300;

  color:#666a72;

  transition:
    transform .38s cubic-bezier(.22,.61,.36,1),
    color .32s ease;
}


/* =========================================
   8 个流程卡片 Hover 联动
========================================= */

@media (min-width:901px) and (hover:hover) and (pointer:fine){


  /*
     鼠标进入整个 8 卡片区域
     其他卡片缩小 + 变淡
  */

  .qq-mfg__process:hover
  .qq-mfg__step{

    transform:scale(.92);

    opacity:.44;

    filter:
      saturate(.75)
      brightness(.99);
  }


  /*
     当前鼠标所在卡片
  */

  .qq-mfg__process
  .qq-mfg__step:hover{

    transform:
      translateY(-5px)
      scale(1.08);

    opacity:1;

    filter:none;

    z-index:20;

    border-color:
      rgba(8,104,232,.32);

    box-shadow:
      0 16px 34px
      rgba(7,89,255,.12);
  }


  /*
     当前图标
  */

  .qq-mfg__step:hover
  .qq-mfg__icon{

    transform:scale(1.08);

    background:#0868e8;

    box-shadow:
      0 7px 18px
      rgba(8,104,232,.18);
  }


  .qq-mfg__step:hover
  .qq-mfg__icon svg{
    stroke:#fff;
  }


  /*
     当前编号
  */

  .qq-mfg__step:hover
  .qq-mfg__num{

    transform:scale(1.08);

    color:#0868e8;
  }


  /*
     当前标题
  */

  .qq-mfg__step:hover h3{

    transform:scale(1.035);

    transform-origin:left center;
  }


  /*
     当前蓝色说明
  */

  .qq-mfg__step:hover > span{
    transform:translateX(2px);
  }


  /*
     当前正文
  */

  .qq-mfg__step:hover p{

    transform:translateX(2px);

    color:#50545b;
  }

}


/* =========================================
   QUALITY BAR
   保持原版，不增加 Hover 动效
========================================= */

.qq-mfg__quality{
  margin-top:16px;

  display:grid;

  grid-template-columns:repeat(3,1fr);

  background:#0868e8;

  border-radius:12px;

  overflow:hidden;
}


.qq-mfg__quality-item{
  position:relative;

  min-height:92px;

  padding:20px 24px;

  display:flex;

  align-items:center;

  gap:14px;
}


/* 分隔线 */

.qq-mfg__quality-item:not(:last-child)::after{
  content:"";

  position:absolute;

  right:0;
  top:24%;

  width:1px;
  height:52%;

  background:
    rgba(255,255,255,.2);
}


/* 对勾 */

.qq-mfg__quality-icon{
  width:32px;
  height:32px;

  flex-shrink:0;

  display:flex;

  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:
    rgba(255,255,255,.14);

  font-size:16px;

  font-weight:700;

  color:#fff;
}


.qq-mfg__quality-item > div:last-child{
  display:flex;

  flex-direction:column;

  gap:3px;
}


.qq-mfg__quality-item strong{
  font-size:15px;
  line-height:1.35;

  font-weight:700;

  color:#fff;
}


.qq-mfg__quality-item span{
  font-size:14px;
  line-height:1.4;

  font-weight:300;

  color:
    rgba(255,255,255,.82);
}


/* =========================
   TABLET
========================= */

@media(max-width:900px){

  .qq-mfg{
    padding:48px 0 52px;
  }


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


  .qq-mfg__quality{
    grid-template-columns:1fr;
  }


  .qq-mfg__quality-item:not(:last-child)::after{

    left:22px;
    right:22px;

    top:auto;
    bottom:0;

    width:auto;
    height:1px;
  }

}


/* =========================
   MOBILE
========================= */

@media(max-width:600px){

  .qq-mfg{
    padding:38px 0 42px;
  }


  .qq-mfg__in{
    width:calc(100% - 28px);
  }


  .qq-mfg__head{
    margin-bottom:28px;
  }


  .qq-mfg__eyebrow{
    font-size:10px;

    letter-spacing:1.3px;
  }


  .qq-mfg__head h2{
    font-size:30px;
  }


  .qq-mfg__head p{
    font-size:14px;

    line-height:1.6;
  }


  .qq-mfg__process{
    grid-template-columns:
      repeat(2,minmax(0,1fr));

    gap:9px;
  }


  .qq-mfg__step{
    min-height:225px;

    padding:18px 13px 16px;

    border-radius:10px;

    transform:none;

    opacity:1;

    filter:none;
  }


  .qq-mfg__num{
    top:13px;
    right:13px;

    font-size:10px;
  }


  .qq-mfg__icon{
    width:36px;
    height:36px;

    margin-bottom:15px;

    border-radius:8px;
  }


  .qq-mfg__icon svg{
    width:19px;
    height:19px;
  }


  .qq-mfg__step h3{
    font-size:15px;
  }


  .qq-mfg__step > span{
    margin-bottom:10px;

    font-size:13px;
  }


  .qq-mfg__step p{
    font-size:14px;

    line-height:1.5;
  }


  /* 蓝色 QC 区保持原来的移动端样式 */

  .qq-mfg__quality{
    margin-top:10px;

    border-radius:10px;
  }


  .qq-mfg__quality-item{
    min-height:82px;

    padding:17px;
  }


  .qq-mfg__quality-icon{
    width:29px;
    height:29px;

    font-size:14px;
  }


  .qq-mfg__quality-item strong{
    font-size:14px;
  }


  .qq-mfg__quality-item span{
    font-size:13px;
  }

}


/* =========================
   SMALL MOBILE
========================= */

@media(max-width:360px){

  .qq-mfg__process{
    grid-template-columns:1fr;
  }


  .qq-mfg__step{
    min-height:0;
  }

}

