/* ========= Root Theme ========= */

:root{
  --bg1:#0b0f2b;
  --bg2:#130b2b;
  --accent:#6df0ff;
  --accent2:#9f6bff;
  --glass:rgba(255,255,255,0.07);
  --border:rgba(255,255,255,0.12);
  --text-muted:#a8b0c3;
}

/* ========= Reset ========= */

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
  font-family:"Inter",sans-serif;
}

body{
  overflow-x:hidden;
  background:linear-gradient(135deg,var(--bg1),var(--bg2));
  color:#fff;
  min-height:100vh;
  line-height:1.6;
}

/* ========= Canvas ========= */

canvas{
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
}

/* ========= Header ========= */

header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 8%;
  position:sticky;
  top:0;
  background:rgba(0,0,0,0.25);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  z-index:1000;
}

/* Brand */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.brand-logo{
  width:42px;
  height:42px;
  border-radius:8px;
  object-fit:cover;
  box-shadow:
    0 0 12px rgba(255,255,255,0.35),
    0 0 20px rgba(140,120,255,0.55);
  filter:brightness(1.15) contrast(1.05);
  border:1px solid rgba(255,255,255,0.2);
}

header h1{
  font-weight:800;
  font-size:22px;
  letter-spacing:.5px;
}

nav a{
  margin-left:24px;
  text-decoration:none;
  color:#c9c9c9;
  transition:.25s;
}

nav a:hover{
  color:#fff;
}

/* ========= Hero ========= */

.hero{
  text-align:center;
  padding:90px 10% 70px;
  position:relative;
}

.hero h2{
  font-size:48px;
  font-weight:800;
  margin-bottom:20px;

  background:linear-gradient(90deg,#6df0ff,#9f6bff);
  -webkit-background-clip:text;
  color:transparent;

  filter:brightness(1.25);
}


.hero p{
  color:var(--text-muted);
  font-size:18px;
  margin-bottom:26px;
}

.timer{
  font-size:22px;
  margin-bottom:20px;
  color:#9adfff;
}

/* ========= Buttons ========= */

.btn{
  display:inline-block;
  background:linear-gradient(90deg,var(--accent2),var(--accent));
  padding:15px 30px;
  border-radius:40px;
  color:#000;
  filter:brightness(1.15);
  font-weight:600;
  text-decoration:none;
  box-shadow:0 0 25px rgba(150,130,255,.45);
  transition:.25s;
}

.btn:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 0 35px rgba(150,130,255,.7);
}

/* ========= Feature Cards ========= */

.features{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px;
  padding:50px 8%;
}

.card{
  background:var(--glass);
  backdrop-filter:blur(14px);
  border-radius:18px;
  padding:26px;
  border:1px solid var(--border);
  transition:.25s;
}

.card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,255,255,.3);
}

.card h4{
  margin-bottom:10px;
}

/* ========= Pricing ========= */

.pricing{
  text-align:center;
  padding:80px 8%;
}

.price-box{
  display:inline-block;
  background:var(--glass);
  padding:45px;
  border-radius:20px;
  border:1px solid var(--border);
  backdrop-filter:blur(14px);
}

.strike{
  text-decoration:line-through;
  color:#888;
}

/* ========= Testimonials ========= */

.testimonials{
  padding:70px 8%;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:22px;
}

.quote{
  background:var(--glass);
  padding:24px;
  border-radius:14px;
  border:1px solid var(--border);
  font-style:italic;
}

/* ========= FAQ ========= */

.faq{
  padding:60px 8%;
  max-width:900px;
  margin:auto;
}

details{
  margin-bottom:12px;
  background:var(--glass);
  padding:14px;
  border-radius:10px;
  border:1px solid var(--border);
  transition:transform .25s ease,
             border-color .25s ease,
             box-shadow .25s ease,
             background .25s ease;
}

summary{
  cursor:pointer;
  font-weight:600;
}

/* FAQ interactivity like cards */
.faq details:hover{
  transform:translateY(-6px);
  border-color:rgba(255,255,255,.3);
  box-shadow:0 12px 28px rgba(0,0,0,.25);
}

.faq details[open]{
  border-color:rgba(255,255,255,.35);
  box-shadow:0 14px 34px rgba(0,0,0,.32);
  background:rgba(255,255,255,0.09);
}

/* ========= Footer ========= */

footer{
  text-align:center;
  padding:30px;
  color:#888;
}

/* ========= Sticky CTA ========= */

.sticky-cta{
  position:fixed;
  bottom:20px;
  right:20px;
  background:linear-gradient(90deg,var(--accent2),var(--accent));
  color:#000;
  padding:14px 22px;
  border-radius:30px;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 0 20px rgba(150,130,255,.5);
  transition:.25s;
}

