* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}


/* 隐藏汉堡菜单 */
.header-hamburger,
.nav-close {
   display: none;
}

/* 头部&导航 */

.header {
   /* 布局 */
   max-width: 1600px;
   margin: 5px auto;
   width: 100%;
   display: flex;
   height: 80px;
   background-color: #ffffff;
   justify-content: center;
}

.header-container {
   /* 布局 */
   display: flex;
   width: 100%;
   height: 100%;
   margin: 0 120px;
   background-color: #ffffff;
}

.header-logo {
   /* 布局 */
   display: flex;
   align-items: center;
   margin-right: auto;
   text-decoration: none;
   line-height: 1;
}

.header-logo img {
   width: 25px;
   height: 25px;
   display: block;
}

.header-logo span {
   display: block;
   padding-left: 10px;
   font-size: clamp(20px, 2.5vw, 26px);
   color: rgba(65, 71, 83, 1);
}

.header-nav {
   /* 布局 */
   display: flex;
   justify-content: flex-end;
   align-items: center;
   gap: 30px;
   /* 字体 */
   font-size: clamp(16px, 2.5vw, 28px);
   letter-spacing: 0.28px;
}

.header-nav a {
   /* 字体 */
   color: rgba(65, 71, 83, 1);
   text-decoration: none;
}

/* ============================
次级菜单布局 
=============================== */
.nav-item {
   position: relative;
}

.submenu {
   position: absolute;
   top: 150%;
   /* 紧贴父容器底部边缘 */
   left: 50%;
   /* 向左偏移父容器的 50% */
   transform: translateX(-50%);
   /* 再往回拉自身宽度的 50%，实现水平居中 */

   background: #fff;
   min-width: 200px;
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
   border-radius: 8px;
   padding: 0.5rem 0;

   /* 默认隐藏 + 过渡动画 */
   opacity: 0;
   visibility: hidden;
   transform: translateX(-50%) translateY(5px);
   /* 初始往下偏移 5px */
   transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
   z-index: 999;

}


.nav-item.has-submenu:hover .submenu {
   opacity: 1;
   visibility: visible;
   transform: translateX(-50%) translateY(0);
   /* 恢复原位 */
}


.submenu a {
   display: block;
   padding: 0.65rem 1.5rem;
   color: #333;
   text-decoration: none;
   white-space: nowrap;
   font-size: clamp(24px, 2.5vw, 19px);
}

.submenu a:hover {
   background: #f5f5f5;
   color: #000;
}



/* =========================
    页脚 
    ==============================*/
.footer {
   max-width: 1600px;
   margin: 0 auto;
   display: flex;
   /* align-items: center; */
   justify-content: center;
   background-color: rgb(255, 255, 255);
   padding: 120px 0;
   gap: 40px;
}

.footer-content p {
   font-size: clamp(15px, 2.5vw, 19px);
   color: rgba(65, 71, 83, 1);
}

.footer-item dt a {
   text-decoration: none;
   font-size: clamp(16px, 2.5vw, 20px);
   color: rgba(26, 28, 29, 1);
}

.footer-item dd a {
   text-decoration: none;
   font-size: clamp(14px, 2vw, 17px);
   color: rgba(26, 28, 29, 1);
}

@media (max-width: 768px) {
   .footer {
      padding: 10px 0;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      justify-content: center;
      align-items: start;
      /* 改成了 start，避免垂直方向奇怪的对齐 */
      gap: 10px;
   }

   .footer-content {
      text-align: center;
   }

   .footer-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 100%;
      margin: 0;
      padding: 0;
   }
}



/* 颜色字号主题风格样式 */
:root {
   --boxGray: rgba(0, 78, 159, 0.05);
   --boxWhite: #ffffff;
   --boxpadding: 80px 64px;
   --Mboxpadding: 20px 16px;
   --h1Color: rgba(26, 28, 29, 1);
   --h1FontSize: clamp(1.5rem, 3vw, 3.5rem);
   --h1FontWeight: 700;
   --h1LetterSpacing: 0.28px;
   --h2Color: rgba(26, 28, 29, 1);
   --h2FontSize: clamp(1.25rem, 2vw, 2.5rem);
   --h2FontWeight: 400;
   --h2LetterSpacing: 0.28px;
   --h3Color: rgba(26, 28, 29, 1);
   --h3FontSize: clamp(0.8rem, 2vw, 1.5rem);
   --h3FontWeight: 400;
   --h3LetterSpacing: 0.28px;
   --pColor: rgba(65, 71, 83, 1);
   --pFontSize: clamp(0.8rem, 2vw, 1.4rem);
   --pFontWeight: 400;
   --pLetterSpacing: 0.28px;
   --p2Color: rgba(65, 71, 83, 1);
   --p2FontSize: clamp(0.7rem, 2vw, 1.3rem);
   --p2FontWeight: 400;
   --p2LetterSpacing: 0.28px;
   --bfColor: rgba(0, 78, 159, 1);
   --maincolor: rgba(0, 78, 159, 1);
}

