*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --primary:#5346d8;
    --text:#ffffff;
}

body{
    font-family:'Inter',sans-serif;
    min-height:100vh;
    overflow:auto;
    background:#000;
    color:var(--text);
}

/* Hintergrund */

.background{
    position:fixed;
    inset:0;

    background-image:url("../assets/background.jpg");
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

    z-index:1;
}

/* dunkles Overlay */

.overlay{
    position:fixed;
    inset:0;

    background:
    linear-gradient(
        180deg,
        rgba(0,0,0,.88),
        rgba(0,0,0,.92)
    );

    z-index:2;
}

/* Glow */

.glow{
    position:fixed;

    width:700px;
    height:700px;

    left:-150px;
    bottom:-150px;

    border-radius:50%;

    background:var(--primary);

    filter:blur(220px);

    opacity:.12;

    z-index:3;
}

/* Hero */

.hero{
    position:relative;
    z-index:10;

    min-height:100vh;

    display:flex;
    flex-direction:column;

    justify-content:center;
    align-items:center;

    text-align:center;

    padding:30px;
}

/* Logo */

.logo{
    width:100%;
    max-width:750px;

    margin-bottom:50px;

    animation:fadeIn 1.4s ease;
}

/* Badge */

.badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 24px;

    border-radius:999px;

    background:rgba(83,70,216,.15);

    border:1px solid rgba(83,70,216,.35);

    color:#b8b2ff;

    letter-spacing:3px;
    font-size:.8rem;
    font-weight:600;

    margin-bottom:25px;
}

/* Headline */

h1{
    font-size:clamp(2.2rem,5vw,4rem);
    font-weight:600;

    margin-bottom:20px;
}

/* Text */

p{
    max-width:700px;

    color:rgba(255,255,255,.75);

    line-height:1.8;

    font-size:1rem;
}

/* Loader */

.loader{
    margin-top:50px;
}

.loader span{
    display:inline-block;

    width:10px;
    height:10px;

    border-radius:50%;

    margin:0 6px;

    background:var(--primary);

    animation:bounce 1.5s infinite;
}

.loader span:nth-child(2){
    animation-delay:.2s;
}

.loader span:nth-child(3){
    animation-delay:.4s;
}

@keyframes bounce{

    0%,100%{
        transform:translateY(0);
        opacity:.4;
    }

    50%{
        transform:translateY(-10px);
        opacity:1;
    }
}

/* Hexagone */

.hexagon{
    position:fixed;

    width:90px;
    height:100px;

    border:1px solid rgba(83,70,216,.25);

    clip-path:polygon(
        25% 0%,
        75% 0%,
        100% 50%,
        75% 100%,
        25% 100%,
        0% 50%
    );

    z-index:4;

    animation:float 12s ease-in-out infinite;
}

.hex1{
    top:12%;
    left:8%;
}

.hex2{
    top:20%;
    right:10%;
    width:60px;
    height:70px;
}

.hex3{
    bottom:12%;
    right:18%;
}

.hex4{
    bottom:20%;
    left:15%;
    width:50px;
    height:60px;
}

@keyframes float{

    0%,100%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-20px);
    }
}

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Mobile */

@media(max-width:768px){

    .logo{
        max-width:95%;
        margin-bottom:35px;
    }

    h1{
        font-size:2rem;
    }

    p{
        font-size:.95rem;
        line-height:1.7;
    }

    .hexagon{
        opacity:.4;
    }
}