.sticky-cta:hover{
  transform:scale(1.05);
}

/* ========= Mobile Optimization ========= */

@media(max-width:768px){

  .hero h2{
    font-size:36px;
  }

  header{
    padding:16px 6%;
  }

  nav a{
    margin-left:14px;
  }

}
@media (max-width: 900px){
  header{
    flex-wrap:wrap;
    gap:12px;
  }

  nav{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
  }

  nav a{
    margin-left:0;
  }
}

@media (max-width: 640px){
  .hero{
    padding:72px 6% 50px;
  }

  .hero h2{
    font-size:32px;
    line-height:1.15;
  }

  .hero p{
    font-size:16px;
  }

  .timer{
    font-size:18px;
  }

  .btn{
    padding:14px 22px;
  }

  .features,
  .testimonials{
    grid-template-columns:1fr;
    padding:36px 6%;
  }

  .pricing{
    padding:60px 6%;
  }

  .price-box{
    width:100%;
    max-width:420px;
  }

  #hero3d{
    width:320px;
    height:200px;
  }

  .carousel{
    height:170px;
  }

  .sticky-cta{
    bottom:14px;
    right:14px;
    padding:10px 14px;
    font-size:14px;
    border-radius:24px;
    box-shadow:0 0 14px rgba(150,130,255,.4);
  }

  #activity{
    left:14px;
    display:none;
  }
}

@media (max-width: 420px){
  #hero3d{
    width:260px;
    height:170px;
  }

  .sticky-cta{
    left:50%;
    right:auto;
    width:auto;
    max-width:60vw;
    transform:translateX(-50%);
    padding:6px 10px;
    font-size:12px;
    border-radius:20px;
    box-shadow:0 0 12px rgba(150,130,255,.35);
    text-align:center;
  }

  #activity{
    display:none;
  }
}

@media (prefers-reduced-motion: reduce){
  .sticky-cta{
    animation:none;
  }

  .hero h2::after{
    animation:none;
  }

  .card:hover,
  .price-box:hover{
    transform:none;
  }
}

@media (hover: none){
  .card:hover,
  .price-box:hover,
  .btn:hover,
  .sticky-cta:hover{
    transform:none;
  }
}
/* Scroll Reveal Animation */

.reveal{
  opacity:0;
  transform:translateY(40px);
  transition:all .7s ease;
}

.reveal-visible{
  opacity:1;
  transform:translateY(0);
}
.hero h2{
  position:relative;
  overflow:hidden;
}

.hero h2::after{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:60%;
  height:100%;

  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,0.25),
    transparent
  );

  animation:sweep 5s infinite;
}

@keyframes sweep{
  to{
    left:140%;
  }
}
/* ===== Cinematic Sections ===== */

section{
  will-change: transform, opacity;
  transition: transform .4s ease-out,
              opacity .4s ease-out;
}

/* Depth layers */

.depth-1 { transform: translateZ(0); }
.depth-2 { transform: translateZ(-50px); }
.depth-3 { transform: translateZ(-100px); }
/* ===== Hero 3D Canvas ===== */

/* Darken hero area for readability */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(120% 120% at 50% 10%, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.55) 55%, rgba(0,0,0,0.8) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.7) 100%);
  z-index:1;
  pointer-events:none;
}

#hero3d{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);

  width:520px;
  height:320px;

  pointer-events:none;
  z-index:0;
}

/* Ensure text stays above */

.hero h2,
.hero p,
.hero .btn,
.hero .timer{
  position:relative;
  z-index:2;
}
/* ===== Pricing Highlight ===== */

.price-box{
  transition:transform .3s ease,
             box-shadow .3s ease,
             border .3s ease;
}

.price-box:hover{
  transform:scale(1.06);
  box-shadow:0 0 40px rgba(120,140,255,.45);
  border:1px solid rgba(255,255,255,.4);
}
/* ===== Testimonial Carousel ===== */

.carousel{
  position:relative;
  height:140px;
}

.quote{
  position:absolute;
  opacity:0;
  transition:opacity .6s ease;
}

.quote.active{
  opacity:1;
}
/* ===== CTA Pulse ===== */

@keyframes pulseGlow{
  0%{box-shadow:0 0 20px rgba(120,140,255,.3);}
  50%{box-shadow:0 0 50px rgba(120,140,255,.9);}
  100%{box-shadow:0 0 20px rgba(120,140,255,.3);}
}

.sticky-cta{
  animation:pulseGlow 3s infinite;
}
/* ===== Social Activity Box ===== */

#activity{
  position:fixed;
  bottom:20px;
  left:20px;

  background:rgba(0,0,0,.5);
  padding:12px 18px;
  border-radius:20px;
  font-size:14px;
  backdrop-filter:blur(10px);
  z-index:900;
  color:#e8efff;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}

