/* ===================================================================
   Codex of the Axiom — landing page styles
   Dark theme. Edit the variables below to re-skin the whole site.
   =================================================================== */
:root{
  --bg:#0b0d12;
  --bg2:#0e1118;
  --card:#151922;
  --edge:#232a37;
  --ink:#e8ecf3;
  --dim:#9aa5b5;
  --accent:#6ea8fe;
  --accent-ink:#0b0d12;
  --ok:#7fd1a0;
  --err:#f28b82;
  --radius:14px;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--sans); line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1000px; margin:0 auto; padding:0 24px}

/* ── hero ─────────────────────────────────────────────── */
.hero{
  border-bottom:1px solid var(--edge);
  background:
    radial-gradient(1200px 500px at 50% -10%, #1a2233 0%, transparent 70%),
    linear-gradient(180deg, var(--bg2), var(--bg));
}
.topbar{
  max-width:1000px; margin:0 auto; padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{font-weight:700; letter-spacing:.4px}
.navlink{
  font-size:.9rem; color:var(--ink); background:var(--card);
  border:1px solid var(--edge); padding:8px 14px; border-radius:999px;
}
.navlink:hover{border-color:var(--accent); text-decoration:none}
.hero-inner{
  max-width:760px; margin:0 auto; padding:56px 24px 72px; text-align:center;
}
.kicker{
  margin:0 0 14px; font-size:.75rem; letter-spacing:.24em;
  text-transform:uppercase; color:var(--accent); font-weight:700;
}
.hero h1{
  margin:0; font-size:clamp(2.4rem,7vw,4.2rem); line-height:1.02;
  letter-spacing:.5px;
}
.tagline{
  margin:18px 0 0; font-size:clamp(1.15rem,2.6vw,1.5rem);
  color:var(--ink); font-weight:600;
}
.pitch{
  margin:14px auto 0; max-width:46ch; color:var(--dim);
  font-size:1.02rem;
}
.finehint{margin:14px 0 0; font-size:.8rem; color:var(--dim)}

/* ── signup form ──────────────────────────────────────── */
.signup{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
  margin:28px auto 0; max-width:520px;
}
.signup .email{
  flex:1 1 240px; min-width:0;
  background:var(--card); border:1px solid var(--edge); color:var(--ink);
  border-radius:10px; padding:13px 15px; font-size:1rem; font-family:inherit;
}
.signup .email:focus{outline:none; border-color:var(--accent)}
.signup button{
  flex:0 0 auto; cursor:pointer;
  background:var(--accent); color:var(--accent-ink); font-weight:700;
  border:0; border-radius:10px; padding:13px 20px; font-size:1rem;
  font-family:inherit; transition:filter .15s;
}
.signup button:hover{filter:brightness(1.08)}
.signup button:disabled{opacity:.6; cursor:default}
/* honeypot — hide from humans, keep reachable by bots */
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
.formmsg{
  flex:1 1 100%; margin:6px 0 0; min-height:1.2em; font-size:.9rem;
}
.formmsg.ok{color:var(--ok)}
.formmsg.err{color:var(--err)}

/* ── sections ─────────────────────────────────────────── */
main{padding:8px 0}
section.wrap{padding-top:64px; padding-bottom:8px}
.section-title{
  margin:0; font-size:1.7rem; letter-spacing:.3px; text-align:center;
}
.section-sub{
  margin:10px auto 32px; max-width:52ch; text-align:center; color:var(--dim);
}
.editflag{color:#e0b062; font-size:.85em}

/* ── feature grid ─────────────────────────────────────── */
.grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}
.card{
  background:var(--card); border:1px solid var(--edge);
  border-radius:var(--radius); padding:22px; transition:.15s;
}
.card:hover{border-color:var(--accent); transform:translateY(-2px)}
.card h3{margin:0 0 8px; font-size:1.12rem}
.card p{margin:0; color:var(--dim); font-size:.95rem}
.card em{color:var(--ink); font-style:italic}

/* ── timeline ─────────────────────────────────────────── */
.timeline{
  list-style:none; margin:0 auto; padding:0; max-width:640px; position:relative;
}
.timeline::before{
  content:""; position:absolute; left:9px; top:6px; bottom:6px;
  width:2px; background:var(--edge);
}
.tl-item{position:relative; padding:0 0 26px 40px}
.tl-item:last-child{padding-bottom:0}
.tl-dot{
  position:absolute; left:0; top:4px; width:20px; height:20px;
  border-radius:50%; background:var(--card); border:2px solid var(--edge);
}
.tl-item.done .tl-dot{background:var(--accent); border-color:var(--accent)}
.tl-item.active .tl-dot{
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(110,168,254,.18);
}
.tl-date{
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent); font-weight:700;
}
.tl-body h3{margin:4px 0 4px; font-size:1.1rem}
.tl-body p{margin:0; color:var(--dim); font-size:.93rem}

/* ── cta band ─────────────────────────────────────────── */
.cta-band{
  margin-top:24px; padding-top:56px; padding-bottom:56px;
}
.signup-lg{max-width:560px}

/* ── footer ───────────────────────────────────────────── */
.footer{
  margin-top:64px; border-top:1px solid var(--edge);
  background:var(--bg2);
}
.footer-inner{
  display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between;
  padding-top:32px; padding-bottom:40px;
}
.footnote{margin:8px 0 0; color:var(--dim); font-size:.85rem; max-width:38ch}
.footnote.dim{color:#6b7686}
.footlinks{display:flex; flex-direction:column; gap:6px}
.footlbl{
  font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--dim); margin-bottom:4px;
}
.footlinks a{font-size:.92rem}

@media (max-width:560px){
  .signup button{flex:1 1 100%}
}

/* ── Volume One additions (home) ──────────────────────── */
.hero-inner{padding-top:48px}
.volume{
  margin:20px 0 0; font-size:clamp(1.05rem,2.4vw,1.35rem);
  color:var(--ink); font-weight:600; letter-spacing:.02em;
}
.vol-name{color:var(--accent)}
.section-cta{margin:28px 0 0; text-align:center; color:var(--dim)}
.section-cta a{font-weight:600}
.srd-note{padding-bottom:32px}
.srd-note .footnote{max-width:none}
.srd-note a{word-break:break-word}
