*{margin:0;padding:0;box-sizing:border-box;}

body{
  font-family:'Inter',sans-serif;
  background:#f8f9fa;
  color:#333;
  overflow-x:hidden;
}

a{text-decoration:none;color:inherit}

/* HERO */
header{
  background:linear-gradient(90deg,#0f2027,#203a43,#2c5364);
  color:#fff;
  padding:6rem 2rem 4rem;
  text-align:center;
}
header h1{font-size:3rem;margin-bottom:1rem;}
header p{color:#cfd8dc;margin-bottom:2rem;}

nav{display:flex;justify-content:center;gap:2rem;}
nav a{color:#fff;font-weight:600;}
nav a:hover{color:#00bcd4}

/* SECTIONS */
section{
  padding:4rem 2rem;
  max-width:1100px;
  margin:auto;
  width:100%;
}
h2{text-align:center;margin-bottom:2rem;color:#0f2027;}
p{color:#555;}

/* ABOUT */
.about{
  display:flex;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
}
.about img{
  width:200px;
  max-width:100%;
  border-radius:50%;
}
.about p{max-width:600px;}

/* SKILLS */
.skills-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1rem;
}
.skills-list div{
  background:#00bcd4;
  color:#fff;
  padding:0.6rem 1.4rem;
  border-radius:20px;
  cursor:pointer;
}
.skills-list div:hover{background:#0097a7}

/* PORTFOLIO */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:2rem;
}
.portfolio-card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 10px rgba(0,0,0,.1);
}
.portfolio-card:hover{
  transform:translateY(-5px);
}
.portfolio-card img{
  width:100%;
  height:220px;
  object-fit:cover;
}
.portfolio-card h3{
  padding:1rem;
  text-align:center;
}

/* CONTACT */
.contact-form{
  max-width:500px;
  margin:auto;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.contact-form input,
.contact-form textarea{
  padding:0.8rem;
  border-radius:8px;
  border:1px solid #ccc;
}
.contact-form button{
  padding:0.8rem;
  background:#00bcd4;
  color:#fff;
  border:none;
  border-radius:8px;
  cursor:pointer;
}

/* FOOTER */
footer{
  background:#0f2027;
  color:#fff;
  text-align:center;
  padding:1.5rem;
}

/* MODAL */
.modal{
  display:none;
  position:fixed;
  z-index:999;
  top:0;left:0;
  width:100%;height:100%;
  background:rgba(0,0,0,.7);
  align-items:center;
  justify-content:center;
}
.modal-content{
  background:#fff;
  padding:2rem;
  border-radius:10px;
  max-width:400px;
  text-align:center;
}
.close{
  position:absolute;
  top:20px;
  right:30px;
  cursor:pointer;
}

/* MOBILE */
@media(max-width:768px){
  .about{
    flex-direction:column;
    text-align:center;
  }
}
