/* ==================================================
   RESET GLOBAL
   Remove margens e paddings padrões do navegador
================================================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ==================================================
   VARIÁVEIS GLOBAIS
   Cores, tamanhos e estilos reutilizados
================================================== */
:root{

    --bg-dark:#020617;
    --bg-card:rgba(7,20,46,.7);

    --primary:#00cfff;

    --text-main:#ffffff;

    --titulo-main:8rem;

    --sub-titulo:2.5rem;
}

/* ==================================================
   CONFIGURAÇÕES GERAIS DA PÁGINA
================================================== */
html{
    font-size:62.5%;
}

body{

    font-size:2rem;

    font-family:'Segoe UI',sans-serif;

    color:var(--text-main);

    background-color:var(--bg-dark);

    overflow-x:hidden;
}

/* ==================================================
   VÍDEO DE FUNDO DA PÁGINA
================================================== */
.video-fundo{

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    object-fit:cover;

    z-index:-2;
}

/* ==================================================
   CAMADA ESCURA SOBRE O VÍDEO
================================================== */
body::before{

    content:"";

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background-image:
    linear-gradient(
        rgba(2,6,23,.80),
        rgba(2,6,23,.85)
    );

    z-index:-1;
}

/* ==================================================
   CABEÇALHO DA PÁGINA
================================================== */
.cabecalho{

    width:100%;

    padding:2rem;
}

/* ==================================================
   BARRA DE NAVEGAÇÃO
================================================== */
.cabecalho__navbar{

    width:95%;

    margin:auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:2rem 4rem;

    border-radius:4rem;

    border:1px solid rgba(0,207,255,.20);

    background-color:rgba(255,255,255,.05);

    backdrop-filter:blur(10px);
}

/* ==================================================
   LOGO DO PROJETO
================================================== */
.cabecalho__logo img{

    height:8rem;

    border-radius:1rem;

    box-shadow:
    0 0 20px rgba(0,207,255,.5);
}

/* ==================================================
   LISTA DE LINKS DO MENU
================================================== */
.cabecalho__lista{

    list-style:none;

    display:flex;

    gap:4rem;
}

/* ==================================================
   LINKS DO MENU
================================================== */
.cabecalho__link{

    color:white;

    text-decoration:none;

    transition:.4s;
}

.cabecalho__link:hover{

    color:var(--primary);
}

/* ==================================================
   SEÇÃO HERO (APRESENTAÇÃO PRINCIPAL)
================================================== */
.hero{

    width:100%;
    height:90vh;
}

/* ==================================================
   CONTAINER INTERNO DA HERO
================================================== */
.hero__container{

    width:100%;
    height:100%;

    display:flex;

    justify-content:center;

    align-items:center;
}

/* ==================================================
   BLOCO DE TEXTO PRINCIPAL
================================================== */
.hero__texto{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:3rem;

    text-align:center;
}

/* ==================================================
   TEXTO DE BOAS-VINDAS
================================================== */
.hero__bemvindo{

    color:var(--primary);

    letter-spacing:1rem;

    font-size:2rem;
}

/* ==================================================
   TÍTULO PRINCIPAL DA HOME
================================================== */
.hero__title{

    font-size:var(--titulo-main);

    font-weight:bold;

    text-shadow:
    0 0 20px rgba(0,207,255,.8);
}

/* ==================================================
   LINHA DECORATIVA ABAIXO DO TÍTULO
================================================== */
.hero__linha{

    width:25rem;

    height:.4rem;

    background-color:var(--primary);
}

/* ==================================================
   TEXTO DESCRITIVO PRINCIPAL
================================================== */
.hero__text{

    width:70rem;

    line-height:1.8;

    color:#d7d7d7;
}

/* ==================================================
   BOTÃO PRINCIPAL DA HOME
================================================== */
.hero__btn{

    background-image:
    linear-gradient(
        135deg,
        #00cfff,
        #38bdf8
    );

    padding:2rem 5rem;

    border-radius:5rem;

    text-decoration:none;

    color:#020617;

    font-weight:bold;

    transition:.4s;
}

