/* RESET BÁSICO */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background-color: #000000; /* COR DE FUNDO GERAL - ALTERE AQUI */
    color: #ffffff;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* CABEÇALHO BOX - 1/2 DA PÁGINA INTEIRA */
.header-box {
    height: 35vh; /* 1/2 DA ALTURA DA VIEWPORT (TELA) - ALTERE AQUI */
    background-color: #000000; /* COR DE FUNDO DO CABEÇALHO - ALTERE AQUI */
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Garante que nada transborde do cabeçalho */
    position: relative; /* Necessário para posicionar elementos internos */
}

/* MENU SUPERIOR */
.menu {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 15px 0;
    position: relative; /* Garante que o menu fique por cima */
    z-index: 10; /* Sempre por cima */
}

.menu-btn {
    background-color: #333333; /* COR DOS BOTÕES - ALTERE AQUI */
    color: #ffffff; /* COR DO TEXTO DOS BOTÕES - ALTERE AQUI */
    border: none;
    padding: 12px 24px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

.menu-btn:hover {
    background-color: #555555; /* COR DOS BOTÕES AO PASSAR O MOUSE - ALTERE AQUI */
}

/* CONTEÚDO DO CABEÇALHO - CONTAINER PARA SOBREPOSIÇÃO */
.header-content {
    flex: 1; /* Ocupa o restante do espaço vertical do cabeçalho */
    position: relative; /* Necessário para posicionar texto e imagem */
    width: 100%;
    height: 100%;
}

/* TEXTO À ESQUERDA E SOBREPOSTO */
.text-left {
    position: absolute; /* Permite posicionamento livre */
    top: 50%; /* Centraliza verticalmente o bloco de texto */
    left: 5%; /* Alinha à esquerda, com margem */
    transform: translateY(-50%); /* Ajuste fino para centralização */
    width: 60%; /* Ocupa 60% da largura do header-content */
    z-index: 5; /* Garante que o texto fique acima da imagem */
    text-align: left; /* Alinhamento esquerdo do texto */
    padding-right: 20px; /* Adiciona um pequeno padding para não colar na borda da imagem */
}

/* ESTILO DO TELEFONE E EMAIL */
.contact-info {
    color: #FF0000; /* COR VERMELHA - ALTERE AQUI */
    font-size: 0.9rem; /* TAMANHO DA FONTE - ALTERE AQUI */
    margin-bottom: 10px; /* ESPAÇAMENTO INFERIOR - ALTERE AQUI */
    line-height: 1.4;
}

.frase-principal {
    color: #ff00ff; /* COR DA FRASE PRINCIPAL - ALTERE AQUI */
    font-size: 2.8rem; /* TAMANHO DA FRASE - ALTERE AQUI */
    font-weight: bold;
    line-height: 1.2;
    margin: 0;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.7); /* Sombra para melhorar leitura sobre a imagem */
}

/* ESTILO DA FRASE DA FORMAÇÃO */
.academic-info {
    color: #FFFF00; /* COR DE DESTAQUE (AMARELO) - ALTERE AQUI */
    font-style: italic; /* ESTILO ITÁLICO */
    font-size: 1rem; /* TAMANHO DA FONTE - ALTERE AQUI */
    margin-top: 10px; /* ESPAÇAMENTO SUPERIOR - ALTERE AQUI */
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5); /* Sombra leve para destaque */
}


/* IMAGEM À DIREITA E MAIOR */
.image-right {
    position: absolute; /* Permite posicionamento livre */
    top: 50%; /* Centraliza verticalmente */
    right: 0; /* Alinha à direita da header-content */
    transform: translateY(-50%); /* Ajuste fino para centralização */
    width: 55%; /* A imagem ocupa 55% da largura, permitindo sobreposição */
    height: 100%; /* Faz a imagem tentar ocupar a altura total do header-content */
    display: flex;
    justify-content: flex-end; /* Garante que a imagem fique à direita */
    align-items: center;
    z-index: 1; /* Garante que a imagem fique abaixo do texto */
}

.image-right img {
    height: 100%; /* Faz a imagem preencher a altura disponível */
    width: auto; /* Mantém a proporção */
    object-fit: contain; /* Garante que a imagem seja vista por completo, sem cortes */
    object-position: right center; /* Alinha a imagem para a direita */
}

/* LINHA SEPARADORA MAGENTA */
.separator-line {
    height: 3px; /* ESPESSURA DA LINHA - ALTERE AQUI */
    background-color: #ff00ff; /* COR DA LINHA - ALTERE AQUI */
    width: 100%;
}

/* CORPO PRINCIPAL */
.main-content {
    flex: 1; /* Faz o corpo ocupar o espaço restante */
    padding: 40px 20px;
    background-color: #111111; /* COR DE FUNDO DO CORPO - ALTERE AQUI */
}

/* RODAPÉ */
.footer {
    background-color: #222222; /* COR DE FUNDO DO RODAPÉ - ALTERE AQUI */
    padding: 20px;
    text-align: center;
    color: #cccccc; /* COR DO TEXTO DO RODAPÉ - ALTERE AQUI */
}

/* RESPONSIVIDADE PARA TABLETS */
@media (max-width: 768px) {
    .header-box {
        height: 60vh; /* Aumenta a altura do cabeçalho em tablets para acomodar mais texto */
    }

    .frase-principal {
        font-size: 2.2rem;
    }
    
    .text-left {
        width: 70%; /* Texto ocupa mais espaço em tablets */
        left: 3%;
    }

    .image-right {
        width: 65%; /* Imagem um pouco maior em tablets */
        right: -5%; /* Pode mover um pouco mais para a direita para evitar o texto */
    }
    
    .contact-info, .academic-info {
        font-size: 0.8rem; /* Ajusta tamanho da fonte para tablets */
    }
}

/* RESPONSIVIDADE PARA CELULARES */
@media (max-width: 480px) {
    .header-box {
        height: 70vh; /* Aumenta a altura do cabeçalho em celulares */
    }
    
    .menu {
        flex-wrap: wrap;
        gap: 10px;
        padding: 10px 0;
    }
    
    .menu-btn {
        padding: 8px 14px;
        font-size: 13px;
    }
    
    .frase-principal {
        font-size: 1.6rem;
        text-align: center; /* Centraliza o texto em telas pequenas */
    }
    
    .contact-info, .academic-info {
        font-size: 0.7rem; /* Ajusta tamanho da fonte para celulares */
        text-align: center; /* Centraliza info de contato/acadêmico em celulares */
    }
    
    .text-left {
        width: 90%; /* Texto ocupa quase toda a largura */
        left: 50%;
        transform: translate(-50%, -50%); /* Centraliza completamente o texto */
    }
    
    .image-right {
        width: 80%; /* Imagem ocupa mais largura para ser visível */
        right: 0;
        object-position: center; /* Centraliza a imagem no celular */
        opacity: 0.6; /* Diminui opacidade para texto se destacar */
    }
    .image-right img {
        height: 80%; /* Ajusta a altura da imagem para celulares */
    }
}