/* ========== 公共模块：重置样式与字体定义 开始 ========== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
  font-size: 18px;
  color: #212529;
  background: #f5f5f5;
  line-height: 1.6;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color 0.25s ease, opacity 0.25s ease;
}
a:hover {
  color: #9A1010;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.container-custom {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 15px;
}

/* ========== 公共模块：字号定义 ========== */
.fs-13 { font-size: 13px; }
.fs-14 { font-size: 14px; }
.fs-15 { font-size: 15px; }
.fs-16 { font-size: 16px; }
.fs-17 { font-size: 17px; }
.fs-18 { font-size: 18px; }
.fs-20 { font-size: 20px; }
.fs-26 { font-size: 26px; }

.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }

.title-accent {
  color: #9A1010;
}

/* ========== 公共模块：重置样式与字体定义 结束 ========== */

/* ========== 公共模块：入场动画 开始 ========== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim-fadeInUp {
  animation: fadeInUp 0.6s ease forwards;
}
/* ========== 公共模块：入场动画 结束 ========== */

/* ========== 公共模块：图片悬浮特效 开始 ========== */
.img-hover-zoom {
  transition: transform 0.4s ease, filter 0.4s ease;
}
.img-hover-zoom:hover {
  transform: scale(1.05);
  filter: brightness(1.08);
}

.img-hover-wrap {
  overflow: hidden;
}
.img-hover-wrap .img-hover-zoom:hover {
  transform: scale(1.08);
  filter: brightness(1.1);
}
/* ========== 公共模块：图片悬浮特效 结束 ========== */
