html {
    scroll-behavior: smooth;
}

body,
html {
    width: 100%;
    min-height: 100%;
    overflow-x: hidden;
    background-color: var(--body-background);
    font-family: 'Orbitron', sans-serif;
}

canvas {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
}

.circuit-overlay, #circuitSvg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.logo-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    pointer-events: none;
}

.glow-sphere {
    position: absolute;
    width: min(70vw, 70vh);
    height: min(70vw, 70vh);
    border-radius: 50%;
    background: radial-gradient(circle,
            var(--sphere-bg-core) 0%,
            var(--sphere-bg-middle) 40%,
            var(--sphere-bg-edge) 70%,
            transparent 100%);
    box-shadow:
        0 0 80px var(--sphere-glow-outer),
        0 0 160px var(--sphere-glow-dark),
        inset 0 0 80px var(--sphere-glow-inner);
    border: 1px solid var(--sphere-border);
    animation: spherePulse 6s ease-in-out infinite;
}

@keyframes spherePulse {

    0%,
    100% {
        transform: scale(1);
        box-shadow:
            0 0 80px var(--sphere-glow-outer),
            0 0 160px var(--sphere-glow-dark),
            inset 0 0 80px var(--sphere-glow-inner);
    }

    50% {
        transform: scale(1.03);
        box-shadow:
            0 0 100px rgba(30, 120, 140, 0.3),
            0 0 200px rgba(20, 80, 100, 0.2),
            inset 0 0 100px rgba(30, 140, 160, 0.2);
    }
}

.logo-content {
    position: relative;
    text-align: center;
    animation: fadeInUp 1.5s ease-out;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.logo-text {
    font-family: 'Orbitron', sans-serif;
    font-weight: 900;
    font-size: clamp(4rem, 12vw, 10rem);
    letter-spacing: 0.08em;
    background: var(--logo-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 30px var(--logo-shadow));
    line-height: 1;
    margin-bottom: 0;
}

.logo-subtitle {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 300;
    font-size: clamp(1rem, 3.5vw, 2.4rem);
    margin-top: -0.2em;
    letter-spacing: 0.35em;
    color: var(--text-turquoise);
    text-shadow: 0 0 20px var(--subtitle-glow);
    animation: subtitleGlow 4s ease-in-out infinite;
}

@keyframes subtitleGlow {

    0%,
    100% {
        text-shadow: 0 0 20px var(--subtitle-glow);
    }

    50% {
        text-shadow: 0 0 30px rgba(80, 200, 200, 0.5);
    }
}