/* ----------------------------- Resets Iniciais ----------------------------- */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Special Elite';
}

html {
    scroll-behavior: smooth;
    height: 100%;
    margin: 0;
}

body {

    cursor: url('../cursor/hacker-normal.cur'), default !important;

    scroll-behavior: smooth;
    margin: 0;
    background-color: #161616 !important;

    color: white;

    display: grid;
    grid-template-rows: auto 1fr auto;
    /* Cabeçalho, Conteúdo, Rodapé */
    min-height: 100vh;
    overflow-x: hidden;
}



/* ----------------------------- Background ----------------------------- */

.hero-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;

    background-image:
        linear-gradient(var(--grid-line) 1px, transparent 1px),
        linear-gradient(to right, var(--grid-line) 1px, transparent 1px);
    background-size: 40px 40px;

    mask-image: radial-gradient(circle at center, black 20%, transparent 80%);
    -webkit-mask-image: radial-gradient(circle at center, black 20%, transparent 80%);
}

.hero-background::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(var(--highlight), var(--highlight));
    background-size: 120px 120px;
    background-repeat: repeat;
    mask-image: radial-gradient(square, white 40px, transparent 40px);
    opacity: 0.4;
    filter: blur(1px);
}



/* ----------------------------- Paleta de Cor ----------------------------- */

:root {

    --color1: #0a1a05;
    --color2: #1e330a;
    --color3: #3a5f0b;
    --color4: #5db000;
    --color5: #70F01F;
    --riddler-main: #6ec200;
    --riddler-dark: #050d02;
    --glass-bg: rgba(255, 255, 255, 0.05);
    --border-glass: rgba(96, 247, 82, 0.3);
    --text-muted: #727272;
    --grid-line: rgba(110, 194, 0, 0.1);
    --highlight: rgba(255, 255, 255, 0.03);
}




h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Orbitron';

}

p {
    font-family: 'Special Elite';
}

/* Barra de rolagem estilizada */

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-thumb {

    background: linear-gradient(80deg, var(--color1) 0%, var(--color2) 35%, var(--color5) 100%);
    border-radius: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color1);
}

/* Mouse estilizado para links e textos */

a,
button,
input[type="submit"],
input[type="reset"],
input[type="button"],
label[for],
select,
.btn,
.btn-primary,
.logo,
[role="button"] {
    cursor: url('../cursor/hacker-select.cur'), pointer !important;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
textarea,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    cursor: url('../cursor/hacker-text.cur'), text !important;
}


/* -------------------------------------------------------- Menu de Navegação -------------------------------------------------------- */

/* Background do Nav */

.nav-bg {

    background: var(--color1);
    background: linear-gradient(80deg, var(--color1) 0%, var(--color2) 35%, var(--color5) 100%);

    color: white;
    width: 100%;
    box-shadow: 0px 4px 15px var(--color1);
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;



}

/* Estilo do Nav */

.navbar {
    display: flex;
    justify-content: space-between;

    margin: 0 auto;
    color: white;
    padding: 20px;
    align-items: center;
    flex-direction: row;
    width: 85vw;
    gap: 50px;
}

.navbar-links {
    display: flex;
    gap: 25px;
    flex-direction: row !important;
    gap: 30px !important;
}


.logo-img {
    display: flex;

}


nav img {
    width: 35px;

}

.logo-img img {
    height: 80px !important;
    width: 80px !important;
}

nav a {
    color: white !important;
}




.logo {
    display: flex;
    gap: 20px;
    transition: all 0.3s ease;
    align-items: center;
    text-decoration: none;
}

.logo-img {
    display: inline-block;
    transition: all 0.1s ease;
    transform-style: preserve-3d;


}

.logo-img:hover {
    -webkit-animation: flicker-in-2 0.9s both;
    animation: flicker-in-2 0.9s both;
    cursor: pointer;
}

.logo img {
    transition: all 0.7s ease;
}

.logo * :hover {
    cursor: pointer;

}

.logo:hover img {
    transform: rotate(720deg) scale(1.1);
    filter: drop-shadow(0 0 15px var(--color5));

}





/* ----------------------------------------------
 * Generated by Animista on 2026-5-2 9:31:5
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * @animation flicker-in-2
 * ----------------------------------------
 */


