*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Nunito,sans-serif;
}

body{
    min-height:100vh;

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

    text-align:center;

    background:#ffffff;
    color:#374151;
}

#notfound{
    animation: fadeInPage 0.9s cubic-bezier(.4,0,.2,1);
}

.notfound{
    padding:35px 40px;
}

.animated-error{
    font-size:100px;
    font-weight:700;

    color:#374151;

    line-height:1;

    animation: premiumFloat 8s ease-in-out infinite;

    will-change: transform;
}

.notfound h2{
    font-size:28px;
    color:#111827;

    margin:18px 0 12px;
}

.notfound p{
    color:#6b7280;

    line-height:1.6;

    margin-bottom:30px;
}

.notfound a{
    display:inline-block;

    padding:14px 36px;
    border-radius:14px;

    background:#374151;
    color:white;

    text-decoration:none;
    font-weight:700;

    transition:all .3s cubic-bezier(.4,0,.2,1);
}

.notfound a:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 25px rgba(55,65,81,.3);
}

@keyframes fadeInPage{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes premiumFloat{
    0%{
        transform:translateY(0);
    }
    25%{
        transform:translateY(-8px);
    }
    50%{
        transform:translateY(0);
    }
    75%{
        transform:translateY(6px);
    }
    100%{
        transform:translateY(0);
    }
}