:root{
  --bg:#070b18;
  --bg2:#0b1024;
  --card: rgba(255,255,255,.06);
  --card2: rgba(255,255,255,.08);
  --border: rgba(255,255,255,.10);
  --text:#eaf0ff;
  --muted: rgba(234,240,255,.72);
  --muted2: rgba(234,240,255,.58);
  --shadow: 0 18px 60px rgba(0,0,0,.45);

  --g1:#f6d365;
  --g2:#fda085;
  --p1:#6d28d9;
  --p2:#2f6bff;

  --radius: 22px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Cairo", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 12% 0%, rgba(109,40,217,.22), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, rgba(47,107,255,.18), transparent 58%),
    radial-gradient(800px 460px at 70% 88%, rgba(246,211,101,.14), transparent 58%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
button{font-family:inherit}

.wrap{width:min(1140px, 92vw); margin-inline:auto;}

/* Topbar */
.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background: rgba(7,11,24,.78);
  backdrop-filter: blur(14px);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px;}
.logo{
  width:40px;height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
  overflow:hidden;
  display:grid; place-items:center;
}
.name{display:flex;flex-direction:column;line-height:1.1}
.name b{font-size:15.5px; letter-spacing:.2px}
.name span{font-size:12px; color:var(--muted2)}

.links{display:flex; align-items:center; gap:10px;}
.links a{
  font-size:14px;
  color:var(--muted);
  padding:8px 10px;
  border-radius:12px;
  transition: background .2s ease, color .2s ease;
}
.links a:hover{background: rgba(255,255,255,.06); color: var(--text);}

.actions{display:flex; align-items:center; gap:10px;}

.btn{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding:10px 14px;
  border-radius:14px;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.btn:hover{transform: translateY(-2px); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18)}

.btn.primary{
  border:0;
  color:#0b1020;
  background:
    radial-gradient(120px 120px at 20% 15%, rgba(255,255,255,.80), rgba(255,255,255,0) 70%),
    linear-gradient(135deg, rgba(246,211,101,.98), rgba(253,160,133,.98));
}
.btn.ghost{background: rgba(255,255,255,.03)}
.btn.big{padding:12px 14px; font-size:15px; border-radius:16px}

.burger{
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  display:none;
  cursor:pointer;
  position:relative;
}
.burger span,.burger::before,.burger::after{
  content:"";
  position:absolute;
  left:12px; right:12px;
  height:2px;
  background: rgba(234,240,255,.85);
  border-radius:2px;
}
.burger span{top:50%; transform: translateY(-50%)}
.burger::before{top:16px}
.burger::after{top:28px}

.mobileMenu{display:none; padding: 0 0 14px;}
.mobileMenu a{display:block; padding:12px 12px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.05); margin-top:10px; color: var(--muted)}
.mobileMenu a:hover{color: var(--text)}
.mobileMenu .mPrimary{border:0; background: linear-gradient(135deg, rgba(246,211,101,.95), rgba(253,160,133,.95)); color:#0b1020; font-weight:900}

.topbar.open .mobileMenu{display:block}

/* Hero (one screen) */
.hero{
  min-height: calc(100vh - 74px);
  display:flex;
  align-items:center;
  padding: 14px 0 26px;
}
.heroGrid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 20px;
  align-items:stretch;
}

.copy, .offer{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.copy{padding: 22px 22px 18px;}
.badgeLine{display:inline-flex; align-items:center; gap:10px; color:var(--muted); font-weight:800; font-size:13.5px}
.dot{width:10px;height:10px;border-radius:99px;background: linear-gradient(135deg, rgba(109,40,217,.95), rgba(47,107,255,.95)); box-shadow: 0 0 0 4px rgba(109,40,217,.12)}
.copy h1{margin: 12px 0 10px; font-size: 40px; line-height: 1.15; letter-spacing:.2px}
.copy .sub{margin:0; color:var(--muted); font-size:15.5px; line-height:1.85}

.featureGrid{margin-top:16px; display:grid; grid-template-columns: 1fr 1fr; gap:12px;}
.fCard{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  border-radius:18px;
  padding:12px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
  min-height: 84px;
}
.fCard:hover{transform: translateY(-2px); background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.16)}
.fCard .ic{width:38px;height:38px; border-radius:14px; display:grid; place-items:center; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10)}
.fCard b{display:block; font-size:14.4px; margin-bottom:3px}
.fCard span{display:block; color:var(--muted2); font-size:13.2px; line-height:1.6}

.miniCtas{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap}

