:root{
  --bg:#070b12;
  --card:#0c1322;
  --line:rgba(255,255,255,.12);
  --txt:rgba(255,255,255,.90);
  --mut:rgba(255,255,255,.62);
  --acc:#5eead4;
  --acc2:#60a5fa;
  --vio:#a78bfa;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Vazirmatn", Tahoma, Arial, sans-serif;
  color:var(--txt);
  background: radial-gradient(1200px 600px at 70% -10%, rgba(94,234,212,.20), transparent 60%),
              radial-gradient(900px 600px at 20% 0%, rgba(96,165,250,.20), transparent 60%),
              radial-gradient(700px 450px at 70% 90%, rgba(167,139,250,.12), transparent 60%),
              var(--bg);
  min-height:100vh;
}

a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:18px}

.top{
  position:sticky; top:0;
  background:rgba(7,11,18,.58);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--line);
  z-index:10;
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px}

.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--acc),var(--acc2));
  color:#041017;font-weight:900;
  box-shadow: 0 18px 50px rgba(96,165,250,.18), 0 12px 40px rgba(94,234,212,.12);
}
.name{font-weight:900}
.tag{font-size:12px;color:var(--mut)}

.actions{display:flex;gap:10px;align-items:center}

.btn{
  border:1px solid transparent;
  background:linear-gradient(135deg,var(--acc),var(--acc2));
  color:#041017;
  padding:10px 14px;
  border-radius:14px;
  font-weight:900;
  cursor:pointer;
  box-shadow: 0 14px 40px rgba(96,165,250,.16), 0 12px 34px rgba(94,234,212,.12);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 18px 55px rgba(96,165,250,.22), 0 16px 46px rgba(94,234,212,.18);
}
.btn.ghost{
  background:transparent;
  border:1px solid var(--line);
  color:var(--txt);
  box-shadow:none;
}
.btn.ghost:hover{background:rgba(255,255,255,.05)}
.btn.small{padding:9px 12px;border-radius:12px;font-weight:900}

.hero{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:18px;
  padding:30px 0 10px;
  animation: enter .35s ease both;
}
@media (max-width: 920px){ .hero{grid-template-columns:1fr} }

.kicker{
  display:inline-flex;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--mut);
  font-size:12px;
  margin-bottom:10px;
}

.hero-text h1{
  font-size:44px;line-height:1.2;margin:0 0 10px;
  letter-spacing:-.3px;
}
.grad{
  background:linear-gradient(135deg,var(--acc),#a7f3d0);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
}
.grad2{
  background:linear-gradient(135deg,var(--acc2),#93c5fd);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
}
.dot{margin:0 8px;opacity:.5}

.hero-text p{margin:0 0 16px;color:var(--mut);line-height:1.95}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}

.badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  padding:8px 10px;border-radius:999px;
  font-size:12px;color:var(--mut)
}

.hero-card .card{
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border-radius:18px;
  padding:16px;
  box-shadow: 0 18px 65px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.06);
}
.card-h{font-weight:900;margin-bottom:6px}
.card-p{color:var(--mut);line-height:1.8;font-size:13px;margin-bottom:12px}

.mini{display:grid;gap:10px}
.mini-item{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  padding:12px 12px;border-radius:16px;
  display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;
  color:var(--txt);
  transition: transform .16s ease, background .16s ease;
}
.mini-item:hover{ transform: translateY(-2px); background:rgba(255,255,255,.05); }
.mini-t{font-weight:900}
.mini-s{font-size:12px;color:var(--mut);margin-top:2px}
.mini-right{font-size:20px}

.section{padding:22px 0; animation: enter .35s ease both; }
.section-h{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap}
.section-h h2{margin:0;font-size:22px}
.section-h p{margin:0;color:var(--mut);font-size:13px}

.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin-top:12px;
}
@media (max-width: 920px){ .grid{grid-template-columns:1fr} }

