/* Swarm Protocol :: campaign landing pages. One stylesheet, no framework. */
:root {
  --ink: #12141a;
  --ink-soft: #5a6072;
  --line: #e3e6ee;
  --bg: #ffffff;
  --bg-soft: #f7f8fc;
  --accent: #3b4ce0;
  --accent-ink: #ffffff;
  --radius: 14px;
  --maxw: 44rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ink: #eef0f6;
    --ink-soft: #a2a9bd;
    --line: #2a2e3b;
    --bg: #0f1117;
    --bg-soft: #171a23;
    --accent: #8b97ff;
    --accent-ink: #0f1117;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  padding: 3rem 1.25rem 4rem;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.65 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}

main { max-width: var(--maxw); margin: 0 auto; }

.eyebrow {
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 .5rem;
}

h1 { font-size: clamp(1.9rem, 5vw, 2.6rem); line-height: 1.15; margin: 0 0 .75rem; letter-spacing: -.02em; }
h2 { font-size: 1.1rem; margin: 2.5rem 0 .75rem; letter-spacing: -.01em; }

.lede { font-size: 1.12rem; color: var(--ink-soft); margin: 0 0 2rem; }

.meta {
  display: flex; flex-wrap: wrap; gap: .5rem;
  list-style: none; padding: 0; margin: 0 0 2rem;
}
.meta li {
  font-size: .8rem;
  padding: .3rem .7rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink-soft);
  background: var(--bg-soft);
}

.cta {
  display: inline-block;
  background: var(--accent);
  color: var(--accent-ink);
  text-decoration: none;
  font-weight: 600;
  padding: .8rem 1.5rem;
  border-radius: var(--radius);
}
.cta:hover { filter: brightness(1.08); }
.cta:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.15rem 1.35rem;
  margin-bottom: .8rem;
  background: var(--bg-soft);
}
.card:hover { border-color: var(--accent); }
.card strong { display: block; font-size: 1.05rem; }
.card span { color: var(--ink-soft); font-size: .88rem; }

footer {
  max-width: var(--maxw);
  margin: 4rem auto 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
  color: var(--ink-soft);
  font-size: .8rem;
}
footer a { color: inherit; }
