/* roulang page: index */
:root {
      --primary-color: #00E599;
      --secondary-color: #0F2942;
      --dark-bg: #0B131B;
      --light-bg: #F4F7F9;
      --text-main: #0D1821;
      --text-body: #344356;
      --text-muted: #7B8B9E;
      --border-color: rgba(15, 41, 66, 0.08);
      --border-dark: rgba(0, 229, 153, 0.2);
    }
    html {
      scroll-behavior: smooth;
      font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
    }
    body {
      background-color: var(--light-bg);
      color: var(--text-body);
      line-height: 1.68;
    }
    .hero-skew-clip {
      clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
    }
    .custom-card-shadow {
      box-shadow: 0 10px 30px -10px rgba(15, 41, 66, 0.06), 0 2px 6px -2px rgba(15, 41, 66, 0.03);
    }
    .custom-card-hover {
      transition: transform 0.25s ease, box-shadow 0.25s ease;
    }
    .custom-card-hover:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 35px -12px rgba(15, 41, 66, 0.12), 0 0 15px rgba(0, 229, 153, 0.2);
    }
    .tech-border-glow {
      border: 1px solid rgba(0, 229, 153, 0.25);
      background: linear-gradient(145deg, rgba(15, 41, 66, 0.7), rgba(11, 19, 27, 0.9));
    }
    .gradient-mask-img {
      mask-image: linear-gradient(to right, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
      -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 70%, rgba(0,0,0,0));
    }
    @media (max-width: 768px) {
      .hero-skew-clip {
        clip-path: none;
      }
      .gradient-mask-img {
        mask-image: none;
        -webkit-mask-image: none;
      }
    }
