.hero {
  position: relative;
  padding: 70px 20px 100px;
  text-align: center;
  overflow: hidden;
  z-index: 1;
}
.hero-badge {
  display:inline-block; padding:6px 16px; border-radius:30px; background:rgba(47,128,237,0.1);
  color:var(--primary); font-size:13px; font-weight:600; margin-bottom:20px;
}
.hero h1 {
  font-size: 42px; font-weight: 800; line-height: 1.2; max-width: 780px; margin: 0 auto 18px;
}
.hero h1 span {
  background: linear-gradient(90deg, var(--primary), var(--accent));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero p { color: var(--text-dim); font-size: 17px; max-width: 560px; margin: 0 auto 34px; }
.hero-ctas { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:60px; }
.hero-ctas .pill-btn { padding:14px 30px; font-size:15px; }

.float-icons { position:relative; height:0; }
.float-icon {
  position:absolute; width:64px; height:64px; border-radius:20px; display:flex; align-items:center;
  justify-content:center; font-size:28px; background:#fff; box-shadow:0 15px 35px rgba(47,128,237,0.18);
  animation: floatIcon 6s ease-in-out infinite;
  transform-style: preserve-3d;
}
@keyframes floatIcon {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-22px) rotate(6deg); }
}
.fi-1 { top:-30px; left:8%; animation-delay:0s; }
.fi-2 { top:60px; left:20%; animation-delay:1.2s; }
.fi-3 { top:-50px; right:10%; animation-delay:0.6s; }
.fi-4 { top:80px; right:20%; animation-delay:1.8s; }
.fi-5 { top:20px; left:48%; animation-delay:2.4s; }
@media (max-width:800px) { .float-icon { display:none; } }

.stats-strip {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:20px;
  max-width:900px; margin:0 auto 70px; position:relative; z-index:1;
}
.stat-box { text-align:center; }
.stat-box .n { font-size:32px; font-weight:800; color:var(--primary); }
.stat-box .l { color:var(--text-dim); font-size:13px; margin-top:4px; }

.section-title { text-align:center; margin-bottom:40px; }
.section-title h2 { font-size:28px; font-weight:800; }
.section-title p { color:var(--text-dim); margin-top:8px; }

.platform-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:16px; max-width:900px; margin:0 auto 70px; }
.platform-card {
  background:var(--card-bg); border:1px solid var(--card-border); border-radius:16px; padding:24px 16px;
  text-align:center; box-shadow:var(--shadow); transition:.3s;
}
.platform-card:hover { transform:translateY(-6px); }
.platform-card .icon { font-size:34px; margin-bottom:10px; }
.platform-card .name { font-weight:600; font-size:14px; }

.steps-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; max-width:1000px; margin:0 auto 70px; }
.step-card { text-align:center; padding:20px; }
.step-num {
  width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; margin:0 auto 16px;
  box-shadow:0 10px 25px rgba(47,128,237,0.3);
}
.step-card h3 { margin-bottom:8px; font-size:16px; }
.step-card p { color:var(--text-dim); font-size:13px; }
