/* roulang page: index */
:root {
      --color-primary: #0A58CA;
      --color-accent: #00A884;
      --color-bg-alt: #F8FAFC;
      --color-text-main: #0F172A;
      --color-text-body: #334155;
      --color-text-muted: #64748B;
      --shadow-card: 0 4px 20px rgba(0, 0, 0, 0.05);
      --shadow-hover: 0 12px 32px rgba(10, 88, 202, 0.12);
    }
    body {
      color: var(--color-text-body);
      background-color: #FFFFFF;
      overflow-x: hidden;
    }
    .custom-card {
      box-shadow: var(--shadow-card);
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .custom-card:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-3px);
    }
    .hero-skew-box {
      transform: perspective(1000px) rotateY(-5deg) rotateX(2deg);
      transition: transform 0.4s ease;
    }
    .hero-skew-box:hover {
      transform: perspective(1000px) rotateY(0deg) rotateX(0deg);
    }
    .pulse-ring {
      animation: pulseAnim 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    }
    @keyframes pulseAnim {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.08); }
    }
    .faq-panel {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease-out;
    }
    .faq-item.active .faq-panel {
      max-height: 280px;
    }
    .faq-item.active .faq-icon {
      transform: rotate(180deg);
    }
