:root { --c-primary:#1a7e59; --c-text:#1f2933; --c-muted:#5f6b76; --c-bg:#f6f8f7; --c-border:#dde3e0; }
* { box-sizing: border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; color:var(--c-text); background:var(--c-bg); line-height:1.65; }
header.site { background:#fff; border-bottom:1px solid var(--c-border); }
header.site .inner, main, footer .inner { max-width:880px; margin:0 auto; padding:0 20px; }
header.site .inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; padding-top:12px; padding-bottom:12px; }
header.site .brand { font-weight:700; font-size:1.2rem; color:var(--c-primary); text-decoration:none; }
nav a { margin-right:16px; color:var(--c-text); text-decoration:none; font-size:.95rem; }
nav a:hover, nav a[aria-current] { color:var(--c-primary); text-decoration:underline; }
nav a.signin { background:var(--c-primary); color:#fff; padding:6px 14px; border-radius:6px; margin-right:0; }
main { padding-top:28px; padding-bottom:40px; }
main h1 { font-size:2rem; line-height:1.25; margin:0 0 8px; }
main h2 { margin-top:2rem; font-size:1.4rem; }
main h3 { margin-top:1.4rem; font-size:1.1rem; }
.lede { font-size:1.15rem; color:var(--c-muted); }
.card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:20px 0; }
.card { background:#fff; border:1px solid var(--c-border); border-radius:10px; padding:16px 18px; }
.card h3 { margin-top:0; }
.card a { color:var(--c-primary); }
figure { margin:24px 0; }
figure img { max-width:100%; height:auto; border:1px solid var(--c-border); border-radius:8px; background:#fff; }
figcaption { color:var(--c-muted); font-size:.9rem; margin-top:6px; }
details { background:#fff; border:1px solid var(--c-border); border-radius:8px; padding:12px 16px; margin:10px 0; }
summary { cursor:pointer; font-weight:600; }
.updated { color:var(--c-muted); font-size:.9rem; }
.cta { display:inline-block; background:var(--c-primary); color:#fff; padding:10px 20px; border-radius:8px; text-decoration:none; font-weight:600; }
a { color:var(--c-primary); }
footer { border-top:1px solid var(--c-border); background:#fff; padding:20px 0; color:var(--c-muted); font-size:.9rem; }
footer a { margin-right:14px; }
