:root{

--bg-main:#ffffff;
--bg-soft:#f5f5f5;
--bg-card:#ffffff;

--text-main:#222;
--text-muted:#666;

--border:#e4e4e4;

--primary:#2c6bed;

}

.dark{

--bg-main:#0f172a;
--bg-soft:#111827;
--bg-card:#1e293b;

--text-main:#f1f5f9;
--text-muted:#cbd5f5;

--border:#334155;

--primary:#3b82f6;

}

/* BASE */

body{
font-family:'Inter', sans-serif;
margin:0;
background:var(--bg-main);
color:var(--text-main);
transition:background 0.3s,color 0.3s;
padding-top:70px;

}

/* HEADER */

header{

background:#111;
color:white;

position:fixed;
top:0;
left:0;
width:100%;

z-index:1000;

}

.container{
max-width:1100px;
margin:auto;
padding:20px;
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
}

nav a{
color:white;
margin-left:20px;
text-decoration:none;
position:relative;
padding-bottom:4px;
transition:color 0.25s ease;
}

nav a:hover{
color:var(--primary);
}

nav a:active{
transform:scale(0.95);
}

nav a::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:0;
height:2px;
background:var(--primary);
transition:width 0.3s ease;
}

nav a:hover::after{
width:100%;
}

/* HERO */

.hero{
background:var(--bg-soft);
padding:80px 0;
}

.hero-grid{
display:grid;
grid-template-columns:250px 1fr;
gap:40px;
align-items:center;
}

.hero-photo{
width:200px;
border-radius:100%;
}

h1{
font-size:42px;
}

/* BUTTONS */

.btn-primary{
display:inline-block;
background:var(--primary);
color:white;
padding:12px 22px;
text-decoration:none;
border-radius:8px;
font-weight:600;
transition:all 0.25s ease;
}

.btn-primary:hover{
transform:translateY(-2px);
box-shadow:0 6px 18px rgba(0,0,0,0.15);

}

.btn-secondary{
display:inline-block;
border:1px solid var(--primary);
color:var(--primary);
padding:12px 22px;
text-decoration:none;
border-radius:8px;
margin-left:10px;

transition:all 0.25s ease;
}

.btn-secondary:hover{
transform:translateY(-2px);
box-shadow:0 6px 18px rgba(0,0,0,0.15);
}


/* CARDS */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
margin-top:40px;
}

.card{
background:var(--bg-card);
padding:25px;
border-radius:12px;
border:1px solid var(--border);
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:transform 0.25s ease, box-shadow 0.25s ease;
}

.alt{
background:var(--bg-soft);
}

/* PILARES */

.pilares{
padding:80px 20px;
text-align:center;
background:var(--bg-soft);
}

.pilares h2{
font-size:36px;
margin-bottom:10px;
}

.subtitulo{
color:var(--text-muted);
margin-bottom:50px;
}

.pilares-container{
display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
}

.pilar{
background:var(--bg-card);
padding:30px;
border-radius:16px;
width:280px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
transition:transform 0.3s ease,background 0.3s;
}

.pilar:hover{
transform:translateY(-10px);
}

.icone{
font-size:40px;
margin-bottom:15px;
}

.pilar h3{
font-size:22px;
margin-bottom:10px;
}

.pilar p{
color:var(--text-muted);
}

/* cores pilares */

.tecnologia{
border-top:4px solid #3b82f6;
}

.lideranca{
border-top:4px solid #f59e0b;
}

.fe{
border-top:4px solid #8b5cf6;
}

/* EXPERIENCIA */

.experiencia{
padding:80px 20px;
max-width:1000px;
margin:auto;
}

.experiencia h2{
font-size:36px;
text-align:center;
margin-bottom:10px;
}

.intro{
text-align:center;
color:var(--text-muted);
margin-bottom:60px;
}

.timeline{
display:flex;
flex-direction:column;
gap:30px;
}

.job{
background:var(--bg-card);
padding:30px;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,0.08);
border-left:4px solid var(--border);
transition:background 0.3s,color 0.3s;
}

.job h3{
margin:0;
font-size:22px;
}

.empresa{
display:block;
margin:5px 0 15px;
color:var(--text-muted);
}

.job ul{
padding-left:18px;
}

.job li{
margin-bottom:6px;
}

/* Destaque */

.destaque{
border-left:4px solid #3b82f6;
}

.inicio{
border-left:4px solid #8b5cf6;
}

/* FOOTER */

footer{
background:#111;
color:white;
text-align:center;
padding:30px 0;
}