/* ==================================================
   EFEITO HOVER DO BOTÃO
================================================== */
.hero__btn:hover{

    box-shadow:
    0 0 30px rgba(0,207,255,.7);
}

/* ==================================================
   CONTAINER DOS CARDS DE CONTEÚDO
================================================== */
.conteudo__container{

    width:90%;

    margin:auto;

    display:grid;

    grid-template-columns:1fr 1fr 1fr;

    gap:4rem;

    margin-bottom:10rem;
}

/* ==================================================
   CARD INDIVIDUAL DE CONTEÚDO
================================================== */
.conteudo__sec{

    background-color:var(--bg-card);

    padding:4rem;

    border-radius:3rem;

    border:1px solid rgba(0,207,255,.15);

    transition:.5s;
}

/* ==================================================
   EFEITO HOVER DOS CARDS
================================================== */
.conteudo__sec:hover{

    transform:translateY(-10px);

    box-shadow:
    0 0 35px rgba(0,207,255,.25);
}

/* ==================================================
   ÍCONES DOS CARDS
================================================== */
.card__icone{

    font-size:5rem;

    margin-bottom:2rem;
}

/* ==================================================
   SUBTÍTULOS DOS CARDS
================================================== */
.conteudo__sub-title{

    font-size:var(--sub-titulo);

    color:var(--primary);

    margin-bottom:2rem;

    font-weight:bold;
}

/* ==================================================
   TEXTO DOS CARDS
================================================== */
.conteudo__sec p{

    line-height:1.8;

    color:#d7d7d7;
}

/* ==================================================
   RODAPÉ DA PÁGINA
================================================== */
.rodape{

    padding:4rem;

    text-align:center;

    border-top:1px solid rgba(0,207,255,.15);

    background-color:rgba(0,0,0,.2);
}

/* ==================================================
   BOTÃO SOS FLUTUANTE
================================================== */
.sos-btn{
    position:fixed;
    bottom:25px;
    left:25px;
    width:70px;
    height:70px;
    border:none;
    border-radius:50%;
    background:#ff3333;
    color:white;
    font-size:2rem;
    cursor:pointer;
    z-index:9999;
}

/* ==================================================
   MODAL DE EMERGÊNCIA SOS
================================================== */
.sos-modal{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.8);
    justify-content:center;
    align-items:center;
    z-index:10000;
}

/* ==================================================
   CONTEÚDO INTERNO DO MODAL SOS
================================================== */
.sos-conteudo{
    width:400px;
    background:#07142e;
    padding:30px;
    border-radius:20px;
    display:flex;
    flex-direction:column;
    gap:15px;
}

/* ==================================================
   CAMPOS DO FORMULÁRIO SOS
================================================== */
.sos-conteudo input,
.sos-conteudo textarea{
    padding:12px;
}

/* ==================================================
   BOTÃO ENVIAR SOS
================================================== */
.sos-enviar{
    background:#00cfff;
    border:none;
    padding:12px;
    cursor:pointer;
}

/* ==================================================
   BOTÃO FECHAR SOS
================================================== */
.sos-fechar{
    background:#ff3333;
    border:none;
    padding:12px;
    color:white;
    cursor:pointer;
}

/* ==================================================
   BOTÃO SCROLL
================================================== */

html body #scrollTopBtn {
    left: 50%;
    transform: translateX(-50%);
}

html body #scrollTopBtn:hover {
    transform: translateX(-50%) scale(1.1);
    box-shadow: 0 0 15px rgba(0,207,255,0.4);
}

/* ==================================================
   ESTILO PADRÃO DO BOTÃO HAMBÚRGUER (PC/DESKTOP)
================================================== */
.cabecalho__hamburger {
    display: none; 
    background: none;
    border: none;
    color: var(--primary);
    font-size: 3rem;
    cursor: pointer;
    transition: 0.3s;
}

