/* roulang page: index */
:root {
      --color-bg-light: #F8F9FA;
      --color-white: #FFFFFF;
      --color-dark: #111315;
      --color-slate: #1E293B;
      --color-accent: #EA580C;
      --color-border: #E2E8F0;
      --font-body: 'PingFang SC', 'Microsoft YaHei', 'Inter', sans-serif;
    }
    * { box-sizing: border-box; }
    body {
      font-family: var(--font-body);
      background-color: var(--color-bg-light);
      color: #1E293B;
      overflow-x: hidden;
      margin: 0;
      padding: 0;
    }
    .custom-shadow {
      box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
    }
    .custom-shadow-hover {
      box-shadow: 0 16px 36px -8px rgba(0, 0, 0, 0.1);
    }
    .hero-glow {
      background: radial-gradient(circle at 50% 50%, rgba(234, 88, 12, 0.12) 0%, transparent 70%);
    }
    .glass-card {
      background: rgba(255, 255, 255, 0.88);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(226, 232, 240, 0.8);
    }
    .dark-card {
      background: #181B1F;
      border: 1px solid #27272A;
    }
    .accordion-content {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out;
    }
    .accordion-content.open {
      max-height: 280px;
    }
    .pulse-dot {
      animation: pulseLight 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulseLight {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: .4; transform: scale(1.15); }
    }