@-webkit-keyframes flicker-in-2 {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    10.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    10.2% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    20% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    20.1% {
        opacity: 1;
        /* Início do brilho com a cor principal (--color5) */
        -webkit-filter: drop-shadow(0 0 15px var(--color5));
        filter: drop-shadow(0 0 15px var(--color5));
    }

    20.6% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    30% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    30.1% {
        opacity: 1;
        /* Brilho mais intenso combinando cores da paleta */
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    30.5% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    30.6% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    45% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    45.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    50% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    55% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    55.1% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    57% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    57.1% {
        opacity: 1;
        /* Brilho ainda mais intenso e focado no verde Riddler */
        -webkit-filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5));
        filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5));
    }

    60% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5));
        filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5));
    }

    60.1% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    65% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    65.1% {
        opacity: 1;
        /* Adicionando profundidade com tons mais escuros na borda */
        -webkit-filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5)) drop-shadow(0 0 70px var(--color2));
        filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5)) drop-shadow(0 0 70px var(--color2));
    }

    75% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5)) drop-shadow(0 0 70px var(--color2));
        filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5)) drop-shadow(0 0 70px var(--color2));
    }

    75.1% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    77% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    77.1% {
        opacity: 1;
        /* Ponto focal de brilho intenso */
        -webkit-filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 60px var(--color5)) drop-shadow(0 0 90px var(--color4)) drop-shadow(0 0 110px var(--color2));
        filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 60px var(--color5)) drop-shadow(0 0 90px var(--color4)) drop-shadow(0 0 110px var(--color2));
    }

    85% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 60px var(--color5)) drop-shadow(0 0 90px var(--color4)) drop-shadow(0 0 110px var(--color2));
        filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 60px var(--color5)) drop-shadow(0 0 90px var(--color4)) drop-shadow(0 0 110px var(--color2));
    }

    85.1% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    86% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    86.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 65px var(--color5)) drop-shadow(0 0 95px var(--color4)) drop-shadow(0 0 115px var(--color2));
        filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 65px var(--color5)) drop-shadow(0 0 95px var(--color4)) drop-shadow(0 0 115px var(--color2));
    }

    100% {
        opacity: 1;
        /* Estado final mantendo o brilho complexo */
        -webkit-filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 65px var(--color5)) drop-shadow(0 0 95px var(--color4)) drop-shadow(0 0 115px var(--color2));
        filter: drop-shadow(0 0 30px var(--riddler-main)) drop-shadow(0 0 65px var(--color5)) drop-shadow(0 0 95px var(--color4)) drop-shadow(0 0 115px var(--color2));
    }
}

@keyframes flicker-in-2-riddler {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    10.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    10.2% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    20% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    20.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 15px var(--color5));
        filter: drop-shadow(0 0 15px var(--color5));
    }

    20.6% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    30% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    30.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    30.5% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    30.6% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    45% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    45.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    50% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    55% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
        filter: drop-shadow(0 0 20px var(--color5)) drop-shadow(0 0 40px var(--color4));
    }

    55.1% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    57% {
        opacity: 0;
        -webkit-filter: drop-shadow(0 0 0 transparent);
        filter: drop-shadow(0 0 0 transparent);
    }

    57.1% {
        opacity: 1;
        -webkit-filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5));
        filter: drop-shadow(0 0 25px var(--riddler-main)) drop-shadow(0 0 50px var(--color5));
    }
}







.logo-title {

    font-weight: bold;
}

.navbar-nav {
    display: flex;
    gap: 15px;
}

.menu-icon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.menu-icon div {
    width: 25px;
    height: 3px;
    background-color: white;
    border-radius: 2px;
}




.navbar-menu:hover .menu-icon {

    transform: rotate(90deg);
    transition: all 0.3s ease;


}


.navbar-menu {
    transition: all 0.3s ease;
}



.navbar-menu .btn-primary {
    background-color: transparent;

    border: none;
    padding: 15px 15px;
    border-radius: 5px;
    cursor: pointer;

    transition: all 0.3s ease;
}


