 @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap');

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            scroll-behavior: smooth;
        }

        .gold-gradient {
            background: linear-gradient(135deg, #d4af37 0%, #f1d592 100%);
        }

        .navy-blue {
            background-color: #1a365d;
        }

        .text-navy {
            color: #1a365d;
        }

        /* Custom Animations */
        .hover-lift {
            transition: all 0.3s ease;
        }

        .hover-lift:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }

        .glass-nav {
            background: rgba(255, 255, 255, 0.8);
            backdrop-filter: blur(10px);
        }

        @keyframes pulse-gold {
            0% {
                box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4);
            }

            70% {
                box-shadow: 0 0 0 15px rgba(212, 175, 55, 0);
            }

            100% {
                box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
            }
        }

        .pulse-gold {
            animation: pulse-gold 2s infinite;
        }

        /* Add this to your style block to fix the dashed line */
        .step-connector {
            position: absolute;
            top: 2rem;
            /* Aligns with the middle of the circle */
            left: 50%;
            width: 100%;
            border-top: 2px dashed #e2e8f0;
            z-index: 0;
        }

        /* Fixes the connecting line between circles */
        .step-item {
            position: relative;
            z-index: 10;
        }

        /* Create the dashed line using a pseudo-element */
        .step-item:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 2rem;
            /* Halfway down the 4rem circle */
            left: 50%;
            width: 100%;
            border-top: 2px dashed #e2e8f0;
            z-index: -1;
        }

        /* Ensure the grid doesn't cause overflow */
        .timeline-grid {
            display: grid;
            grid-template-columns: repeat(1, minmax(0, 1fr));
        }

        @media (min-width: 768px) {
            .timeline-grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
        }

        /* Container for the whole timeline */
        .step-container {
            position: relative;
            flex: 1;
            text-align: center;
        }

        /* Only draw the line IF it's NOT the last step */
        @media (min-width: 768px) {
            .step-container:not(:last-child)::after {
                content: '';
                position: absolute;
                top: 2rem;
                /* Middle of the circle */
                left: 50%;
                width: 100%;
                border-top: 2px dashed #cbd5e1;
                z-index: 0;
            }
        }

        .h-6 {
            height: 2.5rem !important;
        }

        html,
        body {
            overflow-x: hidden;
        }

        .lux-steps {
            background: #0b0f19;
            padding: 100px 20px;
            color: #fff;
            text-align: center;
        }

        .lux-steps h2 {
            font-size: 32px;
            margin-bottom: 60px;
            color: #d4af37;
        }

        /* DESKTOP LAYOUT */
        .steps {
            display: flex;
            justify-content: space-between;
            max-width: 1000px;
            margin: auto;
            position: relative;
        }

        /* LINE */
        .steps::before {
            content: "";
            position: absolute;
            top: 30px;
            left: 0;
            width: 100%;
            height: 2px;
            background: linear-gradient(90deg, #d4af37, #f5d67b, #d4af37);
        }

        /* STEP */
        .step {
            width: 23%;
            position: relative;
            z-index: 2;
        }

        /* CIRCLE */
        .circle {
            width: 60px;
            height: 60px;
            margin: 0 auto 15px;
            border-radius: 50%;
            border: 2px solid #d4af37;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #0b0f19;
            transition: 0.3s;
        }

        /* HOVER ONLY CIRCLE */
        .step:hover .circle {
            background: #d4af37;
            color: #000;
            box-shadow: 0 0 25px rgba(212, 175, 55, 0.6);
        }

        /* TEXT */
        .content h4 {
            font-size: 16px;
            margin-bottom: 5px;
        }

        .content p {
            font-size: 13px;
            opacity: 0.7;
        }

        /* MOBILE FIX */
        @media(max-width:768px) {

            .steps {
                flex-direction: column;
                gap: 40px;
            }

            .steps::before {
                width: 2px;
                height: 100%;
                left: 30px;
                top: 0;
            }

            .step {
                display: flex;
                align-items: flex-start;
                gap: 15px;
                width: 100%;
                text-align: left;
            }

            .circle {
                margin: 0;
                min-width: 50px;
            }

        }