
:root{
--primary:#0f172a;
--secondary:#334155;
--light:#f8fafc;
}

html, body{scroll-behavior:smooth;}
body{
font-family:Segoe UI,Tahoma,sans-serif;
margin:0;
overflow-x:hidden;
text-align:justify;
}

.custom-nav{
background:rgba(15,23,42,.95);
}

.hero{
background:linear-gradient(135deg,#0f172a,#1e293b);
color:white;
padding:140px 0 100px;
min-height:100vh;
display:flex;
align-items:center;
}

.hero h1{
font-size:3.5rem;
font-weight:700;
}

.hero h2{
font-size:1.4rem;
margin-bottom:20px;
opacity:.9;
}

.profile-image{
max-width:350px;
border-radius:50%;
box-shadow:0 10px 30px rgba(0,0,0,.3);
}

.section{
padding:90px 0;
}

.section-title{
text-align:center;
margin-bottom:30px;
font-weight:700;
color:var(--primary);
}

.section .lead{
margin-bottom:30px;
text-align:justify;
}

.section.bg-light{
border-top:1px solid rgba(15,23,42,.12);
}

.drive-file-viewer{
  min-height:420px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:12px;
  overflow:hidden;
}

.drive-iframe{
  width:100%;
  min-height:520px;
  border:none;
}

.feature-card{
background:white;
padding:30px;
border-radius:12px;
box-shadow:0 4px 15px rgba(0,0,0,.08);
height:100%;
text-align:center;
}

.feature-card i{
font-size:2rem;
margin-bottom:15px;
}

.timeline-item{
border-left:4px solid var(--primary);
padding-left:20px;
margin-bottom:30px;
}

.timeline-item ul{
  margin:0;
  padding-left:18px;
}

.timeline-item li{
  margin-bottom:10px;
  line-height:1.6;
  text-align:justify;
}

.timeline-item li:last-child{
  margin-bottom:0;
}

.project-card{
background:white;
border-radius:12px;
overflow:hidden;
box-shadow:0 4px 15px rgba(0,0,0,.1);
  transition: transform .2s ease, box-shadow .2s ease;
  text-align:left;
}

.project-card:hover{
transform:translateY(-8px);
}

.project-card img{
width:100%;
height:220px;
object-fit:cover;
}

.contact{
background:#f1f5f9;
}

.socials{
text-align:center;
padding:20px 0 10px;
}

.socials a{
font-size:2rem;
margin:0 12px;
color:var(--primary);
}

footer{
background:var(--primary);
color:white;
padding:20px 0;
}

@media(max-width:768px){
.hero{
text-align:center;
padding-top:120px;
}
.hero h1{
font-size:2.4rem;
}
.profile-image{
margin-top:30px;
max-width:250px;
}
}