.p{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  border-radius:18px;
  padding:14px;
  box-shadow: 0 16px 55px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
.p:before{
  content:"";
  position:absolute; inset:-2px;
  background: radial-gradient(600px 180px at 30% 10%, rgba(94,234,212,.22), transparent 55%),
              radial-gradient(700px 220px at 80% 20%, rgba(96,165,250,.18), transparent 60%),
              radial-gradient(600px 200px at 40% 90%, rgba(167,139,250,.14), transparent 60%);
  opacity:0;
  transition: opacity .2s ease;
}
.p:hover{
  transform: translateY(-4px);
  box-shadow: 0 22px 80px rgba(0,0,0,.45);
}
.p:hover:before{ opacity:1; }
.p *{ position:relative; z-index:1; }

.p-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.pill{
  font-size:11px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  color:var(--mut);
}
.p-ico{font-size:22px}
.p h3{margin:0 0 6px}
.p p{margin:0 0 12px;color:var(--mut);line-height:1.8}
.p-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-weight:900}

.steps{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
  margin-top:12px;
}
@media (max-width: 920px){ .steps{grid-template-columns:1fr} }
.step{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.03);
  padding:12px;border-radius:18px;
  display:flex;gap:10px;align-items:center;
  color:var(--mut);
  box-shadow: 0 16px 55px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05);
}
.step span{
  width:28px;height:28px;border-radius:10px;
  display:grid;place-items:center;
  background:rgba(94,234,212,.18);
  color:var(--txt);
  font-weight:900;
}

.footer{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:18px;
  padding:16px 0;
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-wrap:wrap;
  color:var(--mut);
  font-size:13px;
}
.footlinks{display:flex;gap:12px}
.footlinks a{border-bottom:1px dashed rgba(255,255,255,.25)}

.modal{
  position:fixed; inset:0;
  background:rgba(0,0,0,.62);
  display:none;
  padding:18px;
}
.modal.open{display:grid;place-items:center}
.modal-card{
  width:min(560px, 100%);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(12,19,34,.92);
  backdrop-filter: blur(12px);
  border-radius:18px;
  padding:14px;
  box-shadow: 0 22px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
}
.modal-h{
  display:flex;align-items:center;justify-content:space-between;
  font-weight:900;margin-bottom:10px
}
.x{
  width:38px;height:38px;border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:transparent;color:var(--txt);
  font-size:20px;cursor:pointer;
}
.form{display:grid;gap:10px}
.row{display:grid;gap:6px}
label{font-size:12px;color:var(--mut)}
input,textarea{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--txt);
  padding:10px 12px;
  border-radius:14px;
  outline:none;
}
textarea{min-height:92px;resize:vertical}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.note{margin-top:10px;color:var(--mut);font-size:12px;line-height:1.7}
#codFields,#webFields,#ffFields{display:none}

@keyframes enter{
  from{ opacity:0; transform: translateY(10px); }
  to{ opacity:1; transform: translateY(0); }
}

/* animated glow layers */
body:before, body:after{
  content:"";
  position:fixed; inset:-40%;
  pointer-events:none;
  z-index:-1;
  filter: blur(42px);
  opacity:.55;
}
body:before{
  background: radial-gradient(circle at 30% 20%, rgba(96,165,250,.35), transparent 45%),
              radial-gradient(circle at 70% 35%, rgba(94,234,212,.35), transparent 45%),
              radial-gradient(circle at 55% 85%, rgba(167,139,250,.25), transparent 55%);
  animation: floaty 10s ease-in-out infinite;
}
body:after{
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.06), transparent 55%);
  animation: floaty2 14s ease-in-out infinite;
}
@keyframes floaty{
  0%{ transform: translate3d(-2%, -1%, 0) rotate(-2deg); }
  50%{ transform: translate3d(2%, 1%, 0) rotate(2deg); }
  100%{ transform: translate3d(-2%, -1%, 0) rotate(-2deg); }
}
@keyframes floaty2{
  0%{ transform: translate3d(1%, 0%, 0) }
  50%{ transform: translate3d(-1%, 1%, 0) }
  100%{ transform: translate3d(1%, 0%, 0) }
}