.navbar-menu .btn-primary:hover {
    background-color: rgb(255, 255, 255);
    color: rgb(255, 255, 255);
    border: none;
    box-shadow: 0.1px 0.1px 5px 0px var(--color1);
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    transform: scale(1.08);



}

.navbar-menu .btn-primary:hover .menu-icon div {
    background-color: var(--color4)
}

/* Menu Offcanvas */

.offcanvas-start {
    display: flex;

    align-items: center;

    color: white;
    padding: 20px;
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
    justify-content: center;
    background: #1e330a;
    background: linear-gradient(180deg, #0a1a05 0%, #3a5f0b 35%, #70F01F 100%);
    border-radius: 0 60px 60px 0;
    height: 95vh;


}

.offcanvas-body {
    display: flex;
    flex-direction: column;
    gap: 50px;
    border-bottom: 2px solid white;


}

.offcanvas .logo {
    color: white;
}

.offcanvas .logo img {
    height: 100px !important;
    width: 100px !important;
}

.offcanvas-body .navbar-nav {

    gap: 15px;
    display: flex;
    flex-direction: column;
    align-self: center;
    margin: auto;


}

.offcanvas-start .nav-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    width: 300px;
    justify-content: center;
    backdrop-filter: blur(10);
    background-color: transparent;
    font-weight: 600;
    background: var(--color4);





}





.offcanvas-start hr {
    border: 1px solid white !important;
    width: 100%;
    margin: 0 auto;
}

.btn-close {
    filter: invert(100) !important;

}

.offcanvas-start .nav-link:hover {
    filter: drop-shadow(0 0 10px white);
    background-color: white !important;
    border-radius: 10px;
}

.offcanvas-start .nav-link:hover img {
    filter: invert(10%) sepia(91%) saturate(5437%) hue-rotate(248deg) brightness(92%) contrast(106%);

}

.offcanvas-start .nav-link:hover .nav-link-text {
    color: #27199b;
}

.offcanvas-header {
    display: flex;
    gap: 20px;
    border-bottom: 2px solid white;

}

.offcanvas-start img {
    width: 50px;
    height: 50px;

}



.nav-item {
    display: flex;
    flex-direction: row;
}

.nav-link {
    text-decoration: none;
    color: white;
    font-size: 17px;
    padding: 8px 12px;
    border-radius: 8px;
    transition: color 0.3s, transform 0.3s;
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;

}

.nav-link img {
    width: 35px;
    height: 35px;
    filter: invert(100);
}

.off-menu {
    display: flex;
    flex-direction: row;
    gap: 20px;
    width: 100%;
}

.navbar-nav {
    display: flex !important;
    width: 100%;

}

nav .nav-link:hover {
    color: rgb(255, 255, 255);
    transform: scale(1.1);
    background: var(--color1);
    background: linear-gradient(80deg, var(--color3) 0%, var(--color4) 35%, var(--color5) 100%);
    transition: color 0.3s, transform 0.3s;
    transition: all 0.3s ease;
    padding: 10px;
    border-radius: 10px;

}

.nav-link-text {
    color: white;

}

.navbar .navbar-nav .nav-link.active {
    background-color: white;
    transform: scale(1.1);
    box-shadow: 0px 4px 15px #220059;

}


.navbar .navbar-nav .nav-link:active .nav-link-text {
    color: black;
    font-weight: 700;
}


.navbar .navbar-nav .nav-link:active img {
    filter: brightness(0);
}





/* Background do Nav */

.footer-bg {

    background: var(--color1);
    background: linear-gradient(80deg, var(--color1) 0%, var(--color2) 35%, var(--color5) 100%);

    color: white;
    width: 100%;
    box-shadow: 0px 4px 15px var(--color1);
    border-top-right-radius: 15px;
    border-top-left-radius: 15px;



}

/* ================== Footer ================== */

footer {
    display: flex;
    justify-content: space-between;

    margin: auto;
    color: white;
    padding: 20px;
    align-items: center;
    flex-direction: column;
    width: 85vw;
    gap: 50px;
    bottom: 0;
}