/* Offer card */
.offer{padding: 18px 18px 16px; position:relative; overflow:hidden;}
.offer::before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(360px 260px at 20% 10%, rgba(246,211,101,.16), transparent 60%),
    radial-gradient(360px 260px at 80% 20%, rgba(253,160,133,.13), transparent 60%),
    radial-gradient(360px 260px at 65% 85%, rgba(47,107,255,.10), transparent 60%);
  pointer-events:none;
}
.offer > *{position:relative}

.offerTop{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.tag{font-weight:900; font-size:13px; padding:8px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: var(--muted)}
.slots{display:flex; flex-direction:column; align-items:flex-end; line-height:1.2}
.slots b{font-size:14px}
.slots span{font-size:12.5px; color: var(--muted2)}

.priceRow{margin-top:14px; display:flex; gap:12px; align-items:stretch;}
.price{flex:1; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.05); border-radius:18px; padding:14px;}
.now{display:flex; align-items:baseline; gap:8px}
.num{font-size:44px; font-weight:1000; letter-spacing:.4px}
.unit{font-size:14px; color: var(--muted)}
.was{margin-top:6px; color: var(--muted2); font-size:13px}

.save{width: 44%; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.05); border-radius:18px; padding:14px; display:flex; flex-direction:column; justify-content:center}
.saveNum{font-weight:1000; font-size:14px; margin-bottom:6px}
.saveNote{color: var(--muted2); font-size:12.6px; line-height:1.55}

.timer{margin-top:12px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04); border-radius:18px; padding:12px}
.tTitle{font-weight:900; font-size:13px; color: var(--muted); margin-bottom:10px}
.tGrid{display:grid; grid-template-columns: repeat(4, 1fr); gap:10px}
.tBox{border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04); border-radius:16px; padding:10px; text-align:center}
.tBox b{display:block; font-size:18px; font-weight:1000}
.tBox span{display:block; font-size:12px; color: var(--muted2)}
.tHint{margin-top:10px; font-size:12.5px; color: var(--muted2)}

.meter{margin-top:12px}
.bar{height:10px; border-radius:99px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); overflow:hidden}
.bar i{display:block; height:100%; background: linear-gradient(90deg, rgba(246,211,101,.95), rgba(253,160,133,.95))}

.cta{margin-top:14px; display:grid; grid-template-columns: 1fr 1fr; gap:10px}
.fine{margin-top:10px; color: var(--muted2); font-size:12.5px; line-height:1.6}
.fine p{margin:0}

/* Modal */
.modal{position:fixed; inset:0; display:none; z-index:80}
.modal.open{display:block}
.modalBackdrop{position:absolute; inset:0; background: rgba(0,0,0,.62)}
.modalCard{position:relative; width:min(560px, 92vw); margin: 8vh auto 0; border-radius: 22px; border:1px solid rgba(255,255,255,.12); background: rgba(12,16,34,.92); backdrop-filter: blur(14px); box-shadow: 0 26px 90px rgba(0,0,0,.60); padding: 14px}
.mTop{display:flex; align-items:center; justify-content:space-between; padding: 6px 6px 10px}
.mTop b{font-size:15px}
.x{border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: var(--text); width:40px;height:40px; border-radius:14px; cursor:pointer}
.codeBox{display:flex; gap:10px; align-items:center; padding: 10px 6px}
.code{flex:1; border:1px dashed rgba(255,255,255,.22); background: rgba(255,255,255,.04); border-radius:18px; padding: 14px; font-weight:1000; font-size:20px; letter-spacing:.5px; text-align:center}
.mText{padding: 6px 6px 2px; color: var(--muted); font-size:13.6px; line-height:1.85}
.mText p{margin: 0 0 10px}
.mText hr{border:0; height:1px; background: rgba(255,255,255,.10); margin: 10px 0}
.warn{color: rgba(246,211,101,.92)}
.mBottom{display:flex; gap:10px; padding: 8px 6px 6px; flex-wrap:wrap}

/* Responsive */
@media (max-width: 980px){
  .links{display:none}
  .burger{display:inline-block}
  .heroGrid{grid-template-columns: 1fr;}
  .offer{order: 1}
  .copy{order: 2}
  .copy h1{font-size:34px}
  .featureGrid{grid-template-columns:1fr;}
  .cta{grid-template-columns:1fr}
  .priceRow{flex-direction:column}
  .save{width:auto}
  .hero{min-height: unset; padding: 18px 0 24px}
}

@media (max-width: 420px){
  .copy h1{font-size:30px}
  .num{font-size:40px}
}
