/* AOS (Animate On Scroll) 本地版本 */
[data-aos] {
  pointer-events: none;
}

[data-aos].aos-animate {
  pointer-events: auto;
}

[data-aos="fade"] {
  opacity: 0;
  transition-property: opacity;
}

[data-aos="fade"].aos-animate {
  opacity: 1;
}

[data-aos="fade-up"] {
  opacity: 0;
  transform: translate3d(0, 100px, 0);
}

[data-aos="fade-up"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="fade-down"] {
  opacity: 0;
  transform: translate3d(0, -100px, 0);
}

[data-aos="fade-down"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="fade-left"] {
  opacity: 0;
  transform: translate3d(-100px, 0, 0);
}

[data-aos="fade-left"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="fade-right"] {
  opacity: 0;
  transform: translate3d(100px, 0, 0);
}

[data-aos="fade-right"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="slide-up"] {
  opacity: 0;
  transform: translate3d(0, 100px, 0);
}

[data-aos="slide-up"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="slide-down"] {
  opacity: 0;
  transform: translate3d(0, -100px, 0);
}

[data-aos="slide-down"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="slide-left"] {
  opacity: 0;
  transform: translate3d(-100px, 0, 0);
}

[data-aos="slide-left"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="slide-right"] {
  opacity: 0;
  transform: translate3d(100px, 0, 0);
}

[data-aos="slide-right"].aos-animate {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

[data-aos="zoom-in"] {
  opacity: 0;
  transform: scale(0.6);
}

[data-aos="zoom-in"].aos-animate {
  opacity: 1;
  transform: scale(1);
}

[data-aos="zoom-out"] {
  opacity: 0;
  transform: scale(1.2);
}

[data-aos="zoom-out"].aos-animate {
  opacity: 1;
  transform: scale(1);
}

/* AOS 延迟和持续时间 */
[data-aos] {
  transition-duration: 0.4s;
  transition-timing-function: ease-in-out;
}

[data-aos][data-aos-delay="50"] {
  transition-delay: 0.05s;
}

[data-aos][data-aos-delay="100"] {
  transition-delay: 0.1s;
}

[data-aos][data-aos-delay="150"] {
  transition-delay: 0.15s;
}

[data-aos][data-aos-delay="200"] {
  transition-delay: 0.2s;
}

[data-aos][data-aos-delay="250"] {
  transition-delay: 0.25s;
}

[data-aos][data-aos-delay="300"] {
  transition-delay: 0.3s;
}

[data-aos][data-aos-delay="350"] {
  transition-delay: 0.35s;
}

[data-aos][data-aos-delay="400"] {
  transition-delay: 0.4s;
}

[data-aos][data-aos-delay="450"] {
  transition-delay: 0.45s;
}

[data-aos][data-aos-delay="500"] {
  transition-delay: 0.5s;
}

[data-aos][data-aos-delay="550"] {
  transition-delay: 0.55s;
}

[data-aos][data-aos-delay="600"] {
  transition-delay: 0.6s;
}

[data-aos][data-aos-duration="50"] {
  transition-duration: 0.05s;
}

[data-aos][data-aos-duration="100"] {
  transition-duration: 0.1s;
}

[data-aos][data-aos-duration="150"] {
  transition-duration: 0.15s;
}

[data-aos][data-aos-duration="200"] {
  transition-duration: 0.2s;
}

[data-aos][data-aos-duration="250"] {
  transition-duration: 0.25s;
}

[data-aos][data-aos-duration="300"] {
  transition-duration: 0.3s;
}

[data-aos][data-aos-duration="350"] {
  transition-duration: 0.35s;
}

[data-aos][data-aos-duration="400"] {
  transition-duration: 0.4s;
}

[data-aos][data-aos-duration="450"] {
  transition-duration: 0.45s;
}

[data-aos][data-aos-duration="500"] {
  transition-duration: 0.5s;
}

[data-aos][data-aos-duration="550"] {
  transition-duration: 0.55s;
}

[data-aos][data-aos-duration="600"] {
  transition-duration: 0.6s;
}

[data-aos][data-aos-duration="700"] {
  transition-duration: 0.7s;
}

[data-aos][data-aos-duration="800"] {
  transition-duration: 0.8s;
}

[data-aos][data-aos-duration="900"] {
  transition-duration: 0.9s;
}

[data-aos][data-aos-duration="1000"] {
  transition-duration: 1s;
}

[data-aos][data-aos-duration="1100"] {
  transition-duration: 1.1s;
}

[data-aos][data-aos-duration="1200"] {
  transition-duration: 1.2s;
}

[data-aos][data-aos-duration="1300"] {
  transition-duration: 1.3s;
}

[data-aos][data-aos-duration="1400"] {
  transition-duration: 1.4s;
}

[data-aos][data-aos-duration="1500"] {
  transition-duration: 1.5s;
}

[data-aos][data-aos-duration="1600"] {
  transition-duration: 1.6s;
}

[data-aos][data-aos-duration="1700"] {
  transition-duration: 1.7s;
}

[data-aos][data-aos-duration="1800"] {
  transition-duration: 1.8s;
}

[data-aos][data-aos-duration="1900"] {
  transition-duration: 1.9s;
}

[data-aos][data-aos-duration="2000"] {
  transition-duration: 2s;
}

[data-aos][data-aos-duration="2100"] {
  transition-duration: 2.1s;
}

[data-aos][data-aos-duration="2200"] {
  transition-duration: 2.2s;
}

[data-aos][data-aos-duration="2300"] {
  transition-duration: 2.3s;
}

[data-aos][data-aos-duration="2400"] {
  transition-duration: 2.4s;
}

[data-aos][data-aos-duration="2500"] {
  transition-duration: 2.5s;
}

[data-aos][data-aos-duration="2600"] {
  transition-duration: 2.6s;
}

[data-aos][data-aos-duration="2700"] {
  transition-duration: 2.7s;
}

[data-aos][data-aos-duration="2800"] {
  transition-duration: 2.8s;
}

[data-aos][data-aos-duration="2900"] {
  transition-duration: 2.9s;
}

[data-aos][data-aos-duration="3000"] {
  transition-duration: 3s;
}

/* AOS 缓动函数 */
[data-aos][data-aos-easing="linear"] {
  transition-timing-function: linear;
}

[data-aos][data-aos-easing="ease"] {
  transition-timing-function: ease;
}

[data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: ease-in;
}

[data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: ease-out;
}

[data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: ease-in-out;
}

[data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

[data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

[data-aos][data-aos-easing="ease-in-sine"] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

[data-aos][data-aos-easing="ease-out-sine"] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

[data-aos][data-aos-easing="ease-in-out-sine"] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

[data-aos][data-aos-easing="ease-in-quad"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos-easing="ease-out-quad"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos-easing="ease-in-out-quad"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos][data-aos-easing="ease-in-cubic"] {
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

[data-aos][data-aos-easing="ease-out-cubic"] {
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

[data-aos][data-aos-easing="ease-in-out-cubic"] {
  transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}

[data-aos][data-aos-easing="ease-in-quart"] {
  transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

[data-aos][data-aos-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

[data-aos][data-aos-easing="ease-in-out-quart"] {
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}