.container{
max-width:1200px;
margin:auto;
padding:0 40px;
}

body{
margin: 0;
padding-top:90px;
}

.header{
position:fixed;
top:0;
left:0;
width:100%;

background: black;

padding:20px 0;

z-index:1000;

box-shadow:0 2px 10px rgba(0,0,0,0.05);
}

.nav{
display:flex;
justify-content:center;
}

.menu{
display:flex;
gap:40px;
list-style:none;
justify-content:center;
align-items:center;
}

.menu a{
text-decoration:none;
color:white;
font-size:16px;
font-weight:500;
position:relative;
transition:0.3s;
}

.menu a::after{
content:"";
position:absolute;
left:0;
bottom:-6px;

width:0;
height:2px;

background: white;

transition:0.3s;
}

.menu a:hover::after{
width:100%;
}

.menu a:hover{
color: gray;
}

.menu a:active{
transform:scale(0.95);
}

.hero{
padding:120px 0;
}

.hero-grid{
display:flex;
align-items:center;
justify-content:space-between;
gap:80px;
}

.hero-title{
font-size:90px;
line-height:1;
margin:20px 0;
}

.hero-tag{
font-size:12px;
letter-spacing:3px;
color:#7a8a92;
}

.hero-description{
font-size:18px;
color:#6b7c85;
margin-bottom:20px;
justify-content: center;
line-height: 1.7;
max-width: 520px;
}

.hero-image img{
width:380px;
max-width:380px;
height:auto;
aspect-ratio:1/1;

object-fit:cover;

border-radius:50%;

border:4px solid white;

box-shadow:0 15px 40px rgba(0,0,0,0.2);

transition:all 0.4s ease;
}

/* efeito ao passar o mouse */

.hero-image img:hover{
transform:scale(1.05);
box-shadow:0 25px 60px rgba(0,0,0,0.3);
}

.about{
padding:120px 0;
border-top:1px solid #ddd;
}

.about-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:120px;
}

.about-item h3{
letter-spacing:3px;
font-size:14px;
margin-bottom:20px;
}

.about-item p{
color:#6b7c85;
line-height:1.7;
}

/* PÁGINAS INTERNAS */

.page-header{
padding:120px 0 60px 0;
}

.page-title{
font-size:60px;
margin-bottom:20px;
}

.page-description{
color:#6b7c85;
max-width:700px;
line-height:1.7;
}

/* SOBRE */

body{
background: linear-gradient(
180deg,
#ffffff,
#f4f7fb
);
}

.sobre{
background:#f8fafc;
}

.sobre + .sobre{
padding-top:20px;
border-top:1px solid lightgray;
}

.sobre h1{
text-align:center;
font-size:48px;
margin-bottom:20px;
}

.sobre h1::after{
content:"";
display:block;
width:80px;
height:3px;
background:lightgray;
margin:15px auto 0;
border-radius:2px;
}

.sobre-grid{
display:grid;
grid-template-columns:380px 1fr;
gap:60px;
align-items:center;
}

.sobre-img img{
width:100%;
max-width:380px;
height:420px;

object-fit:cover;

border-radius:30px;
display:block;
margin:auto;
margin-top:40px;
}

.sobre-img{
margin-top:0px;
}

.sobre .container{
max-width:1000px;
}

.container{
max-width:1000px;
margin:auto;
padding:0 30px;
}


/* FUNDO DO TEXTO SOBRE */

.sobre-text{
padding: 10px 20px;
}

.sobre-text p{
font-size:18px;
line-height:1.8;
margin-bottom:18px;
color: black;
text-align: justify;
}

