* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { overflow-x: hidden; }
body {
  font-family: -apple-system, "Segoe UI", Roboto, system-ui, sans-serif;
  background: #0d1522; color: #e9eef6; line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
#wrap {
  max-width: 480px; margin: 0 auto; min-height: 100vh;
  background: radial-gradient(120% 55% at 50% 0%, #14263f 0%, #0a111c 66%);
  padding-bottom: 10px;
}

#bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px; border-bottom: 1px solid #1c2c44;
}
.brand { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 16px; }
.brand svg { fill: #37b6ff; }
.ready { font-size: 11px; font-weight: 800; color: #38d996; letter-spacing: .05em; }

#hero { text-align: center; padding: 24px 22px 4px; }
.filebox {
  position: relative; width: 68px; height: 68px; margin: 0 auto 14px;
  border-radius: 18px; background: linear-gradient(180deg, #1f6dff, #1550c8);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(31, 109, 255, .4);
}
.filebox svg { fill: #fff; }
.dl {
  position: absolute; right: -4px; bottom: -4px; width: 28px; height: 28px;
  border-radius: 50%; background: #38d996; color: #06231a; border: 3px solid #0d1522;
  display: flex; align-items: center; justify-content: center; font-weight: 800;
  animation: bob 1.4s ease-in-out infinite;
}
@keyframes bob { 50% { transform: translateY(3px); } }
#hero h1 { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.sub { font-size: 14px; color: #a6b6cc; padding: 0 6px; }

#subform { padding: 18px 18px 6px; }
.lbl { display: block; font-size: 13.5px; color: #c2cfe0; margin-bottom: 8px; text-align: center; }
.field {
  display: flex; align-items: center; gap: 6px;
  background: #fff; border-radius: 11px; padding: 4px 12px; margin-bottom: 10px;
}
.cc { color: #6b7686; font-weight: 700; font-size: 17px; }
#msisdn {
  flex: 1; border: none; outline: none; padding: 12px 4px;
  font-size: 17px; color: #111; background: transparent; font-family: inherit;
}
#cta {
  display: block; width: 100%; border: none; cursor: pointer;
  background: linear-gradient(180deg, #38e39a, #14b06e); color: #05230f;
  font-size: 18px; font-weight: 800; padding: 16px; border-radius: 13px;
  font-family: inherit;
  box-shadow: 0 8px 22px rgba(20, 176, 110, .4);
  animation: pulse 1.6s ease-in-out infinite;
}
@keyframes pulse { 50% { transform: scale(1.02); } }
.terms {
  display: block; margin-top: 12px; font-size: 11px; color: #8496ac;
  line-height: 1.5; text-align: center;
}
.terms input { vertical-align: middle; margin-right: 4px; }
.tlink { color: #37b6ff; }

#perks { list-style: none; padding: 16px 22px 6px; }
#perks li { display: flex; align-items: center; gap: 11px; font-size: 14px; color: #cad7e6; margin-bottom: 9px; }
.pk { font-size: 17px; }

#foot { text-align: center; font-size: 12px; color: #61748c; padding: 12px 20px 24px; }
