/* 动效层：滚动入场 / 平滑滚动 / 微交互（由 assets/site.js 驱动） */

/* 仅在 JS 可用时隐藏，避免无脚本环境内容不可见 */
.js .reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .6s cubic-bezier(.22,.61,.36,1), transform .6s cubic-bezier(.22,.61,.36,1);
    will-change: opacity, transform;
}
.js .reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* 错落入场延迟（.d1 ~ .d5） */
.js .reveal.d1 { transition-delay: .08s; }
.js .reveal.d2 { transition-delay: .16s; }
.js .reveal.d3 { transition-delay: .24s; }
.js .reveal.d4 { transition-delay: .32s; }
.js .reveal.d5 { transition-delay: .40s; }

/* 全局平滑滚动（配合 JS 修正固定导航栏高度） */
html { scroll-behavior: smooth; }

/* 按钮按下微反馈 */
.btn-press { transition: transform .12s ease, box-shadow .12s ease; }
.btn-press:active { transform: scale(.96); }

/* 卡片 hover 统一上浮标准 */
.hover-lift { transition: transform .28s ease, box-shadow .28s ease; }
.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(191, 96, 89, .18);
}

/* 尊重「减少动态效果」系统偏好 */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .js .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    .btn-press:active { transform: none; }
}