.theme-switch {
position:relative;
display:inline-block;
width:60px;
height:30px;
}

.theme-switch input{
opacity:0;
width:0;
height:0;
}

.slider{
position:absolute;
cursor:pointer;
top:0;
left:0;
right:0;
bottom:0;
background:#ccc;
transition:0.4s;
border-radius:34px;
}

.slider:before{
position:absolute;
content:"🌙";
height:22px;
width:22px;
left:4px;
bottom:4px;
background:white;
transition:0.4s;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:12px;
}

input:checked + .slider{
background:#3b82f6;
}

input:checked + .slider:before{
transform:translateX(30px);
content:"☀️";
}

<div class="theme-toggle-container">
  <span class="theme-icon">☀️</span>

  <label class="theme-switch">
    <input type="checkbox" id="theme-toggle">
    <span class="slider"></span>
  </label>

  <span class="theme-icon">🌙️</span>
</div>
.logo a{

position:relative;

}

.logo a::after{

content:"";
position:absolute;
left:0;
bottom:-4px;
width:0;
height:2px;
background:white;
transition:width 0.3s ease;

}

.logo a:hover::after{

width:100%;

}

.logo a,
.logo a:visited{

color:#ffffff;
font-size:28px;
font-weight:700;
text-decoration:none;
letter-spacing:0.5px;

transition:all 0.25s ease;

}

/* hover */

.logo a:hover{

opacity:0.85;
transform:translateY(-2px);

}

/* linha animada */

.logo a{

position:relative;

}

.logo a::after{

content:"";
position:absolute;
left:0;
bottom:-5px;
width:0;
height:2px;
background:white;
transition:width 0.3s ease;

}

.logo a:hover::after{

width:100%;

}

header{
padding:5px 0;
}
#backToTop{

position:fixed;
bottom:30px;
right:30px;

width:45px;
height:45px;

border:none;
border-radius:50%;

background:var(--primary);
color:white;

font-size:20px;
cursor:pointer;

display:none;

box-shadow:0 4px 10px rgba(0,0,0,0.25);

transition:all 0.25s ease;

z-index:999;

}

#backToTop:hover{

transform:translateY(-3px);
background:#1f4fcf;

}


@media (max-width:768px){

.hero-grid{

grid-template-columns:1fr;
text-align:center;

}

.hero-photo{

width:150px;
margin:auto;

}

}

@media (max-width:768px){

h1{
font-size:32px;
}

.hero{
padding:50px 0;
}

}
.hamburger{

display:none;
flex-direction:column;
cursor:pointer;
gap:5px;

}

.hamburger span{

width:25px;
height:3px;
background:white;
border-radius:2px;
transition:0.3s;

}
@media (max-width:768px){

nav{

position:fixed;
top:70px;
right:0;

background:#111;

width:220px;
padding:25px;

display:flex;
flex-direction:column;
align-items:flex-start;

gap:15px;

transform:translateX(100%);
transition:transform 0.3s ease;

}

nav.active{

transform:translateX(0);

}

nav a{

display:block;
width:100%;
margin:0;
padding:8px 0;

}

.hamburger{

display:flex;

}

}
.hamburger.active span:nth-child(1){

transform:rotate(45deg) translate(5px,5px);

}

.hamburger.active span:nth-child(2){

opacity:0;

}

.hamburger.active span:nth-child(3){

transform:rotate(-45deg) translate(6px,-6px);

}
.menu {
  display: none;
}

.menu.active {
  display: block;
}

#projetos {
  padding: 80px 20px;
  background: var(--bg-soft);
}

#projetos h2 {
  text-align: center;
  margin-bottom: 50px;
  font-size: 2rem;
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
}

.card {
  background: var(--bg-card);
  padding: 25px;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(0,0,0,0.12);
}

.card h3 {
  margin-bottom: 10px;
}

.card p {
  margin-bottom: 20px;
  color: var(--text-muted);;
}

.btn {
  display: inline-block;
  padding: 8px 16px;
  background: #0077ff;
  color: white;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.9rem;
}

.btn:hover {
  background: #005fd1;
}
#sobre h2{
text-align:center;
}
#sobre p{
max-width:700px;
margin:0 auto 20px auto;
line-height:1.6;
}

#sobre p{
max-width:720px;
margin:0 auto 20px auto;
line-height:1.7;
font-size:18px;
color:var(--text-main);
}


#sobre{
padding:90px 20px;
}


#sobre h2{
margin-bottom:30px;
}