.footer-top,
.footer-bottom {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.footer-top,
.footer-bottom {
    gap: 100px;
    align-items: center;
}

footer a {
    text-decoration: none;
    overflow: none;
    color: white;
}

footer img {
    filter: invert(100);
    width: 35px;
    height: auto;
}

.footer-social {
    display: flex;
    flex-direction: row;
    gap: 15px;
    transition: all 0.3s ease;

}

.footer-social a {
    padding: 10px;
    transition: all 0.3s ease;
    border-radius: 15px
}

.footer-social a:hover {

    background-color: white;
    padding: 10px;
    border-radius: 15px;
    filter: drop-shadow(0 0 10px white);
}

.footer-social a:hover img {
    filter: invert(10%) sepia(91%) saturate(5437%) hue-rotate(248deg) brightness(92%) contrast(106%);

}

.footer-iai {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-name {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5)
}

.footer-links {
    display: flex;
    flex-direction: row;
    gap: 100px;
}

.footer-a-list a:hover {
    text-decoration: underline;
}

.footer-a-list {
    display: flex;
    flex-direction: column;
}

.footer-text p {

    font-size: small;
}

/* ==================== Site ==================== */

.site {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.site-home,
.site-sobre,
.site-missoes,
.site-kit,
.site-terminal,
.site-social {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;

    /* justify-content: center; */

    width: 100%;
    min-height: 100vh;
    padding: 50px;
}

.site-home:after,
.site-sobre:after,
.site-encontros:after,
.site-missoes:after,
.site-kit:after,
.site-terminal:after,
.site-social:after {

    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 1px;

    /* Gradiente do border-bottom */
    background: linear-gradient(90deg,
            rgba(255, 255, 255, 0) 0%,
            rgba(255, 255, 255, 1) 50%,
            rgba(255, 255, 255, 0) 100%);
}

.home-status {
    display: flex;
    background-color: #6045cd77;
    flex-direction: row;
    width: 20vw;
    border: 1px solid rgba(155, 51, 252, 0.3);
    border-radius: 300px;
    color: white;
    justify-content: center;
    align-items: center;
    align-self: center;
    gap: 10px;
    margin-bottom: 25px;

}


.home-status p {
    margin: 0;
    font-weight: 600;
    font-size: 12px;
    font-family: 'Inter';
    color: #c1aeff;
}

.home-status img {
    width: 15px;
    height: auto;
}

.site-home-outdoor-title h1 {
    color: white;
    font-weight: 700;
    font-size: 4.5rem;
    text-align: center;
}



.site-home-outdoor-title b {
    color: #7c5be6;
}

.site-home-outdoor-title i {
    color: #9276ee;
}

/* ==================== Hero Section (Outdoor) ==================== */

.site-home-outdoor {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50vh;
    margin: 40px auto;
}

.site-home-outdoor-title {
    z-index: 5;
    text-align: center;
}

.site-home-outdoor-title h1 {
    color: white;
    font-weight: 700;
    font-size: 5rem;
    text-align: center;
    line-height: 1.1;
    text-shadow: 0px 4px 20px rgba(0, 0, 0, 0.8);
}

/* --- Ícones Flutuantes --- */

.site-home-outdoor-gif {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    opacity: 0.7;
    filter: drop-shadow(0 0 30px var(--color4));
    transition: all 0.3s ease;


    -webkit-mask-image: radial-gradient(ellipse at center,
            black 20%,
            rgba(0, 0, 0, 0.5) 50%,
            transparent 80%);
    mask-image: radial-gradient(ellipse at center,
            black 20%,
            rgba(0, 0, 0, 0.5) 50%,
            transparent 80%);


    animation: flutuarLateral 4s ease-in-out infinite alternate;
}


.site-home-outdoor-gif:nth-child(1) {
    left: 5%;
}


.site-home-outdoor-gif:nth-child(3) {
    right: 5%;
    animation-delay: 2s;
}

.site-home-outdoor-gif img {
    max-width: 250px;
    transition: all 0.3s ease;
    height: auto;
}

.site-home-outdoor-gif:hover img {
    transform: scale(1.1);
    cursor: pointer
}

@keyframes flutuarLateral {
    0% {
        transform: translateY(-50%) rotate(0deg);
    }

    100% {
        transform: translateY(-60%) rotate(5deg);
    }
}

.site-home-description {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40vw;
}

.site-home-description p {
    color: white;
    font-weight: 700;
    font-size: 1rem;
    text-align: center;
    line-height: 1.1;
    text-shadow: 0px 4px 20px rgba(0, 0, 0, 0.8);
}

.site-home-description b {
    color: #c1aeff;
}


.site-home-info {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.site-home-info .home-status {
    width: 12vw;
    height: 30px;
    display: flex;
    align-items: center;
}

.site-home-info .home-status img {
    width: 20px;
    height: auto;
}

.site-home-info b {
    font-weight: 700;
    font-size: 1.2rem;
    margin: 2.5px;
    text-align: center;
    line-height: 1.1;
    color: #7c5be6;
    text-shadow: 0px 4px 20px rgba(0, 0, 0, 0.8);
}

.site-home-button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    justify-items: center;
    align-items: center;
    gap: 10px;
}

.site-home-button a {
    background: var(--color1);
    background: linear-gradient(360deg, var(--color1) 0%, var(--color2) 35%, var(--color5) 100%);
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 15px;
    color: white;
    text-decoration: none;
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
    align-content: center;
    justify-content: center;
    transition: all 0.3s ease;
    margin: 15px;
}

.site-home-button a:hover {
    transform: scale(1.1);
    margin: 10px;
    cursor: pointer;
}

.site-home-button p {
    margin: 0;
}

.site-home-button p:hover {
    cursor: pointer;
}

.site-home-button img {
    filter: invert(100);
    width: auto;
    height: 25px;
}

#conhecer {
    color: #432fb4;
    background: #ffffff;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(189, 189, 189, 1) 50%, rgba(145, 145, 145, 1) 100%);
}

#conhecer img {
    filter: invert(10%) sepia(91%) saturate(5437%) hue-rotate(248deg) brightness(92%) contrast(106%);
}

