/* roulang page: index */
:root {
      --bg-deep: #0A0E27;
      --bg-card: #141A33;
      --border-color: #1E2746;
      --primary-cyan: #00F0FF;
      --accent-pink: #FF3366;
      --text-main: #E8ECF1;
      --text-muted: #8892B0;
      --radius-lg: 1.5rem;
      --radius-xl: 2rem;
      --shadow-cyan: 0 8px 30px rgba(0, 240, 255, 0.15);
      --shadow-pink: 0 8px 30px rgba(255, 51, 102, 0.2);
    }
    * {
      box-sizing: border-box;
    }
    body {
      font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Inter", "SF Pro Display", sans-serif;
      background-color: var(--bg-deep);
      color: var(--text-main);
      margin: 0;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
    }
    .font-display {
      font-family: "Inter", "SF Pro Display", "PingFang SC", sans-serif;
      letter-spacing: -0.02em;
    }
    .text-gradient {
      background: linear-gradient(135deg, var(--primary-cyan) 0%, #FFFFFF 80%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .glow-cyan:hover {
      text-shadow: 0 0 12px var(--primary-cyan);
    }
    .border-glow:hover {
      border-color: var(--primary-cyan);
      box-shadow: var(--shadow-cyan);
    }
    .card-hover:hover {
      transform: translateY(-6px);
      border-color: var(--primary-cyan);
      box-shadow: var(--shadow-cyan);
    }
    .pulse-glow {
      animation: pulseGlow 2s infinite;
    }
    @keyframes pulseGlow {
      0% { box-shadow: 0 0 8px rgba(0,240,255,0.3); }
      50% { box-shadow: 0 0 20px rgba(0,240,255,0.6); }
      100% { box-shadow: 0 0 8px rgba(0,240,255,0.3); }
    }
    .grid-bg {
      background-image: 
        linear-gradient(rgba(30,39,70,0.4) 1px, transparent 1px),
        linear-gradient(90deg, rgba(30,39,70,0.4) 1px, transparent 1px);
      background-size: 40px 40px;
    }
    .radial-glow {
      background: radial-gradient(circle at center, rgba(0,240,255,0.06) 0%, rgba(10,14,39,0) 70%);
    }
    .process-line {
      background: linear-gradient(90deg, var(--primary-cyan), var(--accent-pink));
      height: 2px;
    }
    .faq-active .faq-answer {
      display: block;
    }
    .faq-active .faq-question {
      color: var(--primary-cyan);
    }
    details[open] summary .faq-icon {
      transform: rotate(180deg);
    }
    details[open] summary {
      color: var(--primary-cyan);
      border-left: 4px solid var(--primary-cyan);
    }
    .service-item.active {
      border-left: 4px solid var(--primary-cyan);
      background: rgba(0,240,255,0.03);
    }
    @media (max-width: 768px) {
      .hero-title {
        font-size: 2.8rem;
        line-height: 1.2;
      }
      h2 {
        font-size: 2.2rem;
      }
      .nav-desktop {
        display: none;
      }
      .mobile-menu-btn {
        display: flex;
      }
      .floating-nav {
        width: 95%;
      }
    }
    @media (min-width: 769px) {
      .mobile-menu-btn {
        display: none;
      }
      .mobile-menu {
        display: none;
      }
    }