.btn{
display:inline-block;
margin-top:25px;

padding:12px 28px;

background:#0f172a;
color:white;

text-decoration:none;
font-size:16px;

border-radius:6px;

transition:0.3s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

/* HABILIDADES */

.habilidades{
padding:120px 0;
background:linear-gradient(to bottom,#f8fafc,#eef2f7);
}

.habilidade-icon{
width:70px;
height:70px;
background:lightgray;
color:white;
font-size:32px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
margin:0 auto 20px auto;
}

.habilidade-card:hover .habilidade-icon{
background:black;
transform:scale(1.1);
transition:0.3s;
}

.habilidades h2{
text-align:center;
font-size:40px;
margin-bottom:60px;
}

.habilidades h2::after{
content:"";
display:block;
width:80px;
height:3px;
background :lightgray;
margin:15px auto 0;
border-radius:2px;
}

.habilidades li{
font-size:18px;
margin-bottom:10px;
}

.habilidades ul{
margin-top:20px;
line-height:2;
color:#6b7c85;
}

.habilidades-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
margin-top:40px;
}

/* CARD */

.habilidade-card{
background:white;
padding:40px 30px;
border-radius:16px;
border:1px solid #e5e7eb;
box-shadow:0 10px 25px rgba(0,0,0,0.05);
transition:0.35s;
text-align:center;
}

.habilidade-card:hover{
transform:translateY(-10px) scale(1.03);
box-shadow:0 25px 50px rgba(0,0,0,0.15);
border-color: black;
}

.habilidade-card h3{
font-size:20px;
margin-bottom:10px;
}

.habilidade-card p{
font-size:16px;
color:#6b7c85;
line-height:1.6;
}

/* SEÇÕES PADRÃO */

.section{
padding: 60px 0;
}

.section p{
color:#6b7c85;
line-height:1.7;
max-width:700px;
}

.trajetoria{
padding:80px 0;
}

/* LINHA */

.trajetoria{
padding:80px 0;
}

/* LINHA CENTRAL */

.timeline{
position:relative;
max-width:1000px;
margin:auto;
}

.timeline::before{
content:"";
position:absolute;
left:50%;
top:0;
width:2px;
height:100%;
background:#ddd;
transform:translateX(-50%);
}


/* EVENTOS */

.evento{
position:relative;
width:50%;
padding:40px 80px;
box-sizing:border-box;
}


/* LADO ESQUERDO */

.evento:nth-child(odd){
left:0;
text-align:right;
padding-right:120px;
}


/* LADO DIREITO */

.evento:nth-child(even){
left:50%;
padding-left:120px;
}


/* PONTO DA LINHA */

.evento::before{
content:"";
position:absolute;
top:45px;
width:14px;
height:14px;
background:#333;
border-radius:50%;
z-index:2;
}

.evento:nth-child(odd)::before{
right:-7px;
}

.evento:nth-child(even)::before{
left:-7px;
}


/* DATA */

.data{
font-size:14px;
letter-spacing:2px;
color:#7a8a92;
display:block;
margin-bottom:10px;
}


/* TITULO */

.evento h2{
font-size:32px;
margin-bottom:12px;
}


/* TEXTO */

.evento p{
font-size:18px;
line-height:1.7;
color:#6b7c85;
max-width:420px;
}

.timeline{
position:relative;
max-width:1000px;
margin:auto;
}

.timeline::before{
content:"";
position:absolute;
left:50%;
top:0;
width:3px;
height:100%;
background:#ddd;
transform:translateX(-50%);
}

.evento{
position:relative;
width:50%;
padding:40px 80px;
opacity:0;
transform:translateY(40px);
transition:all 0.8s ease;
}

.evento.show{
opacity:1;
transform:translateY(0);
}

.evento:nth-child(odd){
left:0;
text-align:right;
padding-right:120px;
}

.evento:nth-child(even){
left:50%;
padding-left:120px;
}

.evento::before{
content:"";
position:absolute;
top:40px;
width:14px;
height:14px;
background:#333;
border-radius:50%;
}

.evento:nth-child(odd)::before{
right:-7px;
}

.evento:nth-child(even)::before{
left:-7px;
}

.data{
font-size:14px;
letter-spacing:2px;
color:#7a8a92;
display:block;
margin-bottom:10px;
}

.evento h2{
font-size:34px;
margin-bottom:12px;
}

.evento p{
font-size:18px;
line-height:1.7;
color:#6b7c85;
max-width:420px;
}

/* LIVROS */

.livros{
padding:100px 0;
}

/* GRID */

.livros-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
}