/* 汉堡惨淡 */

/* ========== 移动端样式覆盖（≤768px） ========== */
@media (max-width: 768px) {

   /* 原有移动端设定（保留） */
   .header-nav,
   .header-consult {
      display: none;
      width: 100%;
      margin: 0px 0px;
   }

   .header-hamburger {
      display: block;
      align-items: center;
      justify-content: center;
      width: 40px;
   }

   .nav-close {
      display: block;
   }

   .header-hamburger a {
      display: block;
      text-align: center;
      font-size: 30px;
      text-decoration: none;
      color: #000;
      font-family: Arial, Helvetica, sans-serif;
      font-weight: 400;
   }

   .header {
      height: 48px;
   }

   .header-container {
      margin: 0 0px;
   }

   .header-logo {
      margin-left: 4px;
   }

   /* ========== 以下是新增的移动端菜单样式 ========== */

   /* 遮罩层（需要 JS 动态创建，这里定义样式） */
   .nav-overlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.5);
      z-index: 998;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
   }

   .nav-overlay.active {
      opacity: 1;
      visibility: visible;
   }

   /* 全屏导航菜单 */
   .header-nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: #fff;
      z-index: 999;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: flex-start;
      padding: 20px;
      overflow-y: auto;
      transform: translateY(-100%);
      transition: transform 0.3s ease;
      /* 覆盖PC端的flex行布局 */
      gap: 0;
   }

   .header-nav.active {
      transform: translateY(0);
      display: flex;
      /* 确保显示 */
   }

   /* 关闭按钮 */
   .nav-close {
      width: auto;
      /* 覆盖全局 button 的 width: 100% */
      align-self: flex-end;
      margin-left: auto;
      background: none;
      /* 覆盖全局 button 的蓝色背景 */
      color: #333;
      /* 覆盖全局 button 的白色文字 */
      border: none;
      font-size: 32px;
      line-height: 1;
      padding: 0;
      cursor: pointer;
      margin-bottom: 20px;
      border-radius: 0;
      /* 去掉圆角 */
      margin-top: 0;
      /* 去掉全局的 margin-top */
      font-weight: normal;
      /* 去掉全局的加粗 */
   }

   /* 菜单链接 */
   .header-nav a {
      display: block;
      width: 100%;
      padding: 6px 0;
      font-size: 28px;
      font-weight: bold;
      color: #333;
      text-decoration: none;
      border-bottom: none;
      text-align: left;
   }

   /* 去掉业务板块箭头 */
   .nav-link::after {
      content: none !important;
   }

   /* ===== 二级菜单：手风琴展开，不要弹窗 ===== */
   .has-submenu {
      position: static;
      /* 取消相对定位，避免子菜单参照它定位 */
      width: 100%;
   }

   .submenu {
      display: none;
      /* 默认隐藏，由 .open 控制 */
      position: static;
      /* 改为正常流 */
      transform: none;
      /* 移除所有 transform */
      opacity: 1;
      visibility: visible;
      box-shadow: none;
      border-radius: 0;
      padding: 0 0 0 16px;
      /* 左侧缩进表示层级 */
      min-width: auto;
      background: transparent;
      transition: none;
   }

   .submenu.open {
      display: block;
   }

   .submenu a {
      padding: 5px 0;
      /* 紧凑 */
      font-size: 24px;
      font-weight: 400;
      white-space: normal;
      /* 允许换行 */
   }

   /* 覆盖 PC 端 hover 效果 */
   .nav-item.has-submenu:hover .submenu {
      opacity: 1;
      visibility: visible;
      transform: none;
   }

   /* 确保菜单内的链接可见 */
   .header-nav a {
      color: #333;
   }
}