:root{
  --bg:#FFFEF9; --ink:#1A1A1A; --accent:#2A5434; --hair:rgba(26,26,26,0.12);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  max-width:640px; margin:0 auto; padding:18vh 40px;
  background:var(--bg); color:var(--ink);
  font:18px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1{font-size:28px; font-weight:700; letter-spacing:-0.2px; margin:0 0 14px}
h2{font-size:22px; font-weight:650; letter-spacing:-0.1px; margin:42px 0 12px}
p{margin:10px 0 16px}
.lede{font-size:20px; opacity:.9}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.rule{height:1px; background:var(--hair); margin:24px 0 32px}
.small{font-size:14px}
.kicker{letter-spacing:.6px; text-transform:uppercase; font-size:12px; opacity:.75; margin-bottom:8px}
.card{border:1px solid var(--hair); border-radius:12px; padding:16px 16px; background:#FFFFFF}
.stack > * + *{margin-top:12px}
footer{margin-top:56px; padding-top:14px; border-top:1px solid var(--hair); font-size:14px; opacity:.85}
@media (max-width:420px){ body{padding:12vh 20px} }