/* roulang page: index */
:root {
      --color-primary: #0F2D6B;
      --color-primary-light: #1E3A8A;
      --color-accent: #2563EB;
      --color-gold: #D97706;
      --color-gold-light: #F59E0B;
      --color-bg-light: #F8FAFC;
      --color-bg-card: #FFFFFF;
      --color-text-main: #1E293B;
      --color-text-muted: #64748B;
      --color-border: #E2E8F0;
      --color-dark-bg: #0A192F;
      --shadow-soft: 0 10px 25px -5px rgba(15, 45, 107, 0.05), 0 8px 10px -6px rgba(15, 45, 107, 0.02);
      --shadow-hover: 0 20px 30px -10px rgba(15, 45, 107, 0.12), 0 10px 12px -5px rgba(15, 45, 107, 0.05);
      --radius-card: 20px;
      --radius-pill: 9999px;
    }

    html {
      scroll-behavior: smooth;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    }

    body {
      background-color: var(--color-bg-light);
      color: var(--color-text-main);
      overflow-x: hidden;
      margin: 0;
      padding: 0;
    }

    .brand-gradient-text {
      background: linear-gradient(135deg, #1E40AF 0%, #2563EB 50%, #38BDF8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .brand-gradient-bg {
      background: linear-gradient(135deg, #0F2D6B 0%, #1E40AF 50%, #2563EB 100%);
    }

    .gold-gradient-bg {
      background: linear-gradient(135deg, #D97706 0%, #F59E0B 100%);
    }

    .card-elevated {
      background: var(--color-bg-card);
      border-radius: var(--radius-card);
      border: 1px solid var(--color-border);
      box-shadow: var(--shadow-soft);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .card-elevated:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-hover);
      border-color: rgba(37, 99, 235, 0.3);
    }

    .badge-capsule {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 14px;
      border-radius: var(--radius-pill);
      font-size: 13px;
      font-weight: 600;
      border: 1px solid rgba(37, 99, 235, 0.15);
      background-color: rgba(37, 99, 235, 0.05);
      color: var(--color-primary-light);
    }

    .badge-capsule-gold {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 14px;
      border-radius: var(--radius-pill);
      font-size: 13px;
      font-weight: 600;
      border: 1px solid rgba(217, 119, 6, 0.2);
      background-color: rgba(245, 158, 11, 0.08);
      color: var(--color-gold);
    }

    .faq-panel {
      transition: max-height 0.35s ease-out, opacity 0.35s ease-out;
      max-height: 0;
      opacity: 0;
      overflow: hidden;
    }

    .faq-item.active .faq-panel {
      max-height: 250px;
      opacity: 1;
    }

    .faq-item.active .faq-icon {
      transform: rotate(180deg);
      color: #2563EB;
    }

    .header-sticky {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: blur(12px);
      background-color: rgba(255, 255, 255, 0.94);
      border-bottom: 1px solid rgba(226, 232, 240, 0.8);
      box-shadow: 0 4px 15px -3px rgba(15, 45, 107, 0.03);
    }

    .hero-mask {
      background: linear-gradient(90deg, rgba(15, 45, 107, 0.94) 0%, rgba(15, 45, 107, 0.82) 55%, rgba(15, 45, 107, 0.65) 100%);
    }

    .dark-section-bg {
      background-color: var(--color-dark-bg);
      background-image: radial-gradient(circle at 10% 20%, rgba(30, 58, 138, 0.25) 0%, transparent 40%),
                        radial-gradient(circle at 90% 80%, rgba(37, 99, 235, 0.18) 0%, transparent 45%);
    }

    .custom-scrollbar::-webkit-scrollbar {
      height: 6px;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
      background: #CBD5E1;
      border-radius: 4px;
    }
