*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Poppins,sans-serif
}

/* ===== BACKGROUND THEME ===== */
body{
  margin:0;
  color:#ffffff;
  overflow-x:hidden;
  background:
    radial-gradient(circle at top, #0b1437 0%, #020617 60%),
    url("https://i.ibb.co/Zh3dLxR/space-bg.png") no-repeat center center fixed;
  background-size: cover;
  position: relative;
}

/* Dark overlay for readability */
body::before{
  content:"";
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(2,6,23,0.55);
  z-index:-1;
  pointer-events:none;
}

button{
  box-shadow: 0 0 20px rgba(56,189,248,0.6);
}


/* Make sections transparent */
header,
.hero,
.about,
.projects,
.contact,
footer{
  background: transparent !important;
}

/* Glow effect */
.project-card,
.about-image,
.contact-card{
  box-shadow: 0 15px 40px rgba(59,130,246,0.25);
}


button{
  box-shadow: 0 0 20px rgba(56,189,248,0.6);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

button:active{
  transform: scale(0.9);
}

/* NAVBAR */
header{
  position:sticky;
  top:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 80px;
  background:rgba(10,20,60,.5);
  backdrop-filter:blur(12px);
  z-index:1000;
}

header img{
  height:40px;
  border-radius:0 !important;
}

nav a{
  margin:0 15px;
  color:#fff;
  text-decoration:none;
  position:relative;
}

nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:2px;
  background:#4fc3ff;
  transition:.3s;
}

nav a:hover::after{
  width:100%
}

.hire-btn{
  border:1px solid #4fc3ff;
  padding:8px 18px;
  border-radius:30px;
  color:#4fc3ff;
}

/* TOGGLE BUTTON */
/* .theme-toggle{
  background: rgba(255,255,255,0.08);
  border: none;
  color: white;
  font-size: 18px;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 50%;
  margin-left: 15px;
  box-shadow: 0 0 12px rgba(45,212,255,0.6);
} */

/* LIGHT MODE BACKGROUND */
body.light{
  background:
    radial-gradient(circle at top, rgba(56,189,248,0.25), transparent 40%),
    linear-gradient(135deg, #f8fafc, #e2e8f0);
  color: #020617;
}

/* Make sections transparent in light too */
body.light header,
body.light .hero,
body.light .about,
body.light .projects,
body.light .contact,
body.light footer{
  background: transparent !important;
}

/* Cards in light mode */
body.light .project-card,
body.light .about-image,
body.light .contact-card{
  background: rgba(255,255,255,0.75);
  box-shadow: 0 0 18px rgba(0,0,0,0.08);
}

/* Nav text */
body.light nav a{
  color:#020617;
}

/* Buttons still blue */
body.light .primary{
  background: linear-gradient(45deg,#2563eb,#38bdf8);
  color:white;
}



/* HERO */
.hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:100px 80px;
}

.hero-text{max-width:550px}
.hero-text p{color:#7dd3fc}
.hero-text h1{font-size:52px;margin:15px 0}

.hero-buttons {
  margin-top: 25px;
  display: flex;
  gap: 20px;
}

.hero-buttons a {
  padding: 14px 35px;
  border-radius: 50px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  transition: 0.3s ease;
  display: inline-block;
}

/* Primary Button (Blue Glow) */
.primary {
  background: linear-gradient(90deg, #2b6cff, #3ec6ff);
  color: #fff;
  box-shadow: 0 8px 25px rgba(43, 108, 255, 0.5);
}

.primary:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 35px rgba(43, 108, 255, 0.7);
}

/* Secondary Button (Dark Glass Look) */
.secondary {
  background: #0b1c3a;
  color: #fff;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}

.secondary:hover {
  transform: translateY(-4px);
  background: #122a55;
}

/* HERO IMAGE */
.hero-illustration{
  width:500px;
  height:350px;
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(145deg,#1e3a8a,#020617);
  box-shadow:0 0 40px #3b82f6;
}

.hero-illustration img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ABOUT */
.about{
  padding:80px;
}

.about-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

.about-text{max-width:550px}

.about-text h2{
  font-size:36px;
  margin-bottom:20px;
}

.about-text p{
  color:#cbd5f5;
  margin-bottom:15px;
  line-height:1.7;
}

.about-btn{
  margin-top:10px;
  padding:12px 30px;
  border:none;
  border-radius:30px;
  background:linear-gradient(45deg,#2563eb,#38bdf8);
  color:white;
  cursor:pointer;
}

.about-image{
  width:500px;       /* same as hero */
  height:350px;      /* same as hero */
  border-radius:20px;
  overflow:hidden;
}

/* If you use <img> inside about-image */
.about-image img{
  width:100%;
  height:100%;
  object-fit: cover;   /* fill box nicely */
  display:block;
}

.cursor {
  display: inline-block;
  animation: blink 0.8s infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}

/* PROJECTS */
.projects{
  padding:80px;
}

.projects h2{
  text-align:center;
  font-size:36px;
  margin-bottom:40px
}

.project-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.project-card{
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(10px);
  border-radius:20px;
  padding:20px;
  transition:.3s;
}

.project-card:hover{
  transform:translateY(-8px)
}

.project-image{
  width:100%;
  height:250px;
  border-radius:15px;
  overflow:hidden;              /* VERY IMPORTANT */
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0b1437;
  margin: 0;                    /* remove gap */
}

.project-image img{
  width:100%;
  height:100%;
  object-fit: contain;          /* show full image */
  border-radius:15px;           /* SAME radius */
  display:block;
}

@media(max-width:768px){
  .project-image,
  .project-image img{
    border-radius:12px;
  }
}


.project-card ul{
  list-style:none;
  margin:15px 0
}

.project-card li::before{
  content:"✔ ";
  color:#3b82f6
}

.project-card button{
  width:100%;
  padding:10px;
  border-radius:20px;
  border:none;
  background:linear-gradient(45deg,#2563eb,#38bdf8);
  color:white;
  cursor:pointer;
}


/* CONTACT */
.contact {
  padding: 80px 20px;
  background: transparent;
  text-align: center;
  max-width:1200px;
  margin:0 auto;
}

.contact h2{margin-bottom:8px}
.contact p{margin-bottom:25px;line-height:1.6}


.contact-card {
  width: 500px;
  max-width: 100%;
  margin: 0 auto;            /* IMPORTANT */
  padding: 30px;
  border: none;
  border-radius: 20px;
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  align-items: center;       /* center inputs */
  gap: 15px;
}

.contact-card button {
  margin: 15px auto 0 auto;  /* center button */
  display: block;
}


.contact-card input,
.contact-card textarea{
  width:100%;
  max-width:450px;
  margin:0 auto;
  height:34px;
  padding:10px 14px;
  border-radius:10px;
  border:none;
  outline:none;
  font-size:15px;
}

.contact-card textarea{
  height:80px;
  resize:none;
}

.contact-card button{
  margin-top:5px;
  padding:12px;
  border-radius:25px;
}


.project-card,
.about,
.contact-card{
  opacity:0;
  transform:translateY(30px);
  transition:0.6s ease;
}

.project-card.show,
.about.show,
.contact-card.show{
  opacity:1;
  transform:translateY(0);
}

.project-btn {
  display: inline-block;
  width: 100%;
  padding: 14px 0;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;

  background: linear-gradient(90deg, #2b6cff, #3ec6ff);
  border-radius: 50px;
  box-shadow: 0 8px 20px rgba(43, 108, 255, 0.4);
  transition: all 0.3s ease;
}

.project-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 25px rgba(43, 108, 255, 0.6);
}

/* SCROLL ANIMATION
.project-card,
.about,
.contact-card{
  opacity:0;
  transform:translateY(30px);
  transition:0.6s ease;
}

.project-card.show,
.about.show,
.contact-card.show{
  opacity:1;
  transform:translateY(0);
} */

/* HEADER SHADOW */
header.scrolled{
  box-shadow:0 0 25px rgba(45,212,255,0.4);
}

nav a.active{
  color:#2dd4ff;
}

/* FOOTER */
.footer{
  padding:20px 60px;
}

.footer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.footer-contact{
  display:flex;
  gap:20px;
}

.footer-logo img{
  height:40px;
  border-radius:0 !important;
}

.footer-bottom{
  margin-top:10px;
  text-align:center;
  font-size:14px;
  color:#cbd5f5;
}

/* RESPONSIVE */
@media(max-width:900px){
  .hero{flex-direction:column;text-align:center}
  .hero-illustration{margin-top:40px;width:100%}
  .about-container{flex-direction:column;text-align:center}
  .about-image{width:100%}
  .project-grid{grid-template-columns:1fr}
}

@media(max-width:768px){
  .footer-top{
    flex-direction:column;
    gap:10px;
  }
}

/* resposive */
/* =====================
   TABLET (<= 900px)
===================== */
@media (max-width: 900px){

  header{
    padding: 15px 20px;
  }

  .hero{
    flex-direction: column;
    text-align: center;
    padding: 60px 20px;
  }

  .hero-illustration{
    width:100%;
    height:260px;
    margin-top:30px;
  }

  .about-container{
    flex-direction: column;
    text-align: center;
  }

  .about-image{
    width:100%;
    height:260px;
  }

  .project-grid{
    grid-template-columns: 1fr;
  }

  .contact-card{
    width:90%;
    max-width:400px;
  }

  .footer-top{
    flex-direction: column;
    gap:15px;
    text-align:center;
  }
}

/* =====================
   MOBILE (<= 600px)
===================== */
@media (max-width: 600px){

  nav{
    display:none; /* later we can add hamburger */
  }

  .hero-text h1{
    font-size:32px;
  }

  .hero-text p{
    font-size:14px;
  }

  .hero-buttons button{
    width:100%;
    margin:10px 0;
  }

  .about-text h2{
    font-size:28px;
  }

  .projects h2{
    font-size:28px;
  }

  .contact h2{
    font-size:26px;
  }

  .contact-card input,
  .contact-card textarea{
    font-size:14px;
  }
}

