/* PC 全屏切页 — 分屏入场动画（参考 soc.xd.cn 文字/图片渐显） */
@media (min-width: 769px) {
  :root {
    --fp-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --fp-duration: 0.85s;
  }

  @keyframes fpFadeUp {
    from {
      opacity: 0;
      transform: translateY(0.4rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fpFadeDown {
    from {
      opacity: 0;
      transform: translateY(-0.32rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fpFadeLeft {
    from {
      opacity: 0;
      transform: translateX(0.56rem);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  @keyframes fpFadeRight {
    from {
      opacity: 0;
      transform: translateX(-0.56rem);
    }
    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  @keyframes fpScaleIn {
    from {
      opacity: 0;
      transform: scale(0.86);
    }
    to {
      opacity: 1;
      transform: scale(1);
    }
  }

  @keyframes fpHomeReserveIn {
    from {
      opacity: 0;
      transform: translateX(-50%) translateY(0.4rem);
    }
    to {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
    }
  }

  @keyframes fpGlowPulse {
    0%, 100% {
      filter: drop-shadow(0 0 0.06rem rgba(46, 140, 255, 0.35));
      transform: translateX(-50%) scale(1);
    }
    50% {
      filter: drop-shadow(0 0 0.18rem rgba(46, 180, 255, 0.75));
      transform: translateX(-50%) scale(1.04);
    }
  }

  .pc-fullpage__screen .fp-item {
    opacity: 0;
    pointer-events: none;
    will-change: opacity, transform;
  }

  .pc-fullpage__screen.is-active .fp-item {
    pointer-events: auto;
  }

  /* 轮播指示点不参与入场动画，始终可点击 */
  .pc-fullpage__screen .carousel-dots,
  .pc-fullpage__screen .features-carousel-dots,
  .pc-fullpage__screen .news-carousel-dots {
    opacity: 1 !important;
    pointer-events: auto !important;
    animation: none !important;
    transform: none !important;
  }

  /* JS 未就绪时保持首屏可见，避免导航/按钮消失 */
  .pc-fullpage:not(.is-ready) #pc-home .fp-item {
    opacity: 1;
    animation: none !important;
    transform: none;
    filter: none;
  }

  .pc-fullpage:not(.is-ready) #pc-home .fp-item.fp-home-reserve,
  .pc-fullpage:not(.is-ready) #pc-home .fp-item.fp-glow {
    transform: translateX(-50%);
  }

  .pc-fullpage__screen.is-active .fp-item.fp-fade-up {
    animation: fpFadeUp var(--fp-duration) var(--fp-ease) forwards;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-fade-down {
    animation: fpFadeDown var(--fp-duration) var(--fp-ease) forwards;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-fade-left {
    animation: fpFadeLeft var(--fp-duration) var(--fp-ease) forwards;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-fade-right {
    animation: fpFadeRight var(--fp-duration) var(--fp-ease) forwards;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-scale-in {
    animation: fpScaleIn var(--fp-duration) var(--fp-ease) forwards;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-home-reserve {
    animation: fpHomeReserveIn var(--fp-duration) var(--fp-ease) forwards;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-glow {
    animation: fpHomeReserveIn var(--fp-duration) var(--fp-ease) forwards,
               fpGlowPulse 2.2s ease-in-out 1s infinite;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-delay-1 { animation-delay: 0.1s; }
  .pc-fullpage__screen.is-active .fp-item.fp-delay-2 { animation-delay: 0.22s;margin-top: 1.2rem;margin-bottom: 0.2rem; }
  .pc-fullpage__screen.is-active .fp-item.fp-delay-3 { animation-delay: 0.36s; }
  .pc-fullpage__screen.is-active .fp-item.fp-delay-4 { animation-delay: 0.5s; }
  .pc-fullpage__screen.is-active .fp-item.fp-delay-5 { animation-delay: 0.65s; }
  .pc-fullpage__screen.is-active .fp-item.fp-delay-6 { animation-delay: 0.8s; }
  .pc-fullpage__screen.is-active .fp-item.fp-delay-7 { animation-delay: 0.95s; }
  .pc-fullpage__screen.is-active .fp-item.fp-delay-8 { animation-delay: 1.1s; }
}

@media (min-width: 769px) and (prefers-reduced-motion: reduce) {
  .pc-fullpage__screen .fp-item {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }

  .pc-fullpage__screen.is-active .fp-item.fp-home-reserve,
  .pc-fullpage__screen.is-active .fp-item.fp-glow {
    transform: translateX(-50%) !important;
  }
}