#conhecer:hover {
    background: var(--color1);
    background: linear-gradient(360deg, var(--color1) 0%, var(--color2) 35%, var(--color5) 100%);

    color: white;
    font-weight: 700;
}

#conhecer:hover img {
    filter: invert(100);
}

#aprender:hover {
    color: #432fb4;
    font-weight: 700;
    background: #ffffff;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(189, 189, 189, 1) 50%, rgba(145, 145, 145, 1) 100%);
}

#aprender:hover img {
    filter: invert(10%) sepia(91%) saturate(5437%) hue-rotate(248deg) brightness(92%) contrast(106%);
}

/*=============== Sobre o Projeto ===============*/


.site-sobre {
    display: flex;
}




.site-sobre-outdoor,
.site-missoes-outdoor {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    align-content: center;
    align-self: center;
    justify-content: center;



}

.site-sobre-sinopse-bg,
.site-missoes-sinopse-bg {

    display: flex;
    flex-wrap: wrap;
    text-align: center !important;
}

.site-sobre-sinopse,
.site-missoes-sinopse {
    flex: 0 0 auto;
    width: 66.66666667%;
    margin-right: auto !important;
    margin-left: auto !important;
    gap: 25px;
}

.site-sobre-sinopse h2,
.site-missoes-sinopse h2 {
    color: #6045cd;
    font-weight: 500;
    font-size: 3rem;
    line-height: 1.1;
}

.site-sobre-sinopse i,
.site-missoes-sinopse i {
    font-weight: 500;
    font-size: 2.5rem;
    line-height: 1.1;
    color: white;
}

.site-sobre-sinopse-p {
    background-color: #13044446;
    border-radius: 15px;
    padding: 20px;
    backdrop-filter: blur(10px);
    margin: 20px;
    margin-left: 0;
    text-align: center;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(118, 82, 247, 0.5);
}

.site-sobre-sinopse-p span {
    font-weight: 700;
    color: #9276ee;
}

.site-sobre-sinopse-p p {
    color: white;
    margin: 0;
}

.site-sobre-outdoor img {
    width: 150px;
    height: auto;
    transition: all 0.3s ease;
    border-radius: 15px;

}

.site-sobre-outdoor img:hover {
    transform: scale(1.1);
    cursor: pointer;
    filter: drop-shadow(0 0 30px var(--color5));
}

