/* roulang page: index */
:root {
      --primary: #0F4C81;
      --primary-dark: #0B132B;
      --accent-teal: #0D9488;
      --accent-blue: #2563EB;
      --text-main: #0F172A;
      --text-sub: #475569;
      --text-muted: #94A3B8;
      --bg-white: #FFFFFF;
      --bg-soft: #F8FAFC;
      --bg-alt: #F1F5F9;
      --border-color: #E2E8F0;
      --radius-sm: 8px;
      --radius-md: 12px;
      --radius-lg: 16px;
      --shadow-sm: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
      --shadow-hover: 0 20px 25px -5px rgba(15, 76, 129, 0.12);
    }
    html {
      box-sizing: border-box;
      scroll-behavior: smooth;
    }
    *, *::before, *::after {
      box-sizing: inherit;
    }
    body {
      color: var(--text-main);
      background-color: var(--bg-white);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    .custom-card-shadow {
      box-shadow: var(--shadow-sm);
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .custom-card-shadow:hover {
      box-shadow: var(--shadow-hover);
      transform: translateY(-4px);
    }
    .deep-contrast-bg {
      background: radial-gradient(circle at 80% 20%, #1e293b 0%, #0b132b 100%);
    }
    .faq-content {
      transition: max-height 0.35s ease-out, opacity 0.3s ease;
    }
