/* === General Reset === */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  background: #000;
  color: #fff;
  overflow-x: hidden;
  position: relative;
  z-index: 1;
}

#particles-js {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none; /* ← This is the magic! */
}

/* === Navbar === */
.custom-navbar {
  background: rgba(0, 0, 0, 0.87);
  backdrop-filter: blur(8px);
}

.custom-navbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.navbar-brand .logo-img {
  height: 40px;
  width: 60px;
  object-fit: contain;
}

.navbar-brand .brand-text{
  color: #fff !important;
  padding-left: 7px;
  transition: color 0.3s ease;
}

.navbar .nav-link {
  color: #fff !important;
  transition: color 0.3s ease;
}

.navbar .nav-link:hover {
  color: #00f0ff !important;
}

.navbar-toggler {
  border-color: #00f0ff; /* Border color */
}

/* === Glitch Effect (Clean, No Double Text) === */
.glitch {
  position: relative;
  font-size: 4rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #fff;
}

.glitch::before,
.glitch::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  width: 100%;
  background: transparent;
  overflow: hidden;
}

.glitch::before {
  left: 2px;
  text-shadow: -2px 0 red;
  clip-path: inset(0 0 100% 0);
  animation: glitch-clip-before 2s infinite linear alternate-reverse;
}

.glitch::after {
  left: -2px;
  text-shadow: -2px 0 cyan;
  clip-path: inset(0 0 100% 0);
  animation: glitch-clip-after 2s infinite linear alternate;
}

@keyframes glitch-clip-before {
  0%   { clip-path: inset(10% 0 70% 0); }
  10%  { clip-path: inset(40% 0 30% 0); }
  20%  { clip-path: inset(80% 0 5% 0); }
  30%  { clip-path: inset(50% 0 40% 0); }
  40%  { clip-path: inset(20% 0 60% 0); }
  50%  { clip-path: inset(65% 0 20% 0); }
  60%  { clip-path: inset(30% 0 50% 0); }
  70%  { clip-path: inset(10% 0 70% 0); }
  80%  { clip-path: inset(45% 0 35% 0); }
  100% { clip-path: inset(70% 0 10% 0); }
}

@keyframes glitch-clip-after {
  0%   { clip-path: inset(80% 0 5% 0); }
  10%  { clip-path: inset(50% 0 40% 0); }
  20%  { clip-path: inset(10% 0 70% 0); }
  30%  { clip-path: inset(65% 0 20% 0); }
  40%  { clip-path: inset(30% 0 50% 0); }
  50%  { clip-path: inset(20% 0 60% 0); }
  60%  { clip-path: inset(45% 0 35% 0); }
  70%  { clip-path: inset(70% 0 10% 0); }
  80%  { clip-path: inset(40% 0 30% 0); }
  100% { clip-path: inset(10% 0 70% 0); }
}


/* === Hero Section === */
.hero-section {
  background: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0));
  padding-top: 120px;
  z-index: 1;
}

.hero-section p{
    color: rgb(54, 54, 54);
    font-style: italic;
}

/* === Overview Section === */
.overview-section {
  background: rgba(255, 255, 255, 0.05);
}

/* === Preview Section === */
.preview-section {
    background: black;
}

.preview-section h2{
    color: white;
}

.preview-section .card {
  background: rgb(255, 255, 255);
  border: none;
  border-radius: 10px;
  color: #000000;
}

.preview-section .card img {
  height: 200px;
  object-fit: contain;
  border-radius: 8px;
}

/* === Footer === */
footer {
  background: #000;
  color: #aaa;
  z-index: 1;
}

footer p {
  margin: 0;
  font-size: medium;
}

footer .socials a {
  color: #aaa;
  font-size: medium;
  transition: color 0.3s ease;
}

footer .socials a:hover {
  color: #00ffe7;
}

/* === Media Queries === */
@media (max-width: 768px) {
  .hero-section h1 {
    font-size: 3rem;
  }

  .hero-section p {
    font-size: medium;
  }

  .navbar-nav {
    text-align: center;
  }

  .preview-section h2 {
    font-size: 1.5rem;
  }

  .card-title {
    font-size: 1.3rem;
  }
}