/* roulang page: index */
:root {
      --color-primary: #5B21B6;
      --color-primary-end: #4F46E5;
      --color-accent: #EA580C;
      --color-accent-light: #F59E0B;
      --bg-light: #F8FAFC;
      --text-main: #0F172A;
      --text-body: #334155;
      --text-muted: #64748B;
      --border-card: rgba(226, 232, 240, 0.8);
      --shadow-spread: 0 10px 25px -5px rgba(91, 33, 182, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      background-color: var(--bg-light);
      color: var(--text-body);
      line-height: 1.75;
      overflow-x: hidden;
    }
    .custom-shadow {
      box-shadow: var(--shadow-spread);
    }
    .pill-badge {
      display: inline-flex;
      align-items: center;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
      font-size: 0.8125rem;
      font-weight: 600;
    }
    .accordion-body {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out;
    }
    .accordion-body.open {
      max-height: 380px;
    }
    .hero-bg-overlay {
      background: linear-gradient(135deg, rgba(15, 23, 42, 0.94) 0%, rgba(91, 33, 182, 0.88) 100%);
    }
    .floating-bar {
      transform: translateY(120%);
      transition: transform 0.3s ease-in-out;
    }
    .floating-bar.visible {
      transform: translateY(0);
    }