/* CARD */

.livro-card{
background:white;
border-radius:15px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
transition:0.4s;
text-align:center;
padding-bottom:20px;
}

/* EFEITO HOVER */

.livro-card:hover{
transform:translateY(-10px);
box-shadow:0 15px 35px rgba(0,0,0,0.15);
}

/* IMAGEM */

.livro-card img{
width:100%;
height:280px;
object-fit:cover;
}

/* TITULO */

.livro-card h2{
font-size:26px;
margin:20px 20px 10px;
}

/* TEXTO */

.livro-card p{
font-size:16px;
line-height:1.6;
color:#6b7c85;
padding:0 20px;
}

/* PROJETO */

.projeto{
padding:0 0 80px 0;
background:#fff;
}

/* BANNER */

.projeto-banner img{
width:100%;
height:420px;
object-fit:cover;
display:block;
}

/* TEXTO */

.projeto-texto{
max-width:600px;
}

.projeto-texto h1{
color: black;
font-size:36px;
margin-bottom:25px;
text-align:left;
}

.projeto-texto p{
font-size:18px;
line-height:1.8;
color: black;
margin-bottom:18px;
text-align:justify;
}

/* GRID TEXTO + IMAGEM */

.projeto-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
margin-top:40px;
}

/* IMAGEM EXTRA */

.projeto-imagem img{
width:100%;
border-radius: 50px;
box-shadow:0 15px 35px rgba(0,0,0,0.15);
}


/* CONTATO */

.contato{
padding:120px 0;
background:linear-gradient(
180deg,
#ffffff,
#f4f7fb
);
}

.contato h1{
text-align:center;
font-size:44px;
margin-bottom:20px;
}

.contato-descricao{
text-align:center;
max-width:600px;
margin:auto;
margin-bottom:60px;
font-size:18px;
color:#5b6b73;
}

/* GRID */

.contato-grid{
display:grid;
grid-template-columns:1fr 300px;
gap:60px;
align-items:start;
}

/* FORM */

.form-contato{
display:flex;
flex-direction:column;
gap:18px;
}

.form-contato input,
.form-contato textarea{
padding:14px;
border:1px solid #d1d5db;
border-radius:6px;
font-size:16px;
}

.form-contato textarea{
resize:none;
}

/* REDES */

.contato-redes h3{
margin-bottom:20px;
}

.rede{
display:block;
margin-bottom:15px;
font-size:18px;
text-decoration:none;
color:#0f172a;
transition:0.2s;
}

.rede:hover{
opacity:0.7;
}

/*WHATSAPP*/ 

.whatsapp-float{
position:fixed;
right:25px;
bottom:25px;

width:60px;
height:60px;

background:#25d366;
color:white;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

font-size:28px;

box-shadow:0 8px 20px rgba(0,0,0,0.2);

text-decoration:none;

transition:0.3s;
}

.whatsapp-float:hover{
transform:scale(1.1);
}

/*FOOTER*/

.footer{
background:black;
border-top:1px solid gray;
padding:40px 0;
text-align:center;
color: white;
width:100%;
}










@media (max-width:768px){

.container{
padding:0 20px;
}

.hero-title{
font-size:42px;
}

.hero-image img{
width:260px;
height:260px;
}

.page-title{
font-size:40px;
}

.livros-grid{
grid-template-columns:1fr;
}

.habilidades-grid{
grid-template-columns:1fr;
}

.projeto-banner img{
height:260px;
}

.sobre-img img{
height:auto;
}

}


/* MENU HAMBURGER */
/* MENU HAMBURGER */

.menu-toggle{
display:none;
width:30px;
height:22px;
position:relative;
background:none;
border:none;
cursor:pointer;
}

/* linhas */

.menu-toggle::before,
.menu-toggle::after{
content:"";
position:absolute;
left:0;
width:100%;
height:3px;
background:white;
transition:0.3s;
}

