:root {
            --primary-green: #1B7332;
            --brand-black: #000000;
            --expo-easing: cubic-bezier(0.16, 1, 0.3, 1);
        }

        body {
            font-family: 'Inter', sans-serif;
            background: #f5f5f5;
            color: #111;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
            min-height: 100vh;
        }

        h1, h2, h3, h4, .font-heading {
            font-family: 'Plus Jakarta Sans', sans-serif;
            color: var(--brand-black);
        }

        /* Institutional UI Refinement */
        .glass-card {
            background: rgba(255, 255, 255, 0.9);
            backdrop-filter: blur(24px);
            -webkit-backdrop-filter: blur(24px);
            border: 1px solid rgba(27, 115, 50, 0.08);
            transition: all 0.6s var(--expo-easing);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
        }

        .glass-card:hover {
            border-color: rgba(27, 115, 50, 0.2);
            background: rgba(255, 255, 255, 1);
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(27, 115, 50, 0.08);
        }

        .gradient-text {
            background: linear-gradient(135deg, #000 30%, var(--primary-green) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /* Fintech Visual Layering */
        .fintech-dots {
            background-image: radial-gradient(rgba(27, 115, 50, 0.1) 1.5px, transparent 0);
            background-size: 40px 40px;
        }

        /* Sophisticated Animations */
        @keyframes drift {
            0% { transform: translate(0, 0) scale(1); }
            33% { transform: translate(2% , -2%) scale(1.05); }
            66% { transform: translate(-1%, 2%) scale(0.98); }
            100% { transform: translate(0, 0) scale(1); }
        }

        @keyframes drift-data {
            0% { transform: translateY(0); opacity: 0; }
            5% { opacity: 0.15; }
            95% { opacity: 0.15; }
            100% { transform: translateY(-120px); opacity: 0; }
        }

        .animate-drift { animation: drift 20s ease-in-out infinite; }
        .animate-drift-data { animation: drift-data 18s linear infinite; }

        /* Premium Scroll Reveals */
        .reveal, .reveal-left, .reveal-right, .reveal-scale {
            opacity: 0;
            will-change: transform, opacity;
            transition: opacity 1.2s var(--expo-easing), transform 1.2s var(--expo-easing);
        }

        .reveal { transform: translateY(40px); }
        .reveal-left { transform: translateX(-40px); }
        .reveal-right { transform: translateX(40px); }
        .reveal-scale { transform: scale(0.94) translateY(20px); }

        .reveal.active, .reveal-left.active, .reveal-right.active, .reveal-scale.active {
            opacity: 1;
            transform: translate(0, 0) scale(1);
        }

        .reveal-delay-1 { transition-delay: 0.1s; }
        .reveal-delay-2 { transition-delay: 0.2s; }
        .reveal-delay-3 { transition-delay: 0.3s; }
        .reveal-delay-4 { transition-delay: 0.4s; }
        .reveal-delay-5 { transition-delay: 0.5s; }
        .reveal-delay-6 { transition-delay: 0.6s; }

        /* Smooth Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #f0f0f0; }
        ::-webkit-scrollbar-thumb {
            background: #ccc;
            border-radius: 10px;
        }
        ::-webkit-scrollbar-thumb:hover { background: var(--primary-green); }
/* Tailwind-animate fallback (used in EmailSignup success state) */
@keyframes fadeZoomIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}
.animate-in.fade-in.zoom-in { animation: fadeZoomIn 0.7s var(--expo-easing) both; }
