/* ==========================================================================
   良婚官网 动效样式 — 克制·优雅
   纯 CSS 为主, 配合 IntersectionObserver(main.js), 不影响 SEO 抓取
   ========================================================================== */

/* 滚动渐入 */
.reveal { opacity: 0; transform: translateY(32px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.reveal.in { opacity: 1; transform: translateY(0); }

/* 子元素依次进入 */
.reveal-stagger > * { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.reveal-stagger.in > * { opacity: 1; transform: translateY(0); }
.reveal-stagger.in > *:nth-child(1) { transition-delay: .05s; }
.reveal-stagger.in > *:nth-child(2) { transition-delay: .13s; }
.reveal-stagger.in > *:nth-child(3) { transition-delay: .21s; }
.reveal-stagger.in > *:nth-child(4) { transition-delay: .29s; }
.reveal-stagger.in > *:nth-child(5) { transition-delay: .37s; }
.reveal-stagger.in > *:nth-child(6) { transition-delay: .45s; }

/* Hero 卡片轻微浮动 */
.hero-card { animation: floatY 7s ease-in-out infinite; }
@keyframes floatY { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

/* 主 CTA 轻脉冲(引导注意, 克制) */
.pulse { animation: pulse 2.8s ease-in-out infinite; }
@keyframes pulse {
  0%, 100% { box-shadow: 0 12px 28px rgba(201,64,67,.36); }
  50% { box-shadow: 0 12px 28px rgba(201,64,67,.36), 0 0 0 10px rgba(201,64,67,.07); }
}
