* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      background: #000;
      color: #fff;
      text-align: center;
      padding: 0 20px;
    }

    /* 占位高度，制造滚动空间 */
    .space {
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
      opacity: 0.6;
    }

    /* 核心：默认初始状态 透明+向下偏移 */
    .fade-up {
      opacity: 0;
      transform: translateY(40px);
      /* 明确属性，避免 transition: all 牵连无关样式 */
      transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.26, 1),
        transform 0.8s cubic-bezier(0.22, 1, 0.26, 1);
    }

    /* 进入视口激活样式 */
    .fade-up.active {
      opacity: 1;
      transform: translateY(0);
    }

    /* 标题样式 仿Apple大标题 */
    .title {
      font-size: 56px;
      font-weight: 600;
      line-height: 1.2;
      margin-bottom: 30px;
    }

    .desc {
      font-size: 22px;
      opacity: 0.8;
    }

    /* 加长页面：分段占位 */
    .space-tall {
      height: 120vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      opacity: 0.5;
      border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    /* 多行列表式淡入块 */
    .row-block {
      max-width: 720px;
      margin: 0 auto 28px;
      padding: 18px 22px;
      text-align: left;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .row-block .row-label {
      font-size: 12px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      opacity: 0.55;
      margin-bottom: 8px;
    }

    .row-block .row-text {
      font-size: 17px;
      line-height: 1.55;
      opacity: 0.92;
    }

    .section-gap {
      height: 45vh;
    }

    /* 第二模块：更大的入场位移、更慢更缓的过渡 */
    .fade-up.fade-up--module2 {
      transform: translateY(96px);
      transition:
        opacity 1.45s cubic-bezier(0.22, 0.61, 0.36, 1),
        transform 1.45s cubic-bezier(0.22, 0.61, 0.36, 1);
    }

    .fade-up.fade-up--module2.active {
      transform: translateY(0);
    }

    /* 「生态与软件」：入场时长为默认 fade-up 的 2 倍（0.8s → 1.6s） */
    .fade-up.fade-up--ecosystem {
      transition:
        opacity 1.6s cubic-bezier(0.22, 1, 0.26, 1),
        transform 1.6s cubic-bezier(0.22, 1, 0.26, 1);
    }

    @media (prefers-reduced-motion: reduce) {
      .fade-up {
        transition-duration: 0.01ms;
        transform: none;
      }
      .fade-up.active {
        transform: none;
      }
      .fade-up.fade-up--module2,
      .fade-up.fade-up--module2.active {
        transform: none;
      }
      .fade-up.fade-up--ecosystem,
      .fade-up.fade-up--ecosystem.active {
        transition-duration: 0.01ms;
        transform: none;
      }
    }

    .title.title--features {
      font-size: 42px;
      margin-top: 40px;
    }

    .title.title--ecosystem {
      font-size: 40px;
    }

    .title.title--footer {
      font-size: 36px;
      margin-bottom: 48px;
    }

    .desc.desc--footer {
      margin-bottom: 120px;
    }
