/* Bitcoin Web Services (bitcoin.ws) — page-local layer on top of ds/88 hub.css.
   Everything hero/card/footer/btn comes from hub.css; this file only carries
   what the hub does not: the app-strip tile grid, the stats band, the waitlist
   form, the bitcoin (₿) identity accents, and the stealth page bits.
   BTC orange #f7931a is a coin-identity accent ONLY — CTAs and borders stay gold
   (fleet law, portal.css btc-row precedent). */

/* ---- app strip (services tile grid) ---- */
.app-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.app-strip .card { padding: 22px 20px; }
.app-strip .card .ico { width: 44px; height: 44px; margin-bottom: 14px; }
.app-strip .card h3 { font-size: 16px; margin-bottom: 5px; }
.app-strip .card p { font-size: 13px; line-height: 1.5; }
@media (max-width: 1020px) { .app-strip { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 660px)  { .app-strip { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 420px)  { .app-strip { grid-template-columns: 1fr; } }

/* ---- stats band ---- */
.stats-band { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.stats-band .stat { border: 1px solid var(--line); background: transparent; text-align: center; padding: 24px 14px 22px; }
.stats-band .stat .big { font-family: var(--font-display, var(--font)); font-size: clamp(26px, 3vw, 40px); line-height: 1; color: var(--gold-2); }
.stats-band .stat .lbl { margin-bottom: 12px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); }
@media (max-width: 560px) { .stats-band { grid-template-columns: 1fr 1fr; } .stats-band .stat:last-child { grid-column: 1 / -1; } }

/* ---- bitcoin identity accents ---- */
.btc { color: #f7931a; }
.hero-btc { display: block; width: min(560px, 82vw); margin: 30px auto 0; opacity: .9; }
.hero-btc path { stroke: #f7931a; }
.wl-btc { color: #f7931a; font-family: var(--font-mono, monospace); }

/* ---- waitlist form (shared: stealth page + landing section) ---- */
.wl-form { display: flex; gap: 10px; max-width: 520px; margin-inline: auto; }
.wl-form-inner { flex: 1; display: flex; border: 1px solid var(--line-gold); background: var(--panel); }
.wl-form-inner:focus-within { border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold-glow); }
.wl-form input[type="email"] { flex: 1; min-width: 0; background: transparent; border: 0; outline: none; color: var(--text); font: inherit; font-size: 15px; padding: 14px 16px; }
.wl-form input[type="email"]::placeholder { color: var(--text-3); }
.wl-form .btn { flex-shrink: 0; }
.err-inline { font-size: 13.5px; color: var(--text-3); text-align: center; max-width: 520px; margin-inline: auto; }
.err-inline.bad { color: #e5695b; }
@media (max-width: 480px) {
  .wl-form { flex-direction: column; }
  .wl-form .btn { width: 100%; }
}

/* ---- stealth page ---- */
.stealth-wrap { min-height: 100svh; display: flex; flex-direction: column; }
.stealth-main { flex: 1; display: flex; align-items: center; }
.stealth-foot { padding: 26px 0 34px; text-align: center; color: var(--text-3); font-size: 13px; }
.hidden { display: none; }

/* ---- misc ---- */
.footnote { text-align: center; margin-top: 18px; font-size: 13px; color: var(--text-3); }
.card .bic { width: 20px; height: 20px; }
/* brand logo/icon theme+width swap is hub.css's own (575px breakpoint, bi- pair law) */
