
        :root {
            --primary: #D8A45A;
            --bg: #010101;
        }

        /* --- Added Trail Spotlight --- */
        .cur-glow {
            position: fixed;
            top: 0;
            left: 0;
            pointer-events: none;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            opacity: 0;
            z-index: 1000000;
            width: 360px;
            height: 360px;
            background: radial-gradient(circle, rgba(216, 164, 90, 0.38), rgba(216, 164, 90, 0.04) 42%, transparent 68%);
            mix-blend-mode: screen;
            transition: opacity 0.6s, width 0.5s ease, height 0.5s ease;
        }

        .cur-glow.on {
            opacity: 1;
        }

        .cur-glow.hot {
            width: 520px;
            height: 520px;
            background: radial-gradient(circle, rgba(216, 164, 90, 0.25), rgba(216, 164, 90, 0.06) 42%, transparent 68%);
        }


        body {
            background-color: var(--bg);
            color: white;
            cursor: none;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        /* Disable custom cursor and glow on touch devices to improve UX and performance */
        @media (pointer: coarse) {
            body {
                cursor: auto;
            }

            #cursor-dot,
            #cursor-outline,
            .cur-glow {
                display: none !important;
            }
        }

        /* Lenis Smooth Scroll */
        html.lenis,
        html.lenis body {
            height: auto;
        }

        .lenis.lenis-smooth {
            scroll-behavior: auto !important;
        }

        .lenis.lenis-stopped {
            overflow: hidden;
        }

        /* Custom Physics Cursor */
        #cursor-dot {
            position: fixed;
            top: 0;
            left: 0;
            width: 6px;
            height: 6px;
            background: var(--primary);
            border-radius: 50%;
            pointer-events: none;
            z-index: 10000;
            mix-blend-mode: difference;
            transform: translate(-50%, -50%);
        }

        #cursor-outline {
            position: fixed;
            top: 0;
            left: 0;
            width: 40px;
            height: 40px;
            border: 1px solid rgba(216, 164, 90, 0.5);
            border-radius: 50%;
            pointer-events: none;
            z-index: 9999;
            mix-blend-mode: difference;
            transform: translate(-50%, -50%);
            transition: width 0.3s, height 0.3s, background 0.3s, border-color 0.3s;
        }

        .cursor-hover #cursor-outline {
            width: 80px;
            height: 80px;
            background: rgba(216, 164, 90, 0.1);
            border-color: transparent;
            backdrop-filter: blur(2px);
        }

        /* Preloader */
        #preloader {
            position: fixed;
            inset: 0;
            background: var(--bg);
            z-index: 99999;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .loader-mask {
            position: absolute;
            inset: 0;
            background: #050505;
            transform-origin: top;
            z-index: -1;
        }

        .loader-text {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            text-transform: uppercase;
            color: transparent;
            -webkit-text-stroke: 1px rgba(216, 164, 90, 0.5);
            letter-spacing: 0.3em;
        }

        /* WebGL Background */
        #webgl-canvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            z-index: 0;
            pointer-events: none;
            mix-blend-mode: screen;
            opacity: 0.8;
        }

        /* Typography & Utilities */
        .split-text .char {
            transform: translateY(100%) rotateX(-90deg);
            transform-origin: bottom center;
            opacity: 0;
        }

        ::-webkit-scrollbar {
            display: none;
        }

        .text-gold {
            background: linear-gradient(135deg, #D8A45A, #FF8A1D);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        /*header class */
        .glass2 {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        /* --- UPDATED: Stacking Process Cards --- */
        .process-card {
            position: relative;
            height: 100vh;
            height: 100svh;
            /* svh handles mobile address bar scaling perfectly */
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            transform-origin: top center;
            will-change: transform, opacity;
        }

        .card-inner {
            width: 90%;
            max-width: 1400px;
            /* height: 85vh;
            height: 85svh; */
            /* Expand slightly for mobile */
            background: linear-gradient(145deg, rgba(15, 15, 15, 0.7) 0%, rgba(5, 5, 5, 0.9) 100%);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 2rem;
            backdrop-filter: blur(20px);

            /* Enable scrolling on mobile so content doesn't get cut off */
            overflow-y: auto;
            overflow-x: hidden;
            display: flex;
            flex-direction: column;
            box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5);

            /* Hide scrollbar for a cleaner look */
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        
        .card-inner:hover{
            border-left: 1px solid #EDA233;
            border-radius: 2rem;
        }

        .card-inner::-webkit-scrollbar {
            display: none;
        }

        @media (min-width: 1024px) {
            .card-inner {
                display: grid;
                grid-template-columns: 1fr 1fr;
                height: 80vh;
                overflow: hidden;
                /* Reset overflow for desktop */
            }
        }

        .card-media {
            position: relative;
            /* Fixes gradient positioning */
            overflow: hidden;
            width: 100%;
            height: 35vh;
            /* Keep image smaller on mobile to allow room for text */
            flex-shrink: 0;
        }

        @media (min-width: 1024px) {
            .card-media {
                height: 100%;
                /* Back to 100% on desktop */
                min-height: 40vh;
            }
        }

        .card-media img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .card-media::after {
            content: '';
            position: absolute;
            inset: 0;
            /*background: linear-gradient(to right, rgba(5, 5, 5, 1) 0%, transparent 100%);*/
        }

        @media (max-width: 1023px) {
            .card-media::after {
                /*background: linear-gradient(to top, rgba(5, 5, 5, 1) 0%, transparent 100%);*/
            }
        }

/* Footer number */
.footer-number {
    display: inline-block;
    position: relative;
    top: -0.14em;
}
