/* roulang page: index */
:root {
      --color-lime: #00E599;
      --color-green: #10B981;
      --color-dark: #0F1412;
      --color-deep: #070A09;
      --color-orange: #FF5A36;
      --color-surface: #FAFAFB;
      --color-border: #E5E7EB;
    }

    /* 基础重置 */
    * { box-sizing: border-box; }
    body {
      background-color: var(--color-surface);
      color: #1F2937;
      font-family: Inter, -apple-system, PingFang SC, "Microsoft YaHei", sans-serif;
      overflow-x: hidden;
    }

    /* 视觉微动效与边框发光 */
    .card-hover-fx {
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .card-hover-fx:hover {
      transform: translateY(-5px);
      box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.08);
      border-color: rgba(0, 229, 153, 0.6);
    }

    /* 数字字体微排版 */
    .metric-number {
      font-feature-settings: "tnum";
      font-variant-numeric: tabular-nums;
      letter-spacing: -0.04em;
    }

    /* 折叠手风琴动效 */
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out, opacity 0.3s ease;
      opacity: 0;
    }
    .faq-item.active .faq-answer {
      max-height: 220px;
      opacity: 1;
    }
    .faq-item.active .faq-chevron {
      transform: rotate(180deg);
      color: var(--color-green);
    }

    /* 脉冲光环 */
    @keyframes pulse-ring {
      0% { transform: scale(0.95); opacity: 0.8; }
      50% { transform: scale(1.15); opacity: 0.3; }
      100% { transform: scale(0.95); opacity: 0.8; }
    }
    .pulse-ring {
      animation: pulse-ring 2.4s infinite cubic-bezier(0.45, 0, 0.55, 1);
    }
