:root{--bg:#faf7f2;--ink:#2d2a26;--muted:#6f675e;--accent:#7a9a83;--accent2:#c9a96e;--card:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 system-ui,-apple-system,Segoe UI,sans-serif}
main{max-width:620px;margin:0 auto;padding:28px 20px 40px}h1{font-family:Georgia,serif;font-size:2rem;line-height:1.2;margin:.3em 0}h2{font-family:Georgia,serif}
.eyebrow{color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.lede{color:var(--muted);font-size:1.1rem}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;margin:12px 0}
.btn:disabled{opacity:.5}.small{font-size:.9rem;color:var(--muted)}a{color:#4f6f58}
.grid{display:grid;gap:12px}.card{display:block;background:var(--card);padding:18px;border-radius:16px;text-decoration:none;color:var(--ink);box-shadow:0 1px 4px #0001}.card span{display:block;color:var(--muted);font-size:.95rem}
.bar{height:8px;background:#e8e1d6;border-radius:9px;overflow:hidden;margin:6px 0 18px}.bar i{display:block;height:100%;background:var(--accent);transition:width .3s}
.step{font-size:.85rem;color:var(--muted)}.opt{display:block;width:100%;text-align:left;background:var(--card);border:2px solid transparent;border-radius:14px;padding:14px 16px;margin:10px 0;font-size:1rem;cursor:pointer;box-shadow:0 1px 3px #0001}
.opt:hover,.opt.sel{border-color:var(--accent)}input[type=email],input[type=text]{width:100%;padding:14px;border-radius:12px;border:1px solid #d8cfc2;font-size:1rem;margin:6px 0}
.verse{background:var(--card);border-left:4px solid var(--accent2);padding:12px 16px;border-radius:10px;margin:12px 0}.verse cite{display:block;color:var(--muted);font-style:normal;font-size:.9rem}
.inter{background:var(--card);padding:22px;border-radius:16px;text-align:center}.inter .big{font-family:Georgia,serif;font-size:1.5rem}
details{background:var(--card);padding:12px 16px;border-radius:12px;margin:8px 0}footer{max-width:620px;margin:0 auto;padding:20px;font-size:.85rem;color:var(--muted);border-top:1px solid #e8e1d6}
.back{background:none;border:0;color:var(--muted);cursor:pointer;padding:0}.err{color:#a14b3b}
