*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Arial,Helvetica,sans-serif;
  background:#0b1220;
  color:#f3f4f6;
  line-height:1.6;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{
  width:min(1120px, 92%);
  margin:0 auto;
}

header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(11,18,32,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 0;
}
.brand{
  font-size:1.2rem;
  font-weight:800;
  color:#fff;
  letter-spacing:.3px;
}
.menu{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  align-items:center;
}
.menu a{
  color:#cbd5e1;
  font-size:.96rem;
  transition:.2s ease;
}
.menu a:hover{color:#fff}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border-radius:12px;
  font-weight:700;
  transition:.2s ease;
  border:none;
  cursor:pointer;
}
.btn-primary{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  box-shadow:0 10px 30px rgba(34,197,94,.22);
}
.btn-primary:hover{transform:translateY(-1px)}
.btn-outline{
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  background:transparent;
}
.btn-outline:hover{
  background:rgba(255,255,255,.05);
}

.hero{
  padding:80px 0 50px;
  background:
    radial-gradient(circle at top right, rgba(34,197,94,.18), transparent 30%),
    radial-gradient(circle at top left, rgba(59,130,246,.18), transparent 28%);
}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center;
}
.badge{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(34,197,94,.13);
  color:#86efac;
  font-weight:700;
  font-size:.9rem;
  margin-bottom:18px;
  border:1px solid rgba(34,197,94,.22);
}
.hero h1{
  font-size:clamp(2rem, 5vw, 3.8rem);
  line-height:1.05;
  margin-bottom:16px;
  color:#fff;
}
.hero p{
  color:#cbd5e1;
  font-size:1.05rem;
  margin-bottom:20px;
  max-width:720px;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}
.stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:28px;
}
.stat{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:18px;
}
.stat strong{
  display:block;
  font-size:1.2rem;
  color:#fff;
  margin-bottom:4px;
}
.stat span{
  color:#94a3b8;
  font-size:.92rem;
}

.card-hero{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}
.card-hero .image{
  aspect-ratio:16/10;
  background:
    linear-gradient(135deg, rgba(34,197,94,.25), rgba(59,130,246,.18)),
    #111827;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.15rem;
  font-weight:800;
  color:#fff;
  text-align:center;
  padding:30px;
}
.card-hero .content{
  padding:22px;
}
.price-tag{
  display:inline-block;
  background:#22c55e;
  color:#fff;
  font-weight:800;
  border-radius:12px;
  padding:10px 14px;
  margin-bottom:12px;
}
.mini-info{
  display:grid;
  gap:10px;
  color:#cbd5e1;
  font-size:.96rem;
}

section{
  padding:72px 0;
}
.section-title{
  text-align:center;
  margin-bottom:34px;
}
.section-title h2{
  font-size:clamp(1.7rem, 4vw, 2.5rem);
  color:#fff;
  margin-bottom:10px;
}
.section-title p{
  color:#94a3b8;
  max-width:760px;
  margin:0 auto;
}

.packages{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.package{
  background:#111827;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  padding:26px;
  text-align:center;
  transition:.2s ease;
}
.package:hover{
  transform:translateY(-4px);
  border-color:rgba(34,197,94,.35);
}
.package h3{
  font-size:1.2rem;
  margin-bottom:10px;
  color:#fff;
}
.package .qty{
  font-size:2.2rem;
  font-weight:900;
  color:#22c55e;
  line-height:1;
  margin-bottom:10px;
}
.package .amount{
  font-size:1.1rem;
  color:#fff;
  margin-bottom:10px;
  font-weight:800;
}
.package p{
  color:#94a3b8;
  margin-bottom:18px;
  font-size:.95rem;
}

.how-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.step{
  background:#111827;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:24px;
}
.step .num{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#22c55e;
  color:#fff;
  font-weight:900;
  margin-bottom:14px;
}
.step h3{
  color:#fff;
  margin-bottom:8px;
  font-size:1.05rem;
}
.step p{
  color:#94a3b8;
  font-size:.96rem;
}

.participants-box,
.faq-box,
.contact-box{
  background:#111827;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:28px;
}

.participants-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:20px;
}
.ticket{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  padding:14px;
  text-align:center;
}
.ticket strong{
  display:block;
  color:#22c55e;
  font-size:1.05rem;
  margin-bottom:4px;
}
.ticket span{
  color:#cbd5e1;
  font-size:.92rem;
}

.faq{
  display:grid;
  gap:14px;
}
.faq-item{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:18px;
}
.faq-item h3{
  color:#fff;
  margin-bottom:8px;
  font-size:1rem;
}
.faq-item p{
  color:#94a3b8;
  font-size:.96rem;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:18px;
}
.contact-item{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:18px;
}
.contact-item h3{
  color:#fff;
  margin-bottom:8px;
  font-size:1rem;
}
.contact-item p{
  color:#94a3b8;
}

footer{
  padding:28px 0 38px;
  border-top:1px solid rgba(255,255,255,.08);
  color:#94a3b8;
  text-align:center;
}

@media (max-width: 980px){
  .hero-grid,
  .packages,
  .how-grid,
  .participants-grid,
  .contact-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 700px){
  .nav{
    flex-direction:column;
    align-items:flex-start;
  }
  .menu{
    width:100%;
    gap:12px;
  }
  .hero{
    padding:56px 0 36px;
  }
  .hero-grid,
  .packages,
  .how-grid,
  .participants-grid,
  .contact-grid,
  .stats{
    grid-template-columns:1fr;
  }
  .hero h1{
    font-size:2.2rem;
  }
}