.site-sobre-outdoor .card {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px;
    background-color: #13044446;
    border-radius: 15px;
    color: white;
    transition: all 0.3s ease;
}

.site-sobre-outdoor .card:hover {
    filter: drop-shadow(0 0 30px var(--color2));
    cursor: pointer;
    transform: scale(1.05);
}


/* Bagulhozinho para ficar piscando tipo terminal */

.terminal-cursor {
    display: inline-block;
    width: 10px;
    height: 1.2em;
    background-color: #a2ff00;
    margin-left: 5px;
    vertical-align: middle;
    animation: blink 0.8s infinite;
    box-shadow: 0 0 8px #a2ff00;
}

/* Animação do bagulhozinho para ficar piscando tipo terminal */

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}


.click-effect {
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid var(--color5);
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    animation: expand-noise 0.7s ease-out;
    filter: drop-shadow(0 0 10px var(--color5));
}

@keyframes expand-noise {
    0% {
        width: 0;
        height: 0;
        opacity: 1;
        border-width: 5px;
    }

    100% {
        width: 100px;
        height: 100px;
        opacity: 0;
        border-width: 1px;
    }
}




.video-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -999999999999999999999999999999999999999999999999;
    /* Fica atrás de tudo */
    overflow: hidden;
}

#bg-video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    /* Preenche a tela sem distorcer */
    filter: grayscale(1) contrast(1.5) brightness(0.6);
    /* Deixa mais sinistro */
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(5, 13, 2, 0.7);
    /* Filtro verde escuro de Arkham */
    z-index: -1;
}

/* Efeito de tremer a tela */

.glitch-shake {
    animation: shake 0.3s ease-in-out;
}

@keyframes shake {
    0% {
        transform: translate(0);
        filter: none;
    }

    20% {
        transform: translate(-5px, 5px);
        filter: hue-rotate(90deg) brightness(2) contrast(1.5);
        /* Cores mudam e brilha muito */
    }

    40% {
        transform: translate(5px, -5px);
        filter: invert(0.2) sepia(1) hue-rotate(180deg);
        /* Efeito de 'negativo' rápido */
    }

    60% {
        transform: translate(-5px, -2px);
        filter: hue-rotate(270deg) saturate(5);
        /* Cores supersaturadas */
    }

    80% {
        transform: translate(5px, 2px);
        filter: brightness(0.5);
        /* Escurece rápido */
    }

    100% {
        transform: translate(0);
        filter: none;
    }
}





/* ================= MÁQUINA ENIGMA (CRYPTEX) ================= */

@keyframes borderGlow {
    0% {
        box-shadow: 0 0 15px var(--color3);
        border: 1px solid var(--color3);
    }

    50% {
        box-shadow: 0 0 25px var(--color4);
        border: 1px solid var(--color4);
    }

    100% {
        box-shadow: 0 0 15px var(--color5);
        border: 1px solid var(--color5);
    }
}

.enigma-box {
    display: flex;
    flex-direction: column;
    background-color: #1a2b1a;
    border-radius: 15px;
    padding: 40px;
    width: 70vw;
    align-self: center;
    justify-content: center;
    justify-self: center;
    align-content: center;
    color: #00ff41;
    animation: borderGlow 5s infinite alternate;
}

.maquina-enigma-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: center;
    justify-self: center
}


/* Container de cada coluna/slot isolado */
.coluna-enigma {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

/* Os botões de seta */
.btn-seta {
    background: transparent;
    border: none;
    color: #00ff41;
    font-size: 1.2rem;
    cursor: pointer;
    transition: transform 0.2s, text-shadow 0.2s;
    outline: none;
}
.btn-seta:hover {
    transform: scale(1.3);
    text-shadow: 0 0 10px #00ff41;
}


.cryptex-wrapper {
    display: flex;
    background: #0a120a;
    border: 4px solid #050a05;
    border-radius: 8px;
    position: relative;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.9), 0 0 15px rgba(0, 255, 65, 0.2);
    height: 150px;
    gap: 15px;
    
    overflow: hidden;
}

/* A barra luminosa do meio que "lê" a senha */

