:root {
    --bg-deep: #011021;
    --primary-blue: #2A5993;
    --primary-mint: #8EEAC9;
    --text-main: #F1F8FB;
    --text-sub: #DCE6EC;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--bg-deep);
    font-family: 'Outfit', sans-serif;
    color: var(--text-main);
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

#bg-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.container {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-wrapper {
    opacity: 0;
    animation: fadeIn 1.5s ease-out forwards;
    padding: 2.5rem;
    background: rgba(1, 16, 33, 0.4);
    backdrop-filter: blur(15px);
    border-radius: 50%;
    border: 1px solid rgba(142, 234, 201, 0.1);
    box-shadow:
        0 0 50px rgba(42, 89, 147, 0.2),
        inset 0 0 20px rgba(142, 234, 201, 0.05);
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.logo-wrapper:hover {
    transform: scale(1.03);
    border-color: rgba(142, 234, 201, 0.2);
    box-shadow:
        0 0 70px rgba(42, 89, 147, 0.3),
        inset 0 0 30px rgba(142, 234, 201, 0.1);
}

.logo {
    display: block;
    max-width: 250px;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 0 15px rgba(42, 89, 147, 0.4));
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .logo {
        max-width: 180px;
    }

    .logo-wrapper {
        padding: 2rem;
    }
}