/* Custom Styles & Overrides */
        body {
            background-color: #0a0a0a;
            color: #f4f4f5;
            overflow-x: hidden;
        }

        /* Scrollbar */
        ::-webkit-scrollbar { width: 10px; }
        ::-webkit-scrollbar-track { background: #0a0a0a; }
        ::-webkit-scrollbar-thumb { background: #333; border-radius: 5px; }
        ::-webkit-scrollbar-thumb:hover { background: #dc2626; }

        /* Scroll Reveal Utility Classes */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }
        
        .delay-100 { transition-delay: 100ms; }
        .delay-200 { transition-delay: 200ms; }
        .delay-300 { transition-delay: 300ms; }

        /* Text Gradient */
        .text-gradient {
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-image: linear-gradient(to right, #ffffff, #71717a);
        }

        /* Image Hover Overlay */
        .img-overlay {
            position: relative;
            overflow: hidden;
            border-radius: 1.5rem;
        }
        .img-overlay img {
            transition: transform 0.7s ease;
        }
        .img-overlay:hover img {
            transform: scale(1.05);
        }
        .img-overlay::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(10, 10, 10, 0.9), transparent);
            pointer-events: none;
        }