/* Custom color palette */
    /* Custom color palette */
    :root {
      --primary-50: #f0f9ff;
      --primary-100: #e0f2fe;
      --primary-200: #bae6fd;
      --primary-300: #7dd3fc;
      --primary-400: #38bdf8;
      --primary-500: #0ea5e9;
      --primary-600: #0284c7;
      --primary-700: #0369a1;
      --primary-800: #075985;
      --primary-900: #0c4a6e;

      --gray-50: #f8fafc;
      --gray-100: #f1f5f9;
      --gray-200: #e2e8f0;
      --gray-300: #cbd5e1;
      --gray-400: #94a3b8;
      --gray-500: #64748b;
      --gray-600: #475569;
      --gray-700: #334155;
      --gray-800: #1e293b;
      --gray-900: #0f172a;
    }

    /* Apply custom colors */
    .bg-primary-50 {
      background-color: var(--primary-50);
    }

    .bg-primary-100 {
      background-color: var(--primary-100);
    }

    .bg-primary-200 {
      background-color: var(--primary-200);
    }

    .bg-primary-300 {
      background-color: var(--primary-300);
    }

    .bg-primary-400 {
      background-color: var(--primary-400);
    }

    .bg-primary-500 {
      background-color: var(--primary-500);
    }

    .bg-primary-600 {
      background-color: var(--primary-600);
    }

    .bg-primary-700 {
      background-color: var(--primary-700);
    }

    .bg-primary-800 {
      background-color: var(--primary-800);
    }

    .bg-primary-900 {
      background-color: var(--primary-900);
    }

    .bg-gray-50 {
      background-color: var(--gray-50);
    }

    .bg-gray-100 {
      background-color: var(--gray-100);
    }

    .bg-gray-200 {
      background-color: var(--gray-200);
    }

    .bg-gray-300 {
      background-color: var(--gray-300);
    }

    .bg-gray-400 {
      background-color: var(--gray-400);
    }

    .bg-gray-500 {
      background-color: var(--gray-500);
    }

    .bg-gray-600 {
      background-color: var(--gray-600);
    }

    .bg-gray-700 {
      background-color: var(--gray-700);
    }

    .bg-gray-800 {
      background-color: var(--gray-800);
    }

    .bg-gray-900 {
      background-color: var(--gray-900);
    }

    .text-primary-50 {
      color: var(--primary-50);
    }

    .text-primary-100 {
      color: var(--primary-100);
    }

    .text-primary-200 {
      color: var(--primary-200);
    }

    .text-primary-300 {
      color: var(--primary-300);
    }

    .text-primary-400 {
      color: var(--primary-400);
    }

    .text-primary-500 {
      color: var(--primary-500);
    }

    .text-primary-600 {
      color: var(--primary-600);
    }

    .text-primary-700 {
      color: var(--primary-700);
    }

    .text-primary-800 {
      color: var(--primary-800);
    }

    .text-primary-900 {
      color: var(--primary-900);
    }

    .text-gray-50 {
      color: var(--gray-50);
    }

    .text-gray-100 {
      color: var(--gray-100);
    }

    .text-gray-200 {
      color: var(--gray-200);
    }

    .text-gray-300 {
      color: var(--gray-300);
    }

    .text-gray-400 {
      color: var(--gray-400);
    }

    .text-gray-500 {
      color: var(--gray-500);
    }

    .text-gray-600 {
      color: var(--gray-600);
    }

    .text-gray-700 {
      color: var(--gray-700);
    }

    .text-gray-800 {
      color: var(--gray-800);
    }

    .text-gray-900 {
      color: var(--gray-900);
    }


    .border-primary-50 {
      border-color: var(--primary-50);
    }

    .border-primary-100 {
      border-color: var(--primary-100);
    }

    .border-primary-200 {
      border-color: var(--primary-200);
    }

    .border-primary-300 {
      border-color: var(--primary-300);
    }

    .border-primary-400 {
      border-color: var(--primary-400);
    }

    .border-primary-500 {
      border-color: var(--primary-500);
    }

    .border-primary-600 {
      border-color: var(--primary-600);
    }

    .border-primary-700 {
      border-color: var(--primary-700);
    }

    .border-primary-800 {
      border-color: var(--primary-800);
    }

    .border-primary-900 {
      border-color: var(--primary-900);
    }

    .border-gray-50 {
      border-color: var(--gray-50);
    }

    .border-gray-100 {
      border-color: var(--gray-100);
    }

    .border-gray-200 {
      border-color: var(--gray-200);
    }

    .border-gray-300 {
      border-color: var(--gray-300);
    }

    .border-gray-400 {
      border-color: var(--gray-400);
    }

    .border-gray-500 {
      border-color: var(--gray-500);
    }

    .border-gray-600 {
      border-color: var(--gray-600);
    }

    .border-gray-700 {
      border-color: var(--gray-700);
    }

    .border-gray-800 {
      border-color: var(--gray-800);
    }

    .border-gray-900 {
      border-color: var(--gray-900);
    }

    /* Hero gradient */
    .hero-gradient {
      background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 50%, var(--primary-700) 100%);
    }

    /* Animations */
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(20px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .animate-fade-in-up {
      animation: fadeInUp 0.6s ease-out forwards;
    }