.coming-soon-banner {
  background: rgba(251,191,36,0.06); border: 1px solid rgba(251,191,36,0.2);
  border-radius: 14px; padding: 2rem 2.5rem;
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
  margin-bottom: 3.5rem;
}
.cs-icon { font-size: 1.8rem; flex-shrink: 0; }
.coming-soon-banner h2 { font-family:var(--sans); font-size:1.1rem; font-weight:700; color:var(--white); margin-bottom:.3rem; }
.coming-soon-banner p { font-size:.88rem; line-height:1.6; color:var(--gray); }

.cap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; margin-bottom:3.5rem; }
.cap-card {
  background:var(--card); border:1px solid var(--border); border-radius:14px; padding:2rem;
  display:flex; flex-direction:column; gap:1rem;
  transition:border-color .25s, background .25s, transform .2s;
  position:relative;
}
.cap-card:hover { background:#1a1a2a; border-color:rgba(124,58,237,.3); transform:translateY(-3px); }

.cap-card-status {
  font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gray); background:rgba(255,255,255,0.05);
  border:1px solid var(--border); padding:.2rem .7rem; border-radius:100px;
  display:inline-block; width:fit-content;
}
.cap-icon { width:50px; height:50px; background:var(--icon-bg); border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--icon-color); }
.cap-card h3 { font-family:var(--sans); font-size:.95rem; font-weight:700; color:var(--white); line-height:1.3; }
.cap-card p { font-size:.84rem; line-height:1.65; color:var(--gray); flex:1; }
.cap-tags { display:flex; gap:.5rem; flex-wrap:wrap; }
.cap-tags span { font-family:var(--mono); font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; background:rgba(124,58,237,0.1); color:var(--violet-glow); border:1px solid rgba(124,58,237,0.2); padding:.2rem .6rem; border-radius:100px; }

/* Waitlist */
.waitlist-wrap {
  background: var(--dark); border: 1px solid var(--border);
  border-radius: 14px; padding: 2.5rem;
}
.waitlist-header { margin-bottom: 1.5rem; }
.waitlist-header h3 { font-family:var(--sans); font-size:1rem; font-weight:700; color:var(--white); margin-bottom:.4rem; }
.waitlist-header p { font-size:.85rem; color:var(--gray); }
.waitlist-row { display:flex; gap:1rem; align-items:flex-end; flex-wrap:wrap; }
.waitlist-row .form-group { min-width:220px; }
.waitlist-row .btn-primary { flex-shrink:0; }

@media(max-width:900px) {
  .cap-grid { grid-template-columns:1fr; }
  .waitlist-row { flex-direction:column; }
  .waitlist-row .btn-primary { width:100%; justify-content:center; }
}
