/* ===================================================== *
 *  GLOBAL TOKENS
 * ===================================================== */
:root{
  --primary-color:   #4567b7;
  --primary-gradient:linear-gradient(135deg,#4567b7 0%,#734bd8 100%);

  --dark-bg:         #0d1117;                 /* main page colour */
  --card-bg:         rgba(255,255,255,.05);

  --text-light:      #f5f5f5;
  --text-dim:        #9ca3af;

  --shadow:          0 10px 25px rgba(0,0,0,.35);
  --radius:          12px;
}

/* ===================================================== *
 *  RESET
 * ===================================================== */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:'Open Sans',sans-serif;
  background:var(--dark-bg);
  color:var(--text-light);
  line-height:1.6;
}




/* ===================================================== *
 *  UTILITIES
 * ===================================================== */
.container{width:90%;max-width:1200px;margin-inline:auto}
.section{padding:80px 0}
.section__title{
  font-family:'Orbitron',sans-serif;
  font-size:2.2rem;
  margin-bottom:60px;
  display:inline-block;
  position:relative;
}
.section__title::after{
  content:'';
  position:absolute;left:0;bottom:-12px;
  width:60%;height:3px;border-radius:6px;
  background:var(--primary-gradient);
}
.btn{
  padding:.9rem 2rem;border-radius:var(--radius);font-weight:600;cursor:pointer;
  transition:.3s;
}
.btn--primary{background:var(--primary-gradient);color:#fff;border:none}
.btn--primary:hover{filter:brightness(1.1)}
.btn--outline{background:transparent;border:2px solid var(--primary-color);color:var(--text-light)}
.btn--outline:hover{background:var(--primary-color)}
.dim{opacity:.75;font-size:.85rem}

/* ===================================================== *
 *  HEADER
 * ===================================================== */
.header{
  position:fixed;inset:0 0 auto;z-index:999;
  background:rgba(0,0,0,.55);backdrop-filter:blur(8px);
}
.header__inner{
  display:flex;justify-content:space-between;align-items:center;height:60px;padding-inline:1rem;
}
.logo{font-family:'Orbitron',sans-serif;font-weight:700;font-size:1.1rem;color:#fff;text-decoration:none;display:flex;align-items:center;gap:.35rem}
.nav__links{list-style:none;display:flex;gap:1.8rem}
.nav__links a{color:var(--text-dim);text-decoration:none;font-weight:600;transition:.25s}
.nav__links a:hover,.nav__links a.active{color:#fff}

/* burger */
.nav__toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px}
.nav__toggle span{width:24px;height:3px;background:#fff;border-radius:3px;transition:.35s}

/* ===================================================== *
 *  HERO
 * ===================================================== */
.hero{
  position:relative;height:100vh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:-2}

/* Animated coloured overlay */
.hero::before{
  content:'';position:absolute;inset:-20% 0 0 0;     /* 20 % extra top to allow fade overlay */
  background:var(--primary-gradient);
  opacity:.45;
  mix-blend-mode:overlay;
  background-size:300% 300%;
  animation:gradientMove 18s ease-in-out infinite;
  z-index:-1;
}
@keyframes gradientMove{
  0%  {background-position:0% 50%}
  50% {background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* ----  NEW  bottom-fade so no hard edge  ---- */
.hero::after{
  content:'';
  position:absolute;left:0;bottom:0;width:100%;height:180px;
  background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,var(--dark-bg) 90%);
  z-index:-1;
}

.hero__content{z-index:1;max-width:720px;padding-inline:1rem}
.hero__title{font-family:'Orbitron',sans-serif;font-size:3.5rem;margin-bottom:1rem;line-height:1.1}
.hero__subtitle{font-size:1.2rem;letter-spacing:.4px;color:var(--text-dim);margin-bottom:2.4rem}
.scroll-indicator{margin-top:50px;font-size:.85rem;display:flex;flex-direction:column;align-items:center;gap:6px;animation:bounce 3s infinite}
@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(6px)}60%{transform:translateY(3px)}}

/* Floating dots */
.float-shapes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.float-shapes span{position:absolute;width:4px;height:4px;background:rgba(255,255,255,.16);border-radius:2px;animation:floatY 18s linear infinite}
@keyframes floatY{to{transform:translateY(-110vh) rotate(180deg)}}
.float-shapes span:nth-child(1){left:8%; bottom:-12px;animation-duration:20s}
.float-shapes span:nth-child(2){left:24%;bottom:-22px;animation-duration:24s;animation-delay:3s}
.float-shapes span:nth-child(3){left:42%;bottom:-18px;animation-duration:23s;animation-delay:6s}
.float-shapes span:nth-child(4){left:58%;bottom:-28px;animation-duration:21s;animation-delay:1.5s}
.float-shapes span:nth-child(5){left:76%;bottom:-24px;animation-duration:26s;animation-delay:4s}
.float-shapes span:nth-child(6){left:90%;bottom:-16px;animation-duration:25s;animation-delay:8s}

/* ===================================================== *
 *  PRODUCT CARDS
 * ===================================================== */
.product-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.product-card{
  background:var(--card-bg);box-shadow:var(--shadow);border-radius:var(--radius);
  padding:30px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:.3s;
}
.product-card:hover{transform:translateY(-6px)}
.product-card__icon{font-size:2rem;color:var(--primary-color);margin-bottom:15px}
.features{list-style:none;margin:18px 0 25px;padding-left:0;text-align:left}
.features li{display:flex;align-items:center;gap:8px;margin:8px 0}
.features li::before{content:"✓";color:#4caf50}

/* ===================================================== *
 *  PRICING
 * ===================================================== */
.pricing-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.pricing-card{
  background:var(--card-bg);box-shadow:var(--shadow);border-radius:var(--radius);
  padding:35px;text-align:center;transition:.3s;
}
.pricing-card:hover{transform:translateY(-6px)}
.pricing-card h3{margin-bottom:20px;font-family:'Orbitron',sans-serif}
.price{font-size:2rem;font-weight:700;color:var(--primary-color)}
.price--alt{font-size:1rem;color:var(--text-dim);margin-bottom:25px}

/* ===================================================== *
 *  REQUIREMENTS / PAYMENT
 * ===================================================== */
.requirements-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.technical-requirements,.refund-policy,.payment-methods{
  background:var(--card-bg);box-shadow:var(--shadow);
  border-radius:var(--radius);padding:25px;
}
.requirements-list{list-style:none}
.requirements-list li{display:flex;align-items:center;gap:10px;margin:12px 0;color:#e2e8f0}
.requirements-list i{color:var(--primary-color)}

.payment-icons{display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));margin-top:20px}
.payment-icon{
  background:rgba(255,255,255,.03);padding:12px;border-radius:8px;
  display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.9rem;color:var(--text-light)
}
.payment-icon i{font-size:1.4rem;color:var(--primary-color)}

/* ===================================================== *
 *  FOOTER
 * ===================================================== */
.footer{background:#0b0f14;padding:25px 0;text-align:center;font-size:.9rem;color:var(--text-dim)}
.footer__inner{display:flex;flex-direction:column;gap:8px;align-items:center}
.footer__discord{color:#7289da;text-decoration:none;display:flex;align-items:center;gap:6px;font-weight:600}
.footer__discord:hover{color:#889af0}

/* ===================================================== *
 *  RESPONSIVE NAV
 * ===================================================== */
@media(max-width:768px){
  .nav__toggle{display:flex}
  #navbar{
    position:fixed;inset:0 0 0 auto;width:260px;
    background:#0d1117;transform:translateX(100%);transition:.4s;padding-top:80px;
  }
  #navbar.open{transform:translateX(0)}
  .nav__links{flex-direction:column;gap:1.2rem;padding-left:30px}
  body.nav-open{overflow:hidden}
}

.product-card,
.pricing-card,
.technical-requirements,
.refund-policy,
.payment-methods{
    border:1px solid rgba(255,255,255,.06);
}

/* JS adds .has-glow to every card */
.has-glow{
    position:relative;
    --glow-opacity:0;
    --mx:50%;
    --my:50%;
}

.has-glow::after{
    content:'';
    position:absolute;inset:-1px;
    border-radius:inherit;
    pointer-events:none;

    /* pure white border tinted by the variable opacity */
    border:2px solid rgba(115,115,115,var(--glow-opacity));

    /* soft white halo */
    box-shadow:
        0 0 14px 6px rgba(115,115,115,calc(.75*var(--glow-opacity)));

    /* mask keeps the glow only near the cursor */
    --mask: radial-gradient(
                120px at var(--mx) var(--my),
                #000 0 60%,
                transparent 100%
            );
    -webkit-mask:var(--mask);
            mask:var(--mask);

    transition:border-color .12s linear, box-shadow .12s linear;
}