.hero-content-bg {
    position: relative;
    overflow: hidden;
}

/* MAIN IMAGE */
.hero-content-bg::after{
    content: '';
    position: absolute;
    height: 100%;
    width: 40%;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    background: url('../img/glitch-img.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0.7;

    animation: glitch-main 2s infinite linear alternate-reverse;
}

/* RED CHANNEL */
.hero-content-bg .glitch-r {
    content: '';
    position: absolute;
    height: 100%;
    width: 40%;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    background: url('../img/glitch-img.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    mix-blend-mode: screen;
    filter: hue-rotate(330deg) saturate(2);
    opacity: 0.3;

    animation: glitch-r 1.5s infinite linear alternate-reverse;
}

/* BLUE CHANNEL */
.hero-content-bg .glitch-b {
    content: '';
    position: absolute;
    height: 100%;
    width: 40%;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    background: url('../img/glitch-img.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    mix-blend-mode: screen;
    filter: hue-rotate(200deg) saturate(2);
    opacity: 0.3;

    animation: glitch-b 1.8s infinite linear alternate-reverse;
}

/* KEYFRAMES */
/* Main distortion slices */
@keyframes glitch-main {
    0% { clip-path: inset(0 0 0 0); transform: translate(0); }
    10% { clip-path: inset(5% 0 40% 0); transform: translate(-4px, 2px); }
    20% { clip-path: inset(40% 0 20% 0); transform: translate(6px, -3px); }
    30% { clip-path: inset(60% 0 5% 0); transform: translate(-3px, 4px); }
    40% { clip-path: inset(30% 0 30% 0); transform: translate(4px, -2px); }
    50% { clip-path: inset(10% 0 60% 0); transform: translate(-5px, 3px); }
    100% { clip-path: inset(0 0 0 0); transform: translate(0); }
}

/* Red channel shift */
@keyframes glitch-r {
    0%   { transform: translate(0); }
    20%  { transform: translate(3px, -3px); }
    40%  { transform: translate(-4px, 2px); }
    60%  { transform: translate(5px, -4px); }
    80%  { transform: translate(-3px, 3px); }
    100% { transform: translate(0); }
}

/* Blue channel shift */
@keyframes glitch-b {
    0%   { transform: translate(0); }
    20%  { transform: translate(-3px, 3px); }
    40%  { transform: translate(4px, -2px); }
    60%  { transform: translate(-5px, 4px); }
    80%  { transform: translate(3px, -3px); }
    100% { transform: translate(0); }
}


/* @media (max-width: 1440px) {
  .hero-content-bg::after, .hero-content-bg .glitch-r, .hero-content-bg .glitch-b{
    width: 80%;
  }
} */
@media (max-width: 1199px) {
  .hero-content-bg::after, .hero-content-bg .glitch-r, .hero-content-bg .glitch-b{
    width: 50%;
  }
}
@media (max-width: 992px) {
  .hero-content-bg::after, .hero-content-bg .glitch-r, .hero-content-bg .glitch-b{
    width: 50%;
  }
}
@media (max-width: 767px) {
  .hero-content-bg::after, .hero-content-bg .glitch-r, .hero-content-bg .glitch-b{
    width: 100%;
  }
}









.swiper {
  max-width: 700px;
  /* aspect-ratio: 4 / 3; */
}

.swiper-slide {
    font-family: serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 1s ease-in-out;
}

.swiper-slide:nth-child(2n).swiper-slide-active {
  rotate: 0deg;
}

.swiper-img{
    border: 2px solid #437f2a;
    border-radius: 30px;
    overflow: hidden;
}
.swiper-slide{
    background: #0d1123;
    border-radius: 30px;
    overflow: visible;
}

.swiper-button-prev {
  left: -5rem;
  color: black;
}
.swiper-button-next {
  right: -5rem;
  color: black;
}

.custom-prev{
    position: absolute;
    left: 45%;
    cursor: pointer;
}
.custom-next{
    position: absolute;
    right: 45%;
    cursor: pointer;
}



.mover {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 1.6s ease;
}

.hero-glitch-text {
  font-size: 10px;
  color: #af1414;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;

  animation: glitch-shake 0.3s infinite alternate;
  opacity: 0.8;
}

@keyframes glitch-shake {
  0% { transform: translate(0,0); }
  20% { transform: translate(-2px, 1px); }
  40% { transform: translate(3px,-1px); }
  60% { transform: translate(-1px,-3px); }
  80% { transform: translate(2px,2px); }
  100% { transform: translate(0,0); }
}



 /* Make canvas cover the whole page and sit behind content */
  #binary-bg {
    position: fixed;
    inset: 0;                 /* top:0; right:0; bottom:0; left:0; */
    width: 100%;
    height: 100%;
    z-index: 1;              /* Put behind your content */
    pointer-events: none;     /* let clicks pass through */
    display: block;
  }

  /* optional: pause effect when hovering page (or keep running) */
  body.pause-binary #binary-bg {
    opacity: 0.6; /* subtle visual hint; animation is paused in JS */
  }


.alert-glitch {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

/* Base glitch scanlines */
/* .alert-glitch::before {
    content: "";
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        to bottom,
        rgba(0, 255, 0, 0.08) 0px,
        rgba(0, 255, 0, 0.08) 1px,
        transparent 1px,
        transparent 3px
    );
    mix-blend-mode: screen;
    pointer-events: none;
} */

/* Cable glitch slices */
.alert-glitch::after {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    background: url("../img/alert-img.png") no-repeat center/cover;
    clip-path: polygon(
        0 10%, 100% 8%, 100% 18%, 0 20%,
        0 30%, 100% 28%, 100% 38%, 0 40%,
        0 55%, 100% 53%, 100% 63%, 0 65%
    );
    animation: cableGlitch 1.4s infinite linear alternate;
    opacity: .5;
    filter: brightness(0) saturate(100%) invert(99%) sepia(0%) saturate(7500%) hue-rotate(84deg) brightness(113%) contrast(101%);
    pointer-events: none;
}

@keyframes cableGlitch {
    0%   { transform: translate(-4px, -2px); }
    20%  { transform: translate(4px, 1px); }
    40%  { transform: translate(-2px, 3px); }
    60%  { transform: translate(3px, -3px); }
    80%  { transform: translate(-1px, 1px); }
    100% { transform: translate(0px, 0px); }
}



#bgCanvas {
      position: fixed;
      inset: 0;               /* top:0; right:0; bottom:0; left:0; */
      width: 100%;
      height: 100%;
      z-index: 0;
      display: block;
      pointer-events: none;   /* allow clicks through canvas */
    }