/* roulang page: index */
:root {
      --primary: #0F172A;
      --accent: #6366F1;
      --cyan: #06B6D4;
      --bg-base: #FFFFFF;
      --bg-alt: #F8FAFC;
      --text-main: #0F172A;
      --text-muted: #64748B;
      --border: #E2E8F0;
      --radius-sm: 8px;
      --radius-md: 14px;
      --radius-lg: 20px;
      --shadow-sm: 0 4px 20px -4px rgba(0, 0, 0, 0.05);
      --shadow-hover: 0 12px 30px -6px rgba(15, 23, 42, 0.12);
    }
    html {
      scroll-behavior: smooth;
    }
    body {
      font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
      color: #334155;
      background-color: var(--bg-base);
      line-height: 1.6;
    }
    .text-gradient {
      background: linear-gradient(135deg, #0F172A 20%, #4F46E5 70%, #06B6D4 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .text-gradient-dark {
      background: linear-gradient(135deg, #FFFFFF 30%, #A5B4FC 80%, #67E8F9 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    .card-hover {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .card-hover:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
      border-color: #C7D2FE;
    }
    .tabular-numbers {
      font-variant-numeric: tabular-nums;
    }
