:root{--d:#0f2e1d;--g:#1F5C3A;--g2:#2E8B57;--l:#a8dcb8;--tint:#EEF6F0;--ink:#17261D;--mut:#4d6155}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,.logo{font-family:Fraunces,Georgia,serif;line-height:1.2;color:var(--g);margin:0}
h1{font-size:clamp(2.2rem,5.5vw,3.8rem);margin-bottom:.4em}h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:0 0 .5em}h3{font-size:1.2rem;margin-bottom:.4em}
a{color:var(--g2)}.in{max-width:1080px;margin:0 auto;padding:0 1.5rem}
header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid #d6e6db}
.hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding-top:.7rem;padding-bottom:.7rem}
.logo{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.35rem;text-decoration:none}.mark{width:38px;height:34px}
nav{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem 1.3rem}nav a:not(.btn){color:var(--ink);text-decoration:none;padding:.25rem 0;border-bottom:2px solid transparent}
nav a:not(.btn):hover,nav a[aria-current]:not(.btn){border-color:var(--g2);color:var(--g)}
.btn{display:inline-block;background:var(--g);color:#fff;padding:.7em 1.5em;border-radius:999px;text-decoration:none;font-weight:600;margin:.3em .4em .3em 0;border:2px solid var(--g);transition:background .2s,color .2s}
.btn:hover{background:var(--g2);border-color:var(--g2)}.btn.nb{padding:.4em 1.1em;margin:0}.btn.alt{background:#fff;color:var(--g)}.btn.alt:hover{background:var(--tint);color:var(--g)}
.btn.light{background:#fff;color:var(--d);border-color:#fff}.btn.light:hover{background:var(--l);border-color:var(--l)}.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.15)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--g2);outline-offset:3px}
.hero{background:radial-gradient(circle at 80% 30%,#2a7a4f 0,transparent 55%),linear-gradient(135deg,var(--d),var(--g));color:#fff;padding:4.5rem 0 5rem;overflow:hidden}
.hero h1,.phero h1{color:#fff}.hgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}.tag{margin:0 0 1rem;color:var(--l);font-weight:600}
.lead{font-size:1.2rem;max-width:34em;margin:0 0 1.2rem;opacity:.92}.venn{width:100%;max-width:400px;justify-self:center}
.c1{animation:a1 1.2s ease-out both}.c2{animation:a2 1.2s ease-out both}.c3{animation:a3 1.2s ease-out both}
@keyframes a1{from{transform:translate(45px,35px)}}@keyframes a2{from{transform:translate(-45px,35px)}}@keyframes a3{from{transform:translateY(-60px)}}
section>.in{padding-top:4rem;padding-bottom:4rem}.tint{background:var(--tint)}.sub{color:var(--mut);margin:-.3em 0 2rem}
.phero{background:radial-gradient(circle at 90% 120%,#2a7a4f 0,transparent 50%),linear-gradient(135deg,var(--d),var(--g));color:#fff}.phero .in{padding-top:3.5rem;padding-bottom:3.5rem}.phero h1{margin-bottom:.3em}.phero .lead{margin:0}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}
.card{background:#fff;border:1px solid #d6e6db;border-top:6px solid var(--g2);border-radius:12px;padding:1.5rem;box-shadow:0 6px 18px rgba(15,46,29,.07)}
.card.s1{border-top-color:var(--l)}.card.s2{border-top-color:var(--g2)}.card.s3{border-top-color:var(--g)}
.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;padding:0;margin:0 0 1.5rem}
.steps li{counter-increment:s;position:relative;padding:1.2rem 1.2rem 1.2rem 4rem;background:#fff;border-radius:12px;border:1px solid #d6e6db}
.steps li:before{content:counter(s);position:absolute;left:1rem;top:1.1rem;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font:700 1.1rem Fraunces,Georgia,serif}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;text-align:center}.stats b{display:block;font:700 3rem Fraunces,Georgia,serif;color:var(--g)}.stats span{color:var(--mut)}
.cta{background:linear-gradient(135deg,var(--g),var(--d));color:#fff;text-align:center}.cta h2{color:#fff}.cta p{max-width:32em;margin:0 auto 1.2rem;opacity:.92}
.two{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:start}.facts{background:var(--tint);border-left:6px solid var(--g2);border-radius:0 12px 12px 0;padding:1.5rem}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.2rem;margin:0}dt{font-weight:700;color:var(--g)}dd{margin:0;overflow-wrap:anywhere}.don dl{grid-template-columns:1fr;gap:0}.don dd{margin-bottom:.5rem}
.plist{display:grid;gap:1.5rem}.proj{display:grid;grid-template-columns:260px 1fr;gap:1.5rem;align-items:center;border:1px solid #d6e6db;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(15,46,29,.07)}
.proj .img{min-height:170px;height:100%;background:radial-gradient(circle at 30% 40%,var(--l) 0 22%,transparent 23%),radial-gradient(circle at 60% 50%,#5fb67f 0 22%,transparent 23%),var(--tint)}.proj>div:last-child{padding:1rem 1.5rem 1rem 0}
.todo{background:#fff3b0;outline:1px dashed #b8a000;padding:0 .3em;border-radius:3px;color:#3a3200}
footer{background:var(--d);color:#cfe3d6;font-size:.95rem}footer .in{padding-top:3rem;padding-bottom:3rem}footer .logo,footer h3{color:#fff}footer a{color:#cfe3d6;display:block;text-decoration:none}footer a:hover{color:#fff}footer p a{display:inline}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}footer h3{font-size:1.05rem}footer .logo{display:inline-flex}
@media(max-width:760px){.hgrid,.two,.fg,.proj{grid-template-columns:1fr}.proj>div:last-child{padding:0 1.2rem 1.2rem}dl{grid-template-columns:1fr}.hero{padding:3rem 0}}
@media(prefers-reduced-motion:reduce){.c1,.c2,.c3{animation:none}html{scroll-behavior:auto}}
