/* ProLogLab lead-magnet landings — extends styles.css (same tokens). */
.lm-hero{padding-block:44px 56px;display:grid;gap:36px}
.lm-hero h1{max-width:18ch}
.lm-lead{color:var(--muted);margin-top:20px;max-width:46ch;line-height:1.65;font-size:1.04rem}
.lm-points{list-style:none;margin-top:28px;display:grid;gap:14px}
.lm-points li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start;font-size:.96rem;line-height:1.55}
.lm-points li::before{content:"";width:12px;height:12px;margin-top:6px;background:var(--lime);border:2px solid var(--forest);border-radius:2px}
.lm-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px;font-size:.82rem;color:var(--muted)}
.lm-meta span{display:inline-flex;align-items:center;gap:8px}
.lm-meta span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--forest)}
.lm-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px 20px;align-self:start;box-shadow:0 1px 0 #0f1b1808}
.lm-card h2{font-size:1.35rem;letter-spacing:-.03em}
.lm-card__note{font-size:.86rem;color:var(--muted);margin-top:8px;line-height:1.55}
.lm-form{display:grid;gap:14px;margin-top:20px}
.lm-field{display:grid;gap:6px}
.lm-field label{font-size:.8rem;font-weight:600;color:var(--ink)}
.lm-field input,.lm-field select{font:inherit;font-size:.96rem;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--ivory);color:var(--ink);width:100%}
.lm-field input:focus-visible,.lm-field select:focus-visible{outline:3px solid var(--forest);outline-offset:1px;background:#fff}
.lm-row{display:grid;gap:14px}
.lm-consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;font-size:.78rem;color:var(--muted);line-height:1.5}
.lm-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--forest)}
.lm-form .button{width:100%;border:0;cursor:pointer}
.lm-form .button[disabled]{opacity:.6;cursor:progress}
.lm-error{font-size:.85rem;color:#8a2a1d;background:#fbe9e5;border:1px solid #e3b4aa;border-radius:3px;padding:10px 12px}
.lm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lm-detail{display:grid;gap:28px}
.lm-detail ol{list-style:none;display:grid;gap:0;counter-reset:lm}
.lm-detail ol li{counter-increment:lm;display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding-block:18px;border-top:1px solid var(--line)}
.lm-detail ol li::before{content:counter(lm);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--lime);color:var(--forest-dark);font-weight:700;font-size:.85rem}
.lm-detail ol li strong{display:block;color:var(--forest)}
.lm-detail ol li span{display:block;color:var(--muted);font-size:.94rem;margin-top:4px}
.lm-author{display:grid;gap:10px;padding:22px;border-left:4px solid var(--lime);background:#fff;border-radius:0 3px 3px 0}
.lm-author p{color:var(--muted);font-size:.94rem;line-height:1.65}
.lm-author strong{color:var(--ink)}
.lm-related{display:grid;gap:12px;margin-top:22px;list-style:none}
.lm-related a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:3px;text-decoration:none;background:#fff}
.lm-related a:hover{border-color:var(--forest)}
.lm-related strong{display:block;color:var(--forest);font-size:.98rem}
.lm-related span{display:block;color:var(--muted);font-size:.88rem;margin-top:4px}
.lm-thanks{padding-block:56px 72px;max-width:720px}
.lm-thanks .lm-lead{max-width:none}
.lm-steps{list-style:none;margin-top:30px;display:grid;gap:0}
.lm-steps li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding-block:18px;border-top:1px solid var(--line)}
.lm-steps li b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--lime);color:var(--forest-dark);font-size:.85rem}
.lm-steps li p{color:var(--muted);font-size:.95rem}
.lm-steps li strong{display:block;color:var(--ink);margin-bottom:2px}
.lm-cta{margin-top:34px;padding:24px;background:var(--forest-dark);color:var(--ivory);border-radius:4px;display:grid;gap:14px}
.lm-cta p{color:#f2f1eacc;font-size:.95rem;line-height:1.6}
.lm-cta .button{justify-self:start}
@media(min-width:640px){.lm-row{grid-template-columns:1fr 1fr}.lm-card{padding:30px 28px}}
@media(min-width:1024px){.lm-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;padding-block:72px 80px;align-items:start}.lm-detail{grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}.lm-card{position:sticky;top:24px}}