.lente-leitura {
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 50px;
    background: rgba(0, 255, 65, 0.15);
    border-top: 2px solid #00ff41;
    border-bottom: 2px solid #00ff41;
    box-shadow: 0 0 10px rgba(0, 255, 65, 0.5);
    pointer-events: none;
    z-index: 10;
}

.cryptex-wrapper-single {

    display: flex;
    background: #0a120a;
    border: 2px solid #00ff41;
    border-radius: 8px;
    position: relative;
    height: 150px; 
    width: 50px;  
    overflow: hidden;
    box-shadow: inset 0 0 15px rgba(0,0,0,0.9);
}

.lente-leitura-single {
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 180px;
    background: rgba(0, 255, 65, 0.2);
    border-top: 1px solid #00ff41;
    border-bottom: 1px solid #00ff41;
    pointer-events: none;
    z-index: 10;}

.engrenagem {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
}

.engrenagem::-webkit-scrollbar {
     display: none;
 }

.simbolo {
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-align: center;
}

.simbolo img{
   filter: invert(27%) sepia(21%) saturate(1312%) hue-rotate(74deg) brightness(94%) contrast(89%);    width: 50px;
    height: auto;
}


/* O espaço vazio pra permitir que a primeira letra desça pro meio */

.simbolo.spacer {
    color: transparent;
}

.btn-hackear {
    display: flex;
    align-self: center;
    justify-self: center;
    transition: all 0.3s ease;
}

.btn-hackear:hover {
    color: #000 !important;
    background-color: #00ff41 !important;
}

.dot {
    width: 10px;
    border-radius: 100%;
    padding: 10px;
    background-color: black;
}

.terminal-buttons {
    display: flex;
    flex-direction: row;
    gap: 15px;
}

.red {
    background-color: red;
    filter: drop-shadow(5px 5px 10px rgba(255, 0, 0, 0.5));
}

.yellow {
    background-color: rgb(255, 255, 0);
    filter: drop-shadow(5px 5px 10px rgba(255, 255, 0, 0.5));
}

.green {
    background-color: var(--color5);
    filter: drop-shadow(5px 5px 10px rgba(rgba(111, 240, 31, 0.5)));
}


/* ========================================= Responsividade ========================================= */

/* -----------------------------------------------------------------------
   TABLET — até 1024px
   ----------------------------------------------------------------------- */
@media (max-width: 1024px) {
 
    /* --- Navbar --- */
    .navbar {
        width: 95vw;
        gap: 20px;
    }
 
    .navbar-links {
        gap: 15px !important;
    }
 
    /* --- Hero --- */
    .site-home-outdoor-title h1 {
        font-size: 3.5rem;
    }
 
    .site-home-outdoor-gif img {
        max-width: 180px;
    }
 
    .site-home-description {
        width: 65vw;
    }
 
    .site-home-info .home-status {
        width: 20vw;
    }
 
    /* --- Sinopse --- */
    .site-sobre-sinopse,
    .site-missoes-sinopse {
        width: 85%;
    }
 
    /* --- Enigma / Cryptex --- */
    .enigma-box {
        width: 90vw;
        padding: 25px;
    }
 
    /* --- Footer --- */
    .footer-links {
        gap: 40px;
    }
 
    .footer-top,
    .footer-bottom {
        gap: 40px;
    }
}
 
 
/* -----------------------------------------------------------------------
   MOBILE GRANDE — até 768px
   ----------------------------------------------------------------------- */
