/* portal 动效层 —— 滚动进场 / 光标跟随 / 按压反馈（克制精致） */

/* ---- 滚动进场（仅在 JS 启用后隐藏，避免无脚本时内容不可见） ---- */
@media (prefers-reduced-motion: no-preference) {
  html.pt-motion-ready [data-reveal]:not(.is-visible) {
    opacity: 0;
    transform: translateY(16px);
  }
  html.pt-motion-ready [data-reveal] {
    transition:
      opacity var(--t-enter) var(--ease-out-soft),
      transform var(--t-enter) var(--ease-out-soft);
  }
  html.pt-motion-ready [data-reveal].is-visible {
    opacity: 1;
    transform: none;
  }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal] { transition-delay: 0ms; }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal]:nth-child(2) { transition-delay: 60ms; }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal]:nth-child(3) { transition-delay: 120ms; }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal]:nth-child(4) { transition-delay: 180ms; }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal]:nth-child(5) { transition-delay: 240ms; }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal]:nth-child(6) { transition-delay: 300ms; }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal]:nth-child(7) { transition-delay: 360ms; }
  html.pt-motion-ready [data-reveal-stagger] > [data-reveal]:nth-child(8) { transition-delay: 420ms; }
  html.pt-motion-ready [data-reveal="fade"]:not(.is-visible) {
    transform: none;
  }
  html.pt-motion-ready [data-reveal="left"]:not(.is-visible) {
    transform: translateX(-18px);
  }
  html.pt-motion-ready [data-reveal="right"]:not(.is-visible) {
    transform: translateX(18px);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ---- 按钮按压反馈 ---- */
@media (prefers-reduced-motion: no-preference) {
  .pt-btn:active:not(:disabled):not(.is-disabled) {
    transform: scale(.97);
  }
  .pt-btn--primary:active:not(:disabled):not(.is-disabled) {
    transform: translateY(0) scale(.97);
  }
}

/* ---- Banner / Hero 光标跟随光效（已关闭） ---- */
.pt-spotlight::after { display: none !important; }

/* ---- 数字计数（初始态由 JS 控制） ---- */
[data-count] {
  font-variant-numeric: tabular-nums;
}

/* ---- 氛围：生态卡片轻微呼吸 ---- */
@media (prefers-reduced-motion: no-preference) {
  .pt-eco-item {
    animation: pt-eco-breathe var(--t-ambient) ease-in-out infinite alternate;
  }
  .pt-eco-lane--2 .pt-eco-item { animation-delay: -800ms; }
  .pt-eco-lane--3 .pt-eco-item { animation-delay: -1600ms; }
}
@keyframes pt-eco-breathe {
  from { box-shadow: var(--sh-1); }
  to   { box-shadow: var(--sh-2); }
}
@media (prefers-reduced-motion: reduce) {
  .pt-eco-item { animation: none !important; }
}
/* 深色生态区不做阴影呼吸，避免盖掉深色样式 */
.pt-partners.pt-home-sec--dark .pt-eco-item {
  animation: none !important;
}
