/* roulang page: index */
:root {
      --primary: #00B388;
      --secondary: #0A2540;
      --accent-cyan: #00E5FF;
      --accent-orange: #FF6B35;
      --bg-dark: #071524;
      --bg-light: #F8FAFC;
      --border-color: #E2E8F0;
      --shadow-sm: 0 4px 12px rgba(10, 37, 64, 0.04);
      --shadow-md: 0 12px 32px -4px rgba(10, 37, 64, 0.08);
      --shadow-glow: 0 0 24px rgba(0, 179, 136, 0.2);
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      color: #1E293B;
      background-color: #FFFFFF;
      overflow-x: hidden;
    }
    .custom-container {
      max-width: 1280px;
      margin-left: auto;
      margin-right: auto;
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }
    .hero-bg-overlay {
      background: radial-gradient(circle at 85% 15%, rgba(0, 229, 255, 0.12) 0%, transparent 45%),
                  radial-gradient(circle at 15% 85%, rgba(0, 179, 136, 0.12) 0%, transparent 50%),
                  linear-gradient(135deg, #071524 0%, #0A2540 100%);
    }
    .glow-card {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .glow-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 36px -6px rgba(0, 179, 136, 0.15);
      border-color: rgba(0, 179, 136, 0.4);
    }
    .timeline-stem::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 2px;
      background: #E2E8F0;
      transform: translateX(-50%);
    }
    @media (max-width: 768px) {
      .timeline-stem::before {
        left: 20px;
      }
    }
    .badge-pulse {
      position: relative;
    }
    .badge-pulse::after {
      content: '';
      position: absolute;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #00B388;
      top: 50%;
      left: 10px;
      transform: translateY(-50%);
      animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulse-ring {
      0% { box-shadow: 0 0 0 0 rgba(0, 179, 136, 0.7); }
      70% { box-shadow: 0 0 0 6px rgba(0, 179, 136, 0); }
      100% { box-shadow: 0 0 0 0 rgba(0, 179, 136, 0); }
    }