@media (max-width: 768px) {
 
    /* --- Navbar --- */
    .navbar {
        flex-direction: row;
        width: 95vw;
        padding: 12px 16px;
        gap: 10px;
        justify-content: space-between;
    }
 
    /* Esconde links da navbar no mobile (usa o offcanvas) */
    .navbar-links {
        display: none !important;
    }
 
    .logo-img img,
    .logo img {
        height: 55px !important;
        width: 55px !important;
    }
 
    .logo-title h1 {
        font-size: 1.1rem;
    }
 
    /* --- Seções principais --- */
    .site-home,
    .site-sobre,
    .site-missoes,
    .site-kit,
    .site-terminal,
    .site-social {
        padding: 30px 20px;
        min-height: auto;
    }
 
    /* --- Hero --- */
    .site-home-outdoor {
        flex-direction: column;
        margin: 20px auto;
    }
 
    .site-home-outdoor-title h1 {
        font-size: 2.4rem;
        line-height: 1.2;
    }
 
    /* Imagens flutuantes ficam pequenas e estáticas nos lados */
    .site-home-outdoor-gif {
        position: static;
        transform: none !important;
        animation: none !important;
        opacity: 0.5;
        display: none; /* Oculta no mobile para não atrapalhar o texto */
    }
 
    .site-home-description {
        width: 90vw;
    }
 
    .home-status {
        width: 80vw;
        max-width: 320px;
    }
 
    .site-home-info {
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
 
    .site-home-info .home-status {
        width: 70vw;
        max-width: 280px;
        height: auto;
        padding: 8px 12px;
    }
 
    .site-home-button {
        flex-direction: column;
        width: 100%;
        align-items: center;
    }
 
    .site-home-button a {
        width: 80%;
        justify-content: center;
    }
 
    /* --- Sinopse / Sobre / Missões --- */
    .site-sobre-sinopse,
    .site-missoes-sinopse {
        width: 100%;
    }
 
    .site-sobre-sinopse h2,
    .site-missoes-sinopse h2 {
        font-size: 2rem;
    }
 
    .site-sobre-sinopse i,
    .site-missoes-sinopse i {
        font-size: 1.6rem;
    }
 
    .site-sobre-sinopse-bg,
    .site-missoes-sinopse-bg {
        flex-direction: column;
    }
 
    .site-sobre-sinopse-p {
        margin: 10px 0;
    }
 
    /* --- Cards de missão --- */
    .missoes-card {
        width: 100% !important;
    }
 
    /* --- Enigma / Cryptex --- */
    .enigma-box {
        width: 95vw;
        padding: 20px 12px;
    }
 
    .maquina-enigma-container {
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }
 
    /* --- Pódio / Pilares --- */
    .pilar-card.primeiro-lugar,
    .pilar-card.segundo-lugar,
    .pilar-card.terceiro-lugar,
    .pilar-card.quarto-lugar {
        transform: scale(1) !important;
        margin-bottom: 20px;
    }
 
    .degrau {
        max-width: 100%;
        min-width: 0;
    }
 
    /* --- Footer --- */
    footer {
        width: 95vw;
        gap: 25px;
    }
 
    .footer-top,
    .footer-bottom {
        flex-direction: column;
        gap: 25px;
        text-align: center;
    }
 
    .footer-links {
        flex-direction: column;
        gap: 20px;
    }
 
    .footer-social {
        justify-content: center;
    }
}
 
 
/* -----------------------------------------------------------------------
   MOBILE PEQUENO — até 480px
   ----------------------------------------------------------------------- */
@media (max-width: 480px) {
 
    /* --- Hero título menor --- */
    .site-home-outdoor-title h1 {
        font-size: 1.9rem;
    }
 
    /* --- Navbar compacta --- */
    .logo-title h1 {
        font-size: 0.95rem;
    }
 
    .logo-img img,
    .logo img {
        height: 44px !important;
        width: 44px !important;
    }
 
    /* --- Seções com menos padding --- */
    .site-home,
    .site-sobre,
    .site-missoes,
    .site-kit,
    .site-terminal,
    .site-social {
        padding: 20px 12px;
    }
 
    /* --- Status badge menor --- */
    .home-status {
        width: 95vw;
        font-size: 10px;
    }
 
    /* --- Cryptex menor --- */
    .cryptex-wrapper-single {
        width: 40px;
    }
 
    .simbolo img {
        width: 38px;
    }
 
    /* --- Botões empilhados com largura total --- */
    .site-home-button a {
        width: 90%;
    }
 
    /* --- Texto do offcanvas --- */
    .offcanvas-start .nav-link {
        width: 260px;
    }
 
    /* --- Seção sinopse --- */
    .site-sobre-sinopse h2,
    .site-missoes-sinopse h2 {
        font-size: 1.6rem;
    }
 
    .site-sobre-sinopse i,
    .site-missoes-sinopse i {
        font-size: 1.3rem;
    }
}