/* css/main.css — 补充动画与细节 */

/* 页面淡入 */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.page-hero h1,
.hero-full .hero-content h1,
.hero-full .hero-content p {
  animation: fadeUp 0.7s ease both;
}
.page-hero h1 { animation-delay: 0.1s; }
.hero-full .hero-content p { animation-delay: 0.25s; }
.hero-actions { animation: fadeUp 0.7s ease 0.4s both; }
.hero-visual  { animation: fadeUp 0.8s ease 0.2s both; }

/* 统计数字计数动效占位（由JS可增强） */
.stat-num { transition: color 0.3s; }

/* 平滑 section 分割线 */
.split-section + .split-section {
  border-top: 1px solid var(--border);
}

/* 链接悬停下划线效果 */
.footer-col ul li a {
  position: relative;
  display: inline-block;
}
.footer-col ul li a::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 0; height: 1px;
  background: rgba(255,255,255,0.6);
  transition: width 0.3s ease;
}
.footer-col ul li a:hover::after { width: 100%; }

/* 图片懒加载模糊过渡 */
img[loading="lazy"] {
  transition: filter 0.4s ease;
}
img[loading="lazy"].loaded {
  filter: none;
}

/* 按钮波纹效果 */
.btn {
  position: relative;
  overflow: hidden;
}
.btn::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 0; height: 0;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.4s ease, height 0.4s ease, opacity 0.4s ease;
  opacity: 0;
}
.btn:active::after {
  width: 200px; height: 200px;
  opacity: 1;
  transition: 0s;
}

/* Sticky header 滚动压缩 */
#site-header {
  transition: height 0.3s ease, box-shadow 0.3s ease;
}

/* 平板分割修正 */
@media (max-width: 900px) {
  .split-section {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .split-section.reverse {
    direction: ltr;
  }
}
