/* ============================================================
 * 动效增强层（motion-upgrade）
 * 承接 AOS / ScrollReveal / Magic CSS / Motion One 的定制样式。
 * 只新增动效，不覆盖核心样式（back-top / hero-dot 为明确标注的入场升级点）。
 * 加载顺序：在所有板块 CSS 之后。
 * ============================================================ */

/* ---------- 库缺失 / 减弱动效降级：保证内容始终可见 ---------- */
body.no-aos [data-aos] { opacity: 1 !important; transform: none !important; }
body.no-sr  [data-sr]  { opacity: 1 !important; transform: none !important; }

/* ---------- AOS 定制 ---------- */
[data-aos] { will-change: transform, opacity; }
/* fade-up 默认位移 100px 偏大，柔和化为 42px（本文件在 aos.css 之后加载，覆盖生效） */
[data-aos="fade-up"] { transform: translate3d(0, 42px, 0); }
[data-aos^="fade"][data-aos^="fade"] { backface-visibility: hidden; }

/* ---------- ScrollReveal 元素 ---------- */
[data-sr] { will-change: transform, opacity; }

/* ---------- Magic CSS 入场升级点 ---------- */
/* 返回顶部出现：金点 puff 弹入（animation 优先于原 transition，隐藏仍走原过渡） */
.back-top.show { animation: puffIn 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) both; }
/* 轮播指示点激活：金条 puff 绽放 */
.hero-dot.active span { animation: puffIn 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both; }

/* ---------- Motion One 弹性反馈辅助 ---------- */
.mo-pulse { transform-origin: center; }

/* ---------- 质感点缀（轻量、不干扰既有动效） ---------- */
/* 服务卡编号 hover 微升 + 金色光晕（不碰 GSAP 3D 倾斜，仅作用于内部编号） */
.service-card .card-no { transition: transform 0.4s var(--ease-lux), text-shadow 0.4s; }
.service-card:hover .card-no { transform: translateY(-2px); text-shadow: 0 0 14px rgba(212,175,55,0.8); }

/* ---------- 英文模式排版适配（html[lang="en"]，跟随系统语言） ---------- */
html[lang="en"] .hero-title { font-size: clamp(2.2rem, 5.4vw, 4.4rem); letter-spacing: 0.02em; line-height: 1.22; }
html[lang="en"] .hero-kicker { letter-spacing: 0.2em; }
html[lang="en"] .hero-slide-desc { letter-spacing: 0.04em; }
html[lang="en"] .hero-slide-meta span { letter-spacing: 0.08em; }
html[lang="en"] .hero-slide-meta i { letter-spacing: 0.2em; }
html[lang="en"] .sec-title { letter-spacing: 0.02em; }
html[lang="en"] .sec-kicker { letter-spacing: 0.18em; }
html[lang="en"] .sec-desc { letter-spacing: 0.03em; }
html[lang="en"] .brand-text strong { letter-spacing: 0.14em; }
html[lang="en"] .nav-link-cn { letter-spacing: 0.08em; }
html[lang="en"] .footer-logo { letter-spacing: 0.16em; }
html[lang="en"] .svc-trio-title span { letter-spacing: 0.22em; }


/* ============================================================
 * 2026-08-18 质感升级层（移除光斑/光尘粒子后的影院质感补强）
 * 说明：只补强不重构；hover 效果均限定桌面指针设备，避免触屏误触。
 * ============================================================ */

/* 首屏电影调色：实拍新图统一黑金氛围（WebGL 模式由 shader 处理，此处只作用于静态降级图） */
.hero-bg img { filter: saturate(1.08) contrast(1.06) brightness(0.9); }

/* 首屏胶片颗粒：SVG 噪点替代原粒子层，营造影院底噪（叠加在图上、文字之下） */
.hero::after {
  content: '';
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  opacity: 0.05;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

/* 呼吸光环：粒子移除后适当增强氛围 */
.hero-halo { background: radial-gradient(circle, rgba(212,175,55,0.17) 0%, rgba(212,175,55,0.06) 38%, transparent 64%); }

/* 服务卡正面：hover 柔和金色内发光（图片缩放与 GSAP 滚动视差共用 transform，避免冲突故不做 scale） */
@media (hover: hover) and (pointer: fine) {
  .service-card:hover .card-face { box-shadow: inset 0 0 40px rgba(212,175,55,0.06), 0 18px 50px rgba(0,0,0,0.45); }
}

/* 影院播放器：hover 金色描边呼吸 */
.hero-player { transition: border-color 0.5s, box-shadow 0.5s; }
@media (hover: hover) and (pointer: fine) {
  .hero-player:hover {
    border-color: rgba(212, 175, 55, 0.62);
    box-shadow: inset 0 0 50px rgba(0,0,0,0.55), 0 0 34px rgba(212,175,55,0.16), 0 22px 60px rgba(0,0,0,0.5);
  }
}

/* 作品格 hover：金色描边发光（补强既有缩放） */
.g-cell { transition: border-color 0.45s, box-shadow 0.45s; }
.g-cell:hover { box-shadow: 0 16px 44px rgba(0,0,0,0.5), 0 0 0 1px rgba(212,175,55,0.24); }

/* 导航链接 hover：金色微上浮（仅桌面指针设备） */
.nav-link { transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1); }
@media (hover: hover) and (pointer: fine) {
  .nav-link:hover { transform: translateY(-1px); }
}
