* {
  margin: 0;
  padding: 0;
}
@font-face {
  font-family: 'iconfont';
  src: url('../font/iconfont.woff2') format('woff2'), url('../font/iconfont.woff?t=1731732768727') format('woff'), url('../font/iconfont.ttf?t=1731732768727') format('truetype');
}
.iconfont {
  font-family: "iconfont" !important;
  font-size: 30%;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.serve {
  width: 100%;
  min-height: 100vh;
  background-size:cover;
  background-image: url(../img/bg_10.png);
  background-repeat: no-repeat;
  padding:200px 0 200px 0;
  background-attachment: fixed;
}
.sre {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto;
  padding-bottom: 200px;
  position: relative;
  z-index: 0;
}
.sre::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/ggfw_img.png);
  background-repeat: no-repeat;
  background-position: top right;
}
.sreTit {
  display: flex;
  margin-bottom: 20px;
}
.sreTit a {
  display: block;
  text-decoration: none;
  margin-right: 30px;
  background-color: #1cbafc;
  color: #fff;
  padding: 30px 6%;
}
.sreTit a:hover{background-color: #004190; }
.sreTit span {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 100%;
  color:#fff;
}
.sreTit p {
  text-align: center;
  margin-top: 5px;
  font-weight: bold;
  font-size: 50%;
  color:#fff;
}
.sreBox {
  width: 100%;
  max-width: 900px;
  border: 1px solid #004190;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
}
.sreBox h2 {
  color: #004190;
  width: 30px;
  margin-right: 60px;
  display: flex;
  align-items: center;
  font-family:"sh";
}
.boxLeft {
  padding: 50px 0 0 40px;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
}
.boxLeft a {
  display: block;
  text-decoration: none;
  width: 25%;
  margin-bottom: 50px;
  color: #000;
}
.boxLeft a:hover p{color:#004190; font-weight:bold; text-decoration:underline;}
.boxLeft span {
  color: #004190;
  font-size: 100%;
}
.boxLeft p {
  font-size: 45%;
  margin-top: 10px;
}
.boxLine {
  display: flex;
  flex-wrap: wrap;
  width: 15px;
  align-content: flex-start;
  justify-content: center;
}
.boxLine p {
  width: 1px;
  height: 50%;
  background-color: #e5e5e5;
}
.boxLine span {
  display: block;
  color: #e5e5e5;
}
/* ==================== 响应式适配（仅本文件，不改 HTML） ==================== */

/* ---------- 平板 / 窄屏（≤1000px）：内容框撑满，竖版标题留白收窄 ---------- */
@media screen and (max-width: 1000px) {
  .serve {
    padding: 190px 0 110px;background-image:none; 
  }
  .sre::after{background-image:none; }
.sreBox h2{display:none;}
  .sre {
    width: 92%;
    padding-bottom: 80px;
  }
  /* 顶部两个按钮等宽等高，中间留空隙并整体居中 */
  .sreTit {
    justify-content: center;
    gap: 24px;
  }
  .sreTit a {
    flex: 1 1 0;
    max-width: 280px;
    margin-right: 0;
  }
  .sreBox {
    width: 100%;
    max-width: 100%;
           border: none;
        background: none;
  }
  .boxLeft {
    padding: 40px 4% 0;
    /* 宫格：等宽等高的格子，模块大小统一 */
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px 12px;
    align-items: stretch;
  }
  .boxLeft a {
    width: auto;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 118px;
    padding: 14px 4px;
    box-sizing: border-box;
  }
  .boxLeft p {
    min-height: 2.9em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    line-height: 1.35;
    word-break: break-word;
  }
  .sreBox h2 {
    margin: 0 4%;
  }
}

/* ---------- 手机（≤750px）：上下结构 + 两列宫格 ---------- */
@media screen and (max-width: 750px) {
  .serve {
    width: 100%;
    min-height: 100vh;
    padding: 110px 0 50px;
    background-repeat: no-repeat;
  }
  .sre {
    width: 100%;
    padding-bottom: 0;
    z-index: 9;
  }
  .sreTit {
    display: flex;
    width: 92%;
    margin: 0 auto 16px;
    padding: 0;
    justify-content: center;
    gap: 12px;
  }
  .sreTit a {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    margin-right: 0;
    padding: 30px 0;
    box-sizing: border-box;
  }
  .sreTit span {
    font-size: clamp(22px, 6vw, 32px);
  }
  .sreTit p {
    margin-top: 8px;
    font-size: clamp(12px, 3.6vw, 18px);
    line-height: 1.3;
  }

  /* 卡片改为上下结构：标题在上，宫格在下，去掉竖排分隔线 */
  .sreBox {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    padding: 0 0 20px;
  }
  .boxLine {
    display: none;
  }
  .boxLeft {
    width: 100%;
    padding: 22px 4% 0;
    /* 两列等宽等高格子，模块大小统一 */
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    align-items: stretch;
  }
  .boxLeft a {
    width: auto;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 104px;
    padding: 16px 6px;
    background: #fff;
    box-sizing: border-box;
  }
  .boxLeft span {
    font-size: clamp(20px, 6.5vw, 30px);
  }
  .boxLeft p {
    min-height: 2.9em;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    font-size: clamp(12px, 3.4vw, 17px);
    line-height: 1.35;
    word-break: break-word;
  }
}

/* ---------- 超窄屏（≤360px）：图标与文字再收一档 ---------- */
@media screen and (max-width: 360px) {
  .boxLeft {
    padding: 18px 4% 0;
  }
  .boxLeft a {
    padding: 16px 2px;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .x-footer {
    margin-top: -200px !important;
  }
}