
body {
    background: #0d0d1a;
    color: #e0e0ff;
    font-family: 'Orbitron', 'Courier New', monospace;
    overflow-x: hidden;
    position: relative;
}

.neon-glow {
    text-shadow: 0 0 2px #00f6ff, 0 0 20px #ff00ff, 0 0 20px #ff00ff;
}

.glitch {
    position: relative;
    animation: glitch 1s linear infinite;
}

@keyframes glitch {
    2%, 64% {
        transform: translate(2px, 0) skew(0deg);
    }
    4%, 60% {
        transform: translate(-2px, 0) skew(0deg);
    }
    62% {
        transform: translate(0, 0) skew(5deg);
    }
}

.neon-border {
    border: 2px solid #00f6ff;
    box-shadow: 0 0 10px #00f6ff, inset 0 0 10px #00f6ff;
}

.holo-gradient {
    background: linear-gradient(45deg, rgba(0, 246, 255, 0.2), rgba(255, 0, 255, 0.2));
    transition: all 0.3s ease;
}

.holo-gradient:hover {
    background: linear-gradient(45deg, rgba(0, 246, 255, 0.5), rgba(255, 0, 255, 0.5));
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 246, 255, 0.3);
}

.matrix-spinner {
    display: none;
    font-size: 1rem;
    color: #00ff00;
    animation: matrix 0.5s infinite;
}

@keyframes matrix {
    0% {
        content: "1010";
    }
    25% {
        content: "0101";
    }
    50% {
        content: "1001";
    }
    75% {
        content: "0110";
    }
}

.terminal-text {
    background: #000;
    width: 100%;
    padding: 1.5rem;
    border: 1px solid #00ff00;
    box-shadow: 0 0 15px #00ff00;
    white-space: pre-wrap;
    animation: typing 4s steps(40, end);
}

@keyframes typing {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

.circuit-bg {
    background-image: linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.9)), url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" fill="none" stroke="%2300f6ff" stroke-width="0.5"><path d="M0 50h25v25h25V50h25V25H50V0H25v25H0v25z"/></svg>');
}

/* Enhanced neon rain with randomized streaks */
.rain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.rain::before {
    content: '';
    position: absolute;
    width: 2px;
    height: 50px;
    background: #00f6ff;
    animation: rain 1s linear infinite;
    left: calc(10% + (80% * var(--random-x)));
    animation-delay: calc(var(--random-delay) * -1s);
}

.rain::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 30px;
    background: #ff00ff;
    animation: rain 1.5s linear infinite;
    left: calc(10% + (80% * var(--random-x2)));
    animation-delay: calc(var(--random-delay2) * -1s);
}

@keyframes rain {
    0% {
        transform: translateY(-100vh);
        opacity: 1;
    }
    100% {
        transform: translateY(100vh);
        opacity: 0;
    }
}

/* CRT scanlines */
.scanlines::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(transparent 0%, transparent 2px, rgba(0, 246, 255, 0.05) 2px, rgba(0, 246, 255, 0.05) 4px);
    pointer-events: none;
    z-index: 1;
}

/* Sticky form */
.sticky-form {
    transition: all 0.3s ease;
}

.sticky-form.sticky {
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    max-width: 48rem;
    background: rgba(13, 13, 26, 0.9);
    padding: 1rem;
    border-radius: 0.5rem;
}

/* Progress bar */
.progress-bar {
    display: none;
    height: 4px;
    background: #00f6ff;
    animation: progress 2s linear infinite;
}

@keyframes progress {
    0% {
        width: 0%;
    }
    50% {
        width: 100%;
    }
    100% {
        width: 0%;
    }
}

/* Holographic header */
.holo-header {
    background: linear-gradient(45deg, #00f6ff, #ff00ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: holo 3s ease-in-out infinite;
}

@keyframes holo {
    0% {
        filter: hue-rotate(0deg);
    }
    50% {
        filter: hue-rotate(90deg);
    }
    100% {
        filter: hue-rotate(0deg);
    }
}

/* Particle effect */
.particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0;
}

