/* Custom scrollbar */
    ::-webkit-scrollbar { width: 4px; }
    ::-webkit-scrollbar-track { background: transparent; }
    ::-webkit-scrollbar-thumb { background: #27272a; border-radius: 2px; }
    
    body {
        background-color: #020408;
        background-image: linear-gradient(rgba(2, 4, 8, 0.72), rgba(2, 4, 8, 0.72)), url('/site/assets/monolith.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: fixed;
        color: #e2e8f0;
    }

    .ambient-glow {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 1200px;
        height: 600px;
        background: radial-gradient(50% 50% at 50% 0%, rgba(99, 91, 255, 0.08) 0%, transparent 100%);
        pointer-events: none;
        z-index: 0;
    }

    .nav-menu {
        opacity: 0;
        transform: translateY(12px) scale(0.98);
        filter: blur(6px);
        pointer-events: none;
        transition: opacity 0.18s ease, transform 0.18s ease, filter 0.18s ease;
    }
    .nav-group:hover .nav-menu,
    .nav-group:focus-within .nav-menu {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
        pointer-events: auto;
    }
    .nav-bridge {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        height: 12px;
    }
    .nav-blur-overlay {
        position: fixed;
        inset: 0;
        background: rgba(2, 4, 8, 0.35);
        backdrop-filter: blur(8px);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.2s ease;
        z-index: 40;
    }
    body.nav-open .nav-blur-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    .text-gradient {
        background: linear-gradient(to right, #ffffff, #94a3b8);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    /* Step connector line */
    .step-item:not(:last-child)::after {
        content: '';
        position: absolute;
        left: 15px; /* Center of the 32px circle */
        top: 36px;
        bottom: -12px;
        width: 1px;
        background-color: #27272a;
        z-index: 0;
    }
    
    /* QR Code Placeholder Pattern */
    .qr-pattern {
        background-image: 
            radial-gradient(#fff 35%, transparent 36%),
            radial-gradient(#fff 35%, transparent 36%);
        background-position: 0 0, 4px 4px;
        background-size: 8px 8px;
        opacity: 0.9;
    }
    
    .corner-marker {
        position: absolute;
        width: 24px;
        height: 24px;
        border: 4px solid white;
        background: #000;
    }
    .corner-marker::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 8px;
        height: 8px;
        background: white;
    }