.cabecalho__hamburger:hover {
    transform: scale(1.1);
}

/* ==================================================
   RESPONSIVIDADE ADAPTADA PARA O MENU HAMBÚRGUER 
================================================== */
@media (max-width: 900px) {

    /* Exibe o botão de três listras (☰) */
    .cabecalho__hamburger {
        display: block;
    }

    /* Modifica a barra de navegação para manter o alinhamento com o botão */
    .cabecalho__navbar {
        width: 90%;
        padding: 1.5rem 3rem;
        position: relative; 
    }

    /* Transforma a lista horizontal em um menu suspenso oculto */
    .cabecalho__lista {
        display: none; 
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: rgba(7, 20, 46, 0.95);
        backdrop-filter: blur(15px);
        border: 1px solid rgba(0, 207, 255, 0.2);
        border-radius: 2rem;
        padding: 3rem;
        gap: 2.5rem;
        box-shadow: 0 10px 30px rgba(0,0,0,0.5);
        z-index: 999;
    }

    /* classe ativada quando clicada, mostra o menu */
    .cabecalho__lista.active {
        display: flex;
    }

    .hero {
        height: auto;
        padding: 10rem 0;
    }

    .hero__title {
        font-size: 5rem;
    }

    .hero__text {
        width: 90%;
    }

    .conteudo__container {
        grid-template-columns: 1fr;
    }
}

/* ==================================================
   RESPONSIVIDADE PARA CELULARES PEQUENOS (
================================================== */
@media (max-width: 480px) {

    html {
        font-size: 50%;
    }

    .cabecalho {
        padding: 1rem;
    }

    .cabecalho__navbar {
        padding: 1.5rem 2rem;
    }

    .cabecalho__logo img {
        height: 5.5rem;
    }

    .hero {
        height: auto;
        padding: 8rem 0;
    }

    .hero__bemvindo {
        letter-spacing: .5rem;
        font-size: 1.6rem;
    }

    .hero__title {
        font-size: 4rem;
    }

    .hero__linha {
        width: 15rem;
    }

    .hero__text {
        width: 95%;
        font-size: 1.6rem;
    }

    .hero__btn {
        padding: 1.5rem 3rem;
    }

    .conteudo__container {
        width: 95%;
    }

    .conteudo__sec {
        padding: 3rem;
    }

    .card__icone {
        font-size: 4rem;
    }

    .conteudo__sub-title {
        font-size: 2rem;
    }

    .sos-conteudo {
        width: 90%;
        padding: 2rem;
    }

    .sos-btn {
        width: 60px;
        height: 60px;
        font-size: 1.6rem;
    }
}
/* ==================================================
   ANIMAÇÃO DE BRILHO PULSANTE (APENAS O BRILHO PULSA)
================================================== */

.hero__title {
    font-size: var(--titulo-main);
    font-weight: bold;
    color: #ffffff;
    
    /* Mantém o texto estático no lugar */
    transform: none !important; 
    
    /* Executa o pulso de luz: 1s por ciclo, 2 vezes (2 segundos no total) */
    animation: brilhoIsolado 3s ease-in-out 1;
    
    /* Garante que o brilho termine no estado padrão estável */
    animation-fill-mode: forwards;
}

/* Controla estritamente a intensidade da luz azul, sem mexer no tamanho do texto */
@keyframes brilhoIsolado {
    0% {
        text-shadow: 0 0 20px rgba(0, 207, 255, 0.8);
    }
    50% {
        /* O pico do pulso: o brilho expande e ganha camadas mais intensas */
        text-shadow: 0 0 40px rgba(0, 207, 255, 1), 
                     0 0 70px rgba(0, 207, 255, 0.8), 
                     0 0 100px rgba(0, 207, 255, 0.4);
    }
    100% {
        /* Retorna ao brilho padrão de descanso */
        text-shadow: 0 0 20px rgba(0, 207, 255, 0.8);
    }
}