.particle {
    position: absolute;
    width: 2px;
    height: 2px;
    background: #00f6ff;
    border-radius: 50%;
    animation: particle 5s linear infinite;
}

@keyframes particle {
    0% {
        transform: translate(var(--start-x), var(--start-y));
        opacity: 1;
    }
    100% {
        transform: translate(var(--end-x), var(--end-y));
        opacity: 0;
    }
}
        /* Hamburger menu styles */
        .hamburger {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 24px;
            height: 18px;
            cursor: pointer;
            z-index: 60;
        }
        .hamburger span {
            width: 100%;
            height: 3px;
            background: #00f6ff;
            transition: all 0.3s ease;
            box-shadow: 0 0 5px #00f6ff;
        }
        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }
        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }
        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -7px);
        }
        .mobile-menu {
            position: fixed;
            top: 0;
            right: -100%;
            width: 75%;
            height: 100%;
            background: rgba(13, 13, 26, 0.95);
            transition: right 0.3s ease;
            z-index: 50;
            padding: 4rem 1rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .mobile-menu.active {
            right: 0;
        }
        .mobile-menu a {
            display: block;
            padding: 0.75rem;
            font-size: 1.125rem;
            text-align: right;
        }
        @media (max-width: 767px) {
            .desktop-nav { display: none; }
            .hamburger { display: flex; }
            h1 { font-size: 2.5rem; }
            h2 { font-size: 2rem; }
            p { font-size: 0.875rem; }
            .terminal-text { font-size: 0.75rem; padding: 0.75rem; }
        }
        /* Neon sign effect */
        .neon-sign {
            position: relative;
            display: inline-block;
            animation: flicker 2s infinite;
        }
        @keyframes flicker {
            0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { opacity: 1; text-shadow: 0 0 5px #00f6ff, 0 0 10px #ff00ff; }
            20%, 24%, 55% { opacity: 0.7; text-shadow: none; }
        }
        /* Hamburger menu styles */
        .hamburger {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 24px;
            height: 18px;
            cursor: pointer;
            z-index: 60;
        }
        .hamburger span {
            width: 100%;
            height: 3px;
            background: #00f6ff;
            transition: all 0.3s ease;
            box-shadow: 0 0 5px #00f6ff;
        }
        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }
        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }
        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -7px);
        }
        .mobile-menu {
            position: fixed;
            top: 0;
            right: -100%;
            width: 75%;
            height: 100%;
            background: rgba(13, 13, 26, 0.95);
            transition: right 0.3s ease;
            z-index: 50;
            padding: 4rem 1rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .mobile-menu.active {
            right: 0;
        }
        .mobile-menu a {
            display: block;
            padding: 0.75rem;
            font-size: 1.125rem;
            text-align: right;
        }
        @media (max-width: 767px) {
            .desktop-nav { display: none; }
            .hamburger { display: flex; }
            h1 { font-size: 2.5rem; }
            h2 { font-size: 2rem; }
            p { font-size: 0.875rem; }
            .terminal-text { font-size: 0.75rem; padding: 0.75rem; }
        }
        /* Signal wave effect */
        .signal-wave {
            position: relative;
            display: inline-block;
            overflow: hidden;
        }
        .signal-wave::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 2px;
            background: linear-gradient(to right, transparent, #00f6ff, transparent);
            animation: signal 2s linear infinite;
        }
        @keyframes signal {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(100%); }
        }

        /* Hamburger menu styles */
        .hamburger {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 24px;
            height: 18px;
            cursor: pointer;
            z-index: 60;
        }
        .hamburger span {
            width: 100%;
            height: 3px;
            background: #00f6ff;
            transition: all 0.3s ease;
            box-shadow: 0 0 5px #00f6ff;
        }
        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }
        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }
        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -7px);
        }
        .mobile-menu {
            position: fixed;
            top: 0;
            right: -100%;
            width: 75%;
            height: 100%;
            background: rgba(13, 13, 26, 0.95);
            transition: right 0.3s ease;
            z-index: 50;
            padding: 4rem 1rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .mobile-menu.active {
            right: 0;
        }
        .mobile-menu a {
            display: block;
            padding: 0.75rem;
            font-size: 1.125rem;
            text-align: right;
        }
        @media (max-width: 767px) {
            .desktop-nav { display: none; }
            .hamburger { display: flex; }
            h1 { font-size: 2.5rem; }
            h2 { font-size: 2rem; }
            p { font-size: 0.875rem; }
            .terminal-text { font-size: 0.75rem; padding: 0.75rem; }
        }
        /* Neon sign effect */
        .neon-sign {
            position: relative;
            display: inline-block;
            animation: flicker 2s infinite;
        }
        @keyframes flicker {
            0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% { opacity: 1; text-shadow: 0 0 5px #00f6ff, 0 0 10px #ff00ff; }
            20%, 24%, 55% { opacity: 0.7; text-shadow: none; }
        }

        /* Hamburger menu styles */
        .hamburger {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 24px;
            height: 18px;
            cursor: pointer;
            z-index: 60;
        }
        .hamburger span {
            width: 100%;
            height: 3px;
            background: #00f6ff;
            transition: all 0.3s ease;
            box-shadow: 0 0 5px #00f6ff;
        }
        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }
        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }
        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -7px);
        }
        .mobile-menu {
            position: fixed;
            top: 0;
            right: -100%;
            width: 75%;
            height: 100%;
            background: rgba(13, 13, 26, 0.95);
            transition: right 0.3s ease;
            z-index: 50;
            padding: 4rem 1rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .mobile-menu.active {
            right: 0;
        }
        .mobile-menu a {
            display: block;
            padding: 0.75rem;
            font-size: 1.125rem;
            text-align: right;
        }
        @media (max-width: 767px) {
            .desktop-nav { display: none; }
            .hamburger { display: flex; }
            h1 { font-size: 2.5rem; }
            h2 { font-size: 2rem; }
            p { font-size: 0.875rem; }
        }
        /* Pulsing data nodes effect */
        .data-nodes {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 0;
        }
        .data-nodes span {
            position: absolute;
            width: 8px;
            height: 8px;
            background: #ff00ff;
            border-radius: 50%;
            animation: pulse 2s ease-in-out infinite;
            left: calc(5% + (90% * var(--random-x)));
            top: calc(5% + (90% * var(--random-y)));
            animation-delay: calc(var(--random-delay) * -1s);
        }
        @keyframes pulse {
            0%, 100% { transform: scale(1); opacity: 0.5; }
            50% { transform: scale(1.5); opacity: 1; }
        }
        /* Hamburger menu styles */
        .hamburger {
            display: none;
            flex-direction: column;
            justify-content: space-between;
            width: 24px;
            height: 18px;
            cursor: pointer;
            z-index: 60;
        }
        .hamburger span {
            width: 100%;
            height: 3px;
            background: #00f6ff;
            transition: all 0.3s ease;
            box-shadow: 0 0 5px #00f6ff;
        }
        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }
        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }
        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -7px);
        }
        .mobile-menu {
            position: fixed;
            top: 0;
            right: -100%;
            width: 75%;
            height: 100%;
            background: rgba(13, 13, 26, 0.95);
            transition: right 0.3s ease;
            z-index: 50;
            padding: 4rem 1rem;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }
        .mobile-menu.active {
            right: 0;
        }
        .mobile-menu a {
            display: block;
            padding: 0.75rem;
            font-size: 1.125rem;
            text-align: right;
        }
        @media (max-width: 767px) {
            .desktop-nav { display: none; }
            .hamburger { display: flex; }
            h1 { font-size: 2.5rem; }
            h2 { font-size: 2rem; }
            p { font-size: 0.875rem; }
            .terminal-text { font-size: 0.75rem; padding: 0.75rem; }
        }
        /* Signal wave effect */
        .signal-wave {
            position: relative;
            display: inline-block;
            overflow: hidden;
        }
        .signal-wave::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 2px;
            background: linear-gradient(to right, transparent, #00f6ff, transparent);
            animation: signal 2s linear infinite;
        }
        @keyframes signal {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(100%); }
        }

