/* roulang page: index */
:root {
      --bg-base: #f8fafc;
      --bg-card: #ffffff;
      --text-main: #0f172a;
      --text-sub: #475569;
      --text-muted: #94a3b8;
      --primary: #0284c7;
      --primary-hover: #0369a1;
      --primary-light: #e0f2fe;
      --accent: #0ea5e9;
      --border-soft: #e2e8f0;
      --dark-card: #1e293b;
      --dark-bg: #0b1120;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      font-feature-settings: "tnum";
      font-variant-numeric: tabular-nums;
      background-color: var(--bg-base);
      color: var(--text-main);
      overflow-x: hidden;
    }
    .text-balance { text-wrap: balance; }
    .card-hover-fx {
      transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.22s ease;
    }
    .card-hover-fx:hover {
      transform: translateY(-3px);
      box-shadow: 0 14px 28px -6px rgba(15, 23, 42, 0.08);
      border-color: #cbd5e1;
    }
    .glow-cyan {
      box-shadow: 0 0 35px -5px rgba(14, 165, 233, 0.3);
    }
    .faq-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s cubic-bezier(0, 1, 0, 1);
    }
    .faq-item.active .faq-content {
      max-height: 280px;
      transition: max-height 0.35s ease-in-out;
    }
    .faq-item.active .faq-icon {
      transform: rotate(45deg);
    }
