* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.header-container {
  background: transparent;
  height: auto;
}
.navItems a {
  position: absolute;
  left: 1.8em;
  top: 1.3em;
  z-index: 3;
  font-size: 2em;
  text-decoration: none;
  color: #fff;
}

/* ===================== Neon Titles ===================== */
.section-title {
  text-align: center;
  font-size: 2.5rem;
  margin-top: 3rem;
  margin-bottom: 0.5rem;
  color: #0ff;
  text-shadow: 0 0 5px #0ff, 0 0 10px #0ff, 0 0 20px #0ff, 0 0 40px #0ff;
  animation: neon-flicker 1.5s infinite;
}
.intro {
  font-size: 1.4rem;
  text-align: center;
  margin: 1.4em 0 1.4em 0;
  color: antiquewhite;
}


@keyframes neon-flicker {
  0%,
  19%,
  21%,
  23%,
  25%,
  54%,
  56%,
  100% {
    opacity: 1;
  }
  20%,
  22%,
  24%,
  55% {
    opacity: 0.4;
  }
}

/* ===================== Type Cards ===================== */

.type-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* Exactly 2 cards per row */
  gap: 20px;
}

/* ===================== Type Cards ===================== */
.type-card {
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  border-radius: 20px;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  padding: 20px;
  color: #ffffff;
  transition: all 0.4s ease;
  transform-style: preserve-3d; /* 3D enable */
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.25);
}

/* 3D Angle Rotate on Hover */
.type-card:hover {
  transform: rotateX(8deg) rotateY(-8deg) scale(1.05);
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 35px rgba(0, 51, 102, 0.5),
    0 18px 55px rgba(0, 25, 77, 0.35);
  flex-direction: column;
  box-shadow: 0 4px 15px rgba(0, 0, 139, 0.4),
    /* subtle deep blue */ 0 8px 30px rgba(25, 25, 112, 0.3); /* softer dark blue */
}
.type-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(255, 255, 255, 0.05) 40%,
    rgba(255, 255, 255, 0) 60%
  );
  opacity: 0.25;
  pointer-events: none;
}

.type-card h2 {
  font-size: 1.4rem;
  color: #00ffff;
  transition: color 0.3s;
}

.type-card h2:hover {
  text-shadow: #000000;
}
.type-card ul {
  display: flex;
  gap: 0.3em;
  margin: 22px 2px 22px 2px;
  flex-direction: column;
}
.type-card ul li {
  color: white;
}

@keyframes glitch {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(2px, -2px);
  }
  60% {
    transform: translate(-1px, 1px);
  }
  80% {
    transform: translate(1px, -1px);
  }
  100% {
    transform: translate(0);
  }
}

/* ===================== Sample Projects ===================== */
.project-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Exactly 2 per row */
  gap: 20px;
}

.sample-card img {
  width: 100%;
  border-radius: 12px;
  transition: transform 0.3s, box-shadow 0.3s;
}

.sample-card img:hover {
  transform: scale(1.05);
  box-shadow: 0 0 30px #00008b, 0 0 50px #191970;
}
.sample-card {
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  cursor: pointer;
  transform: translateY(50px);
  opacity: 0;
  border: 1px solid rgba(0, 255, 255, 0.3);
  box-shadow: 0 0 15px rgba(0, 255, 255, 0.2);
  transition: transform 0.5s, box-shadow 0.5s;
}

.sample-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
}

.sample-card:hover img {
  transform: scale(1.1);
  filter: brightness(1.3) saturate(1.6);
}

/* Glitch overlay effect on hover */
.sample-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: 0 0 10px #0ff, 0 0 20px #0ff, 0 0 30px #f0f;
  opacity: 0;
  transition: opacity 0.3s;
  border-radius: 15px;
}

.sample-card:hover::after {
  opacity: 1;
  animation: glitch-overlay 0.4s infinite;
}

@keyframes glitch-overlay {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-3px, 2px);
  }
  40% {
    transform: translate(2px, -2px);
  }
  60% {
    transform: translate(-1px, 1px);
  }
  80% {
    transform: translate(1px, -1px);
  }
  100% {
    transform: translate(0);
  }
}

/* ===================== Random Neon Flicker ===================== */

@keyframes flicker-random {
  0%,
  19%,
  21%,
  23%,
  25%,
  54%,
  56%,
  100% {
    opacity: 1;
  }
  20%,
  22%,
  24%,
  55% {
    opacity: 0.3;
  }
}

#particles-js {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1; /* content ke peeche rahe */
  background: #0a0a0a; /* dark background */
}

/* responsive */

/* ===================== RESPONSIVE DESIGN ===================== */

/* Large Tablets / Small Laptops */
@media (max-width: 1100px) {
  .type-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Tablets */
@media (max-width: 768px) {
  .section-title {
    font-size: 2rem;
  }

  .intro {
    font-size: 1.1rem;
  }

  .type-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }

  .type-card {
    padding: 18px;
  }

  .type-card h2 {
    font-size: 1.2rem;
  }

  .project-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}

/* Mobile Phones */
@media (max-width: 540px) {
  .type-cards {
    grid-template-columns: repeat(1, 1fr); /* 1 card per row */
    gap: 15px;
  }

  .type-card {
    padding: 16px;
    border-radius: 15px;
  }

  .type-card h2 {
    font-size: 1.1rem;
  }

  .project-grid {
    grid-template-columns: repeat(1, 1fr); /* 1 image per row */
  }

  .sample-card {
    height: auto;
  }

  .intro {
    padding: 0 10px;
  }
}

/* Extra Small (older phones) */
@media (max-width: 400px) {
  .section-title {
    font-size: 1.6rem;
  }

  .type-card {
    padding: 14px;
  }

  .type-card ul {
    gap: 0.2rem;
  }
}
