/* Gena.fund — Donation Landing (GNIM) */
:root {
  --bg-start:#0f172a;
  --bg-end:#1e3a8a;
  --panel:#0c1220;
  --card:#0f172a;
  --text:#e2e8f0;
  --muted:#94a3b8;
  --primary:#38bdf8;
  --primary-ink:#0b1727;
  --accent:#ffd966;
  --border:rgba(255,255,255,0.08);
  --success:#22c55e;
  --error:#f87171;
}

* { box-sizing:border-box; }
html { font-size:16px; }
body {
  margin:0;
  font-family:"Inter", system-ui, -apple-system, Segoe UI, sans-serif;
  background: linear-gradient(135deg, var(--bg-start), var(--bg-end));
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
img { max-width:100%; display:block; }
a { color:var(--primary); text-decoration:none; }
a:hover { text-decoration:underline; }

.main-content { max-width:1200px; margin:0 auto; padding:1rem 1.25rem 4rem; }

/* Topbar */
.topbar { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--border); background:rgba(15,23,42,0.75); backdrop-filter:blur(12px); position:sticky; top:0; z-index:10; }
.logo-title { display:flex; align-items:center; gap:0.6rem; }
.gena-logo { height:38px; filter:drop-shadow(0 0 10px rgba(56,189,248,.4)); }
.site-title { font-weight:700; font-size:1.1rem; }
.top-menu { display:flex; gap:1rem; }
.top-menu a { color:var(--text); font-weight:600; opacity:0.9; }
.top-menu a:hover { color:#fff; }

/* Hero */
.hero { display:grid; grid-template-columns:1.1fr 0.9fr; gap:2rem; margin:2.5rem 0 2rem; align-items:start; }
.hero-text h1 { font-size:2.4rem; margin:0.4rem 0 0.75rem; color:#fff; }
.lede { font-size:1.05rem; line-height:1.7; margin:0 0 1.5rem; color:#dce7ff; }
.eyebrow { letter-spacing:0.04em; text-transform:uppercase; font-size:0.8rem; color:var(--accent); margin:0; }
.hero-actions { display:flex; gap:0.75rem; flex-wrap:wrap; }
.address-card { display:flex; justify-content:space-between; align-items:center; background:var(--panel); border:1px solid var(--border); border-radius:12px; padding:0.9rem 1rem; margin:1rem 0; gap:1rem; }
.address-label { font-size:0.9rem; color:var(--muted); }
.address-value { font-family:monospace; font-size:1rem; word-break:break-all; }
.hero-panel { background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:1.5rem; box-shadow:0 18px 40px rgba(0,0,0,0.18); }
.panel-title { font-weight:700; margin-bottom:0.75rem; color:#fff; }
.pill-list { list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:0.65rem; }
.pill-list li { background:rgba(56,189,248,0.08); border:1px solid var(--border); border-radius:999px; padding:0.65rem 0.9rem; color:#dce7ff; }
.small-link { font-weight:600; }
.note { color:var(--muted); font-size:0.95rem; }

/* Buttons */
.btn { border:none; border-radius:10px; padding:0.75rem 1rem; font-weight:700; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:0.4rem; transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.btn.primary { background:var(--primary); color:var(--primary-ink); box-shadow:0 10px 30px rgba(56,189,248,0.35); }
.btn.primary:hover { transform:translateY(-1px); box-shadow:0 12px 36px rgba(56,189,248,0.45); }
.btn.secondary { background:rgba(56,189,248,0.14); color:#fff; border:1px solid var(--border); }
.btn.ghost { background:transparent; color:#dbeafe; border:1px solid var(--border); }
.btn.copy { background:rgba(255,255,255,0.08); color:#fff; border:1px solid var(--border); padding:0.55rem 0.9rem; }
.btn:disabled { opacity:0.6; cursor:not-allowed; box-shadow:none; }

/* Donation grid */
.donation-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin:2rem 0; }
.donation-card, .mission-card { background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:1.25rem; box-shadow:0 16px 36px rgba(0,0,0,0.16); }
.card-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.card-header h2 { margin:0.2rem 0 0.6rem; }
.network-pill { padding:0.45rem 0.75rem; border-radius:999px; font-size:0.9rem; border:1px solid var(--border); color:#fff; background:rgba(255,255,255,0.06); }
.network-pill.success { background:rgba(34,197,94,0.12); border-color:rgba(34,197,94,0.4); color:#bbf7d0; }
.network-pill.error { background:rgba(248,113,113,0.12); border-color:rgba(248,113,113,0.4); color:#fecdd3; }

.form-row { margin-top:1rem; display:flex; flex-direction:column; gap:0.4rem; }
.form-row label { color:var(--muted); font-weight:600; }
.input-group { display:flex; align-items:center; border:1px solid var(--border); border-radius:10px; background:#0a1020; padding:0.35rem 0.5rem; }
.input-group input { flex:1; background:transparent; border:none; color:#fff; font-size:1rem; outline:none; padding:0.6rem; }
.token-tag { padding:0.4rem 0.7rem; background:rgba(56,189,248,0.14); border-radius:8px; font-weight:700; color:#c7e8ff; }
select { background:#0a1020; color:#fff; border:1px solid var(--border); border-radius:10px; padding:0.65rem; font-size:1rem; }

.form-actions { display:flex; gap:0.75rem; margin-top:1rem; flex-wrap:wrap; }
.status-box { margin-top:1rem; padding:0.85rem; border-radius:10px; border:1px solid var(--border); background:rgba(255,255,255,0.04); color:#e2e8f0; }
.status-box.success { border-color:rgba(34,197,94,0.5); color:#bbf7d0; }
.status-box.error { border-color:rgba(248,113,113,0.5); color:#fecdd3; }
.status-box.muted { color:var(--muted); }
.fineprint { font-size:0.92rem; color:var(--muted); margin-top:0.75rem; line-height:1.5; }

.mission-card h3 { margin-top:0; }
.checklist { list-style:none; padding:0; margin:0 0 1rem; display:grid; gap:0.6rem; }
.checklist li { padding-left:0.3rem; line-height:1.5; border-left:3px solid rgba(56,189,248,0.35); }
.card-split { display:grid; grid-template-columns:1fr 1fr; gap:1rem; background:rgba(255,255,255,0.02); border:1px solid var(--border); border-radius:12px; padding:0.8rem 1rem; }
.fact { margin:0.1rem 0; color:#e2e8f0; }

/* Steps */
.steps { margin:2.5rem 0; }
.steps h3 { margin:0 0 1rem; }
.steps-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:1rem; }
.step-card { background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:1rem; box-shadow:0 10px 24px rgba(0,0,0,0.12); }
.step-num { width:36px; height:36px; border-radius:50%; background:rgba(56,189,248,0.2); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:0.5rem; }

/* CTA band */
.cta-band { margin:2.5rem 0 0; padding:1.25rem 1.5rem; border-radius:16px; background:linear-gradient(135deg, rgba(56,189,248,0.18), rgba(255,217,102,0.18)); border:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.cta-band h3 { margin:0.2rem 0 0; color:#fff; }
.cta-band-actions { display:flex; gap:0.75rem; flex-wrap:wrap; }

/* Footer */
.footer { padding:1rem; border-top:1px solid var(--border); text-align:center; color:var(--muted); }

@media (max-width:960px) {
  .hero { grid-template-columns:1fr; }
  .donation-grid { grid-template-columns:1fr; }
  .address-card { flex-direction:column; align-items:flex-start; }
}

@media (max-width:600px) {
  .hero-text h1 { font-size:2rem; }
  .card-split { grid-template-columns:1fr; }
  .cta-band { flex-direction:column; align-items:flex-start; }
}
