* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --bg: #050505;
    --text: #ffffff;
}

html,
body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--bg);
    font-family: sans-serif;
}

body {
    position: relative;
}

/* CENTER CONTENT */

.container {
    position: relative;
    z-index: 10;

    width: 100%;
    height: 100vh;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* LOGO */

.logo {
    width: min(420px, 70vw);
    height: auto;

    filter: drop-shadow(0 0 20px rgba(255,255,255,.08));
    transition: transform .4s ease;
}

.logo:hover {
    transform: scale(1.02);
}

/* ICONS */

.links {
    margin-top: 42px;

    display: flex;
    gap: 24px;
}

.links a {
    opacity: .75;
    transition:
        opacity .3s ease,
        transform .3s ease;
}

.links a:hover {
    opacity: 1;
}

.links img {
    width: 28px;
    height: 28px;
    display: block;

    filter:
        brightness(0)
        saturate(100%)
        invert(69%)
        sepia(98%)
        saturate(2495%)
        hue-rotate(177deg)
        brightness(103%)
        contrast(103%);

    transition:
        transform .25s ease,
        filter .25s ease;
}

.links a:hover img {
    transform: scale(1.18);

    filter:
        brightness(0)
        saturate(100%)
        invert(82%)
        sepia(95%)
        saturate(3000%)
        hue-rotate(175deg)
        brightness(118%)
        contrast(110%)
        drop-shadow(0 0 10px rgba(0,212,255,.9))
        drop-shadow(0 0 20px rgba(0,212,255,.6))
        drop-shadow(0 0 35px rgba(0,212,255,.35));
}

/* AURORA */

.aurora {
    position: fixed;
    inset: 0;
    overflow: hidden;
}

.aurora span {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    opacity: .22;
    mix-blend-mode: screen;
}

.aurora span:nth-child(1) {
    width: 700px;
    height: 700px;

    background: #00d4ff;

    top: -10%;
    left: -10%;

    animation: float1 22s ease-in-out infinite;
}

.aurora span:nth-child(2) {
    width: 800px;
    height: 800px;

    background: #7a5cff;

    right: -20%;
    top: 10%;

    animation: float2 28s ease-in-out infinite;
}

.aurora span:nth-child(3) {
    width: 600px;
    height: 600px;

    background: #00ffb3;

    bottom: -20%;
    left: 20%;

    animation: float3 24s ease-in-out infinite;
}

/* FILM GRAIN */

.grain {
    position: fixed;
    inset: -100%;

    opacity: .03;
    pointer-events: none;

    background-image:
        radial-gradient(circle, white 1px, transparent 1px);

    background-size: 4px 4px;

    animation: grainMove 8s linear infinite;
}

/* ANIMATIONS */

@keyframes float1 {
    0%,100% {
        transform: translate(0,0);
    }
    50% {
        transform: translate(150px,120px);
    }
}

@keyframes float2 {
    0%,100% {
        transform: translate(0,0);
    }
    50% {
        transform: translate(-180px,140px);
    }
}

@keyframes float3 {
    0%,100% {
        transform: translate(0,0);
    }
    50% {
        transform: translate(120px,-180px);
    }
}

@keyframes grainMove {
    from {
        transform: translate(0,0);
    }
    to {
        transform: translate(10%,10%);
    }
}

.status {
    margin-top: 24px;
    margin-bottom: 36px;
	text-align: center;
    max-width: 500px;
    line-height: 1.8;

    font-size: 11px;
    letter-spacing: 0.4em;
    text-transform: uppercase;

    color: rgba(255,255,255,.35);

    font-weight: 300;
	
	text-shadow:  0 0 12px rgba(0,212,255,.25);
}