:root{
  --ink:#12261c; --body:#3d5148; --muted:#6b7f75;
  --accent:#1f6f43; --accent-dark:#144a2d;
  --bg:#ffffff; --bg-alt:#f4f8f5; --line:#dde6e0;
  --max:44rem;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--body);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.25rem}
header.site{border-bottom:1px solid var(--line); background:var(--bg); position:sticky; top:0; z-index:5}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.1rem; padding-bottom:1.1rem}
.brand{font-weight:700; color:var(--ink); font-size:1.05rem; letter-spacing:-.01em}
.brand span{color:var(--accent)}
nav a{margin-left:1.25rem; color:var(--body); font-size:.94rem}
h1{color:var(--ink); font-size:2.1rem; line-height:1.2; letter-spacing:-.02em; margin:0 0 .75rem}
h2{color:var(--ink); font-size:1.2rem; margin:2.25rem 0 .6rem; letter-spacing:-.01em}
h3{color:var(--ink); font-size:1rem; margin:1.5rem 0 .4rem}
p{margin:0 0 1rem}
ul{margin:0 0 1rem; padding-left:1.25rem}
li{margin:.3rem 0}
main{padding:3rem 0 4rem}
.lede{font-size:1.1rem; color:var(--muted); margin-bottom:2rem}
.hero{background:var(--bg-alt); border-bottom:1px solid var(--line); padding:4rem 0}
.hero h1{font-size:2.6rem}
.features{display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1.25rem; margin:2rem 0}
.feature{border:1px solid var(--line); border-radius:10px; padding:1.1rem 1.2rem; background:var(--bg)}
.feature h3{margin:0 0 .3rem}
.feature p{margin:0; font-size:.94rem; color:var(--muted)}
.updated{color:var(--muted); font-size:.9rem; margin-bottom:2rem}
.callout{border-left:3px solid var(--accent); background:var(--bg-alt); padding:.9rem 1.1rem; border-radius:0 8px 8px 0; margin:1.25rem 0}
.callout p{margin:0}
footer.site{border-top:1px solid var(--line); background:var(--bg-alt); padding:2rem 0; margin-top:3rem; font-size:.92rem; color:var(--muted)}
footer.site .wrap{display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:space-between}
footer.site a{color:var(--body)}
@media (max-width:34rem){
  h1{font-size:1.7rem} .hero h1{font-size:2rem} .hero{padding:2.75rem 0}
  nav a{margin-left:.9rem; font-size:.88rem}
}