.menu-toggle::before{
top:0;
box-shadow:0 9px 0 white;
}

.menu-toggle::after{
bottom:0;
}

/* animação */

.menu-toggle.active::before{
transform:rotate(45deg);
top:9px;
box-shadow:none;
}

.menu-toggle.active::after{
transform:rotate(-45deg);
bottom:9px;
}

/* mostrar no mobile */

@media (max-width:768px){
.menu-toggle{
display:block;
}
}

@media (max-width:768px){

.nav{
justify-content:space-between;
align-items:center;
}

.menu{
display:none;
flex-direction:column;
background:black;
position:absolute;
top:90px;
left:0;
width:100%;
padding:20px 0;
text-align:center;
}

.menu li{
margin:10px 0;
}

.menu.active{
display:flex;
}

.menu-toggle{
display:block;
}

}

/*TIME LINE*/

@media (max-width:768px){

.timeline::before{
left:20px;
}

.evento{
width:100%;
padding-left:60px;
padding-right:20px;
text-align:left;
}

.evento:nth-child(even),
.evento:nth-child(odd){
left:0;
}

.evento::before{
left:13px;
}

}

@media (max-width:768px){

.hero-grid{
flex-direction:column;
text-align:center;
}

.hero-title{
font-size:42px;
}

.hero-description{
margin:auto;
}

}

@media (max-width:768px){

.container{
padding:0 20px;
}

}

/*TEXTO DA HERO*/

@media (max-width:768px){

.about-grid{
grid-template-columns:1fr;
gap:40px;
text-align:left;
}

.about-item{
padding:0 10px;
}

}

/*Correção espaço branco no menu*/

@media (max-width:768px){

/* botão sempre visível */
.menu-toggle{
display:block;
position:relative;
z-index:2000;
}

/* menu mobile */
.menu{
display:none;
flex-direction:column;
background:black;
position:absolute;
top:90px;
left:0;
width:100%;
padding:20px 0;
text-align:center;
z-index:1000;
}

.menu.active{
display:flex;
}

/* remove o espaço branco */
body{
padding-top:90px;
}

}

@media (max-width:768px){

.menu.active{
margin-top:-90px;
}

}


/* RESPONSIVIDADE SOBRE */

@media (max-width:768px){

.sobre-grid{
display:flex;
flex-direction:column;
gap:30px;
}

.sobre-img img{
width:100%;
height:auto;
}

.sobre-text{
text-align:left;
}

.sobre{
padding:40px 20px;
}

}

@media (max-width:768px){

.sobre-img{
display:flex;
justify-content:center;
}

.sobre-img img{
width:80%;
max-width:320px;
height:auto;
}

}

@media (max-width:768px){

.sobre-grid{
display:flex;
flex-direction:column;
gap:25px;
}

/* imagem sempre primeiro */
.sobre-img{
order:1;
}

.sobre-text{
order:2;
}

.sobre-img img{
width:100%;
height:auto;
}

}

/* HABILIDADES MOBILE */

@media (max-width:768px){

.habilidades-grid{
display:grid;
grid-template-columns:1fr;
gap:20px;
}

}


/*PROJETOS RESPONSIVIDADE*/

@media (max-width:768px){

/* BANNER */
.projeto-banner img{
width:100%;
height:auto;
display:block;
}

/* LAYOUT TEXTO + IMAGEM */

.projeto-grid{
display:flex;
flex-direction:column;
gap:35px;
}

/* TEXTO */

.projeto-texto{
width:100%;
max-width:600px;
margin:auto;
}

.projeto-texto h1{
font-size:32px;
}

.projeto-texto p{
font-size:17px;
line-height:1.7;
text-align:justify;
}

/* IMAGEM */

.projeto-imagem{
display:flex;
justify-content:center;
}

.projeto-imagem img{
width:85%;
max-width:380px;
height:auto;
}

}

@media (max-width:768px){

.header{
position: relative;
}

}

@media (max-width:768px){

body{
margin:0;
padding:0;
}

}
