/* roulang page: index */
:root {
      --color-primary: #1E40AF;
      --color-secondary: #2563EB;
      --color-accent: #F97316;
      --color-text-main: #0F172A;
      --color-text-sub: #334155;
      --color-text-muted: #64748B;
      --color-bg-alt: #F8FAFC;
      --card-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      --card-shadow-hover: 0 12px 30px -4px rgba(30, 64, 175, 0.12);
    }
    body {
      color: var(--color-text-main);
      background-color: #FFFFFF;
      -webkit-font-smoothing: antialiased;
    }
    .card-transition {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-transition:hover {
      transform: translateY(-4px);
      box-shadow: var(--card-shadow-hover);
    }
    .faq-answer {
      transition: max-height 0.35s ease-out, opacity 0.3s ease-out;
      max-height: 0;
      opacity: 0;
      overflow: hidden;
    }
    .faq-item.active .faq-answer {
      max-height: 240px;
      opacity: 1;
    }
    .faq-item.active .faq-arrow {
      transform: rotate(180deg);
    }
