* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    background-color: #000000;
    color: #ffffff;
    position: relative; /* necessário para os pseudo-elementos */
   
    
}

/* Animação suave de degradê tipo 'onda' no fundo */
body::before {
    content: "";
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0 */
    z-index: -2;
    background: linear-gradient(120deg, #000000 0%, #0b0b0b 45%, #101010 100%);
    background-size: 300% 300%;
    filter: saturate(1.02);
    animation: gradientShift 18s ease-in-out infinite;
}

/* Camada difusa que se move como uma onda sobre o degradê */
body::after {
    content: "";
    position: fixed;
    z-index: -3;
    left: -50%;
    top: -25%;
    width: 200%;
    height: 160%;
    background: radial-gradient(circle at 20% 30%, rgb(0, 0, 0), rgba(0,0,0,0) 25%, rgba(0,0,0,0.12) 60%);
    filter: blur(64px) contrast(0.9);
    transform: translateX(-30%) rotate(6deg);
    mix-blend-mode: overlay;
    animation: waveMove 26s linear infinite;
}

@keyframes gradientShift {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes waveMove {
    0%   { transform: translateX(-30%) rotate(6deg) scale(1); opacity: 0.9; }
    50%  { transform: translateX(8%)   rotate(6deg) scale(1.06); opacity: 1; }
    100% { transform: translateX(-30%) rotate(6deg) scale(1); opacity: 0.9; }
}

/* Respeitar preferência de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
    body::before, body::after {
        animation: none !important;
    }
}

.banner-desktop {
    width: 100%;
    height: 84vh;
    background-image: url('assets/logo-monster.webp');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.info {
    text-align: center;
    gap: 3vw;
    margin-top: 1vw;
}
.info p {

    font-size: 1.5vw;
    font-weight: 500;
}
.info img {
    width: 2.4vw;
    margin-top: 1vw;
    cursor: pointer;
    margin-right: 1vw;
    margin-left: 1vw;
}
.cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2vw;
    margin-top: 3vw;
}
.card {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    text-align: center;
    font-size: 1.2vw;
    font-weight: 600;
    text-decoration: none;
    color: #ffffff;
    transition: background-color 0.3s ease;
}
.card-1, .card-2, .card-3 {
    display: flex;
    background-color: #202020;
    width: 30vw;
    flex-direction: column;
    align-items: center;
    gap: 1vw;
    margin-top: 2vw;
    border-radius: 0.6vw;
    cursor: pointer;
}
.card-1:hover, .card-2:hover, .card-3:hover {
    background-color: #333333;
}

.card a {
    text-decoration: none;
    color: #ffffff;
}
.card p{
    margin-bottom: 1vw;
}

.card-1 {
    display: flex;
    flex-direction: column;
    align-items: center;
   
}
.card-1 img {
    width: 100%;
    border-top-left-radius: 0.6vw;
    border-top-right-radius: 0.6vw;
}

.card-2,.card-3 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 1vw 2vw;
}
.card-2 p, .card-3 p{
    margin-bottom: 0;
}
.card-2 img, .card-3 img{
    width: 3vw;
}

footer {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 6vw;
    margin-bottom: 2vw;
    font-size: 1vw;
    color: #555555;
}
footer .criado {
    margin-top: 1.5vw;
    margin-bottom: 2vw;
    border-radius: 2vw;
}

footer .criado a {
    width: 20vw;
    padding: 0.5vw 1vw;
    font-weight: bold;
    color: #000000;
    background: rgba(255, 255, 255, 0.952);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    width:15vw;
    border-radius: 2vw;
    text-decoration: none;
}






/*viewport*/
@media (max-width: 900px) {
    .banner-desktop {
        width: 100%;
        height: 60vh;
        background-size: 125%;
    }
    .info p {
        font-size: 8vw;
        margin-top: 5vw;
    }
    .info img {
        width: 10vw;
        margin: 5vw 3vw;
    }
    .cards {
        gap: 6vw;
        margin-top: 6vw;
    }
    .card {
        font-size: 5vw;
        padding: 2vw;
    }
    .card-1, .card-2, .card-3 {
        width: 100%;
        gap: 4vw;
        margin-bottom: 4vw;
        margin-top: 4vw;
        border-radius: 8vw;
    }
    .card-1 p, .card-2 p, .card-3 p {
        margin: 3vw 2vw;
    }
    .card-1 img {
        border-top-left-radius: 8vw;
        border-top-right-radius: 8vw;
    }
    .card-2 img, .card-3 img {
        width: 12vw;
        
    }
    .card a {
        font-size: 5vw;
        width: 100%;
    }
    footer {
        margin-top: 12vw;
        margin-bottom: 6vw;
        font-size: 4vw;
    }
    footer .criado {
        width: 100%;
        border-radius: 8vw;
        font-size: 4vw;
        margin-top: 5vw;
        margin-bottom: 6vw;
    }
    footer .criado a {
        width: 100%;
        padding: 2.4vw 8vw;
        font-size: 5vw;
        border-radius: 5vw;
    }

}