:root{--bg: #f7f3ec;--bg-alt: #efe8da;--ink: #1a2a1f;--muted: #5a6a5c;--rule: #d9d2c1;--leaf: #3b5d3a;--leaf-deep: #2a4329;--bark: #5a3f2c;--accent: #c75c3d;--max: 1080px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:ui-serif,Iowan Old Style,Charter,Georgia,Times New Roman,serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--leaf-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent)}.container{max-width:var(--max);margin:0 auto;padding:0 28px}header.site{padding:28px 0 0}header.site .row{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Helvetica Neue,sans-serif;font-weight:600;font-size:18px;letter-spacing:.3px}.brand img{width:36px;height:36px;border-radius:8px}nav.site a{margin-left:22px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px;text-decoration:none;color:var(--muted)}nav.site a:hover{color:var(--leaf-deep)}.hero{padding:84px 0 56px}.eyebrow{font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--leaf);margin:0 0 18px}h1{font-size:clamp(38px,6vw,64px);line-height:1.05;margin:0 0 20px;letter-spacing:-.02em;color:var(--leaf-deep)}.lede{font-size:clamp(18px,2vw,22px);color:var(--ink);max-width:680px;margin:0 0 36px}.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;transition:transform .05s ease,background .15s ease}.btn-primary{background:var(--leaf-deep);color:var(--bg)}.btn-primary:hover{background:var(--ink);color:var(--bg)}.btn-ghost{border-color:var(--rule);color:var(--ink)}.btn-ghost:hover{border-color:var(--leaf-deep);color:var(--leaf-deep)}.btn:active{transform:translateY(1px)}.stats{margin:56px 0 0;padding:22px 26px;background:var(--bg-alt);border:1px solid var(--rule);border-radius:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;font-family:ui-sans-serif,system-ui,sans-serif}.stats[hidden]{display:none}.stat{text-align:left}.stat-num{font-family:ui-serif,Georgia,serif;font-size:clamp(28px,4vw,40px);font-weight:600;letter-spacing:-.01em;color:var(--leaf-deep);line-height:1}.stat-label{font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:8px}section{padding:72px 0;border-top:1px solid var(--rule)}section h2{font-size:clamp(28px,4vw,40px);letter-spacing:-.01em;color:var(--leaf-deep);margin:0 0 14px}section .kicker{font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--bark);margin:0 0 12px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px}.feature{padding:0}.feature h3{font-size:20px;margin:0 0 8px;color:var(--ink)}.feature p{font-size:16px;color:var(--muted);margin:0}.walkthrough{padding-bottom:92px}.walkthrough-head h2{margin:0;font-style:italic;letter-spacing:-.015em}.walkthrough-head .kicker{margin-bottom:12px}.walk-rail{list-style:none;margin:40px 0 0;padding:14px 28px 28px;display:flex;gap:24px;justify-content:safe center;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-inline:28px;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;-webkit-overflow-scrolling:touch}.walk-rail::-webkit-scrollbar{height:6px}.walk-rail::-webkit-scrollbar-track{background:transparent}.walk-rail::-webkit-scrollbar-thumb{background:var(--rule);border-radius:999px}.walk-card{flex:0 0 340px;scroll-snap-align:center;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--rule);border-radius:22px;padding:18px 18px 22px;position:relative;box-shadow:0 4px 14px #1a2a1f0f;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.walk-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px #1a2a1f24;border-color:var(--leaf)}.step-num{display:block;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:10.5px;letter-spacing:3px;color:var(--leaf);text-transform:uppercase;margin-bottom:12px;font-weight:600}.walk-img-wrap{border-radius:14px;overflow:hidden;background:var(--bg-alt);box-shadow:0 6px 18px #1a2a1f14;isolation:isolate}.walk-img-wrap img{display:block;width:100%;height:auto;aspect-ratio:725 / 900;object-fit:cover;border-radius:14px}.walk-card h3{font-family:ui-serif,Iowan Old Style,Charter,Georgia,serif;font-size:19px;font-weight:600;margin:18px 0 6px;color:var(--leaf-deep);letter-spacing:-.005em;line-height:1.25}.walk-card p{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14.5px;color:var(--muted);margin:0;line-height:1.5}@media(max-width:760px){.walk-rail{gap:16px}.walk-card{flex-basis:78vw;padding:16px 16px 20px}}.hub{background:var(--leaf-deep);color:#f7f3ec;padding:80px 0;border-top:none}.hub h2,.hub a{color:#f7f3ec}.hub p{color:#f7f3ecd9;max-width:720px;font-size:19px}.hub .pill{display:inline-block;font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#f7f3ec;padding:6px 12px;border:1px solid rgba(247,243,236,.55);border-radius:999px;margin-bottom:18px}.faq details{border-top:1px solid var(--rule);padding:22px 0}.faq details:last-of-type{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;list-style:none;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:600;font-size:17px;color:var(--ink);display:flex;justify-content:space-between;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:22px;color:var(--leaf);font-weight:400}.faq details[open] summary:after{content:"–"}.faq details>*:not(summary){margin-top:14px;color:var(--muted);font-size:17px}.prose{max-width:720px;padding:56px 0 72px}.prose h1{font-size:clamp(34px,5vw,48px);margin-bottom:8px}.prose .eyebrow{margin-bottom:12px}.prose h2{font-size:24px;margin-top:44px;margin-bottom:12px;color:var(--leaf-deep)}.prose h3{font-size:18px;margin-top:28px;margin-bottom:6px;font-family:ui-sans-serif,system-ui,sans-serif;color:var(--ink)}.prose p,.prose li{color:var(--ink)}.prose ul{padding-left:22px}.prose li{margin-bottom:8px}.prose .meta{font-family:ui-sans-serif,system-ui,sans-serif;font-size:13px;color:var(--muted);margin-top:-4px}.callout{background:var(--bg-alt);border:1px solid var(--rule);border-radius:14px;padding:22px 26px;margin:28px 0}.callout strong{color:var(--leaf-deep)}.contact{padding:72px 0}.contact .kicker{margin:0 0 14px}.contact-lede{font-size:17px;color:var(--ink);max-width:560px;margin:0 0 28px}.contact{text-align:center}.contact .kicker,.contact-lede{margin-left:auto;margin-right:auto}.contact-form{width:100%;max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:26px;text-align:left}.contact-form .form-row{justify-content:center}.contact-form .field{display:flex;flex-direction:column;gap:8px}.contact-form label{font-family:ui-serif,Iowan Old Style,Charter,Georgia,serif;font-size:14px;font-style:italic;color:var(--bark);letter-spacing:0;text-transform:none;font-weight:400}.contact-form input,.contact-form textarea{font-family:ui-serif,Iowan Old Style,Charter,Georgia,serif;font-size:17px;color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--rule);border-radius:0;padding:6px 0 8px;transition:border-color .18s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.7}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-bottom-color:var(--leaf-deep);border-bottom-width:2px;padding-bottom:7px}.contact-form textarea{resize:vertical;min-height:110px;line-height:1.55;padding:10px 0 12px}.contact-form .honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.contact-form .form-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}.contact-form button[type=submit]{cursor:pointer;border:none}.contact-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.form-status{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--muted);min-height:1.4em}.form-status--ok{color:var(--leaf-deep)}.form-status--err{color:var(--accent)}.hub-cta{margin-top:28px}.btn-cream{background:#f7f3ec;color:#2a4329;cursor:pointer}.btn-cream:hover{background:#fff;color:#2a4329}.subscribe-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:calc(100% - 32px);max-width:520px;max-height:calc(100vh - 64px);overflow:auto;padding:40px 32px 32px;background:var(--bg);color:var(--ink);border:1px solid var(--rule);border-radius:18px;box-shadow:0 30px 80px #1a2a1f40}.subscribe-dialog:not([open]){display:none}.subscribe-dialog::backdrop{background:#1a2a1f80}.subscribe-dialog .kicker{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--bark);margin:0 0 10px}.subscribe-dialog h2{font-size:clamp(22px,3.5vw,28px);line-height:1.2;letter-spacing:-.01em;color:var(--leaf-deep);margin:0 0 24px}.subscribe-dialog .contact-form{gap:22px}.dialog-close{position:absolute;top:10px;right:12px;width:36px;height:36px;border:none;background:transparent;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.dialog-close:hover{background:var(--bg-alt);color:var(--ink)}html.modal-open,html.modal-open body{overflow:hidden}.grant{background:var(--bg-alt);padding:64px 0;border-top:1px solid var(--rule)}.grant-grid{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center}.grant-logos{display:flex;gap:36px;align-items:center;flex-shrink:0}.grant-logos a{display:inline-block;line-height:0}.grant-logos img{display:block;height:auto}.grant-logos img.nifa{width:60px}.grant-logos img.sare{width:124px}.grant-logos img.nsf{width:96px}.grant-text{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--ink);line-height:1.6;max-width:640px}.grant-text p{margin:0 0 10px}.grant-text .kicker{margin:0 0 10px;color:var(--leaf)}.grant-text strong{color:var(--leaf-deep);font-weight:600}.grant-disclaimer{font-size:12.5px;color:var(--muted);font-style:italic;margin-top:14px!important}@media(max-width:760px){.grant{padding:48px 0}.grant-grid{grid-template-columns:1fr;gap:24px}.grant-logos{gap:28px}.grant-logos img.nifa{width:50px}.grant-logos img.sare{width:102px}.grant-logos img.nsf{width:80px}}footer.site{background:var(--bg-alt);border-top:1px solid var(--rule);padding:36px 0 56px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:14px;color:var(--muted)}footer.site .row{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}footer.site nav a{color:var(--muted);text-decoration:none;margin-right:22px}footer.site nav a:hover{color:var(--leaf-deep)}@media(max-width:720px){.features,.stats{grid-template-columns:1fr}nav.site a{margin-left:14px}.hero{padding:56px 0 24px}section{padding:56px 0}}@media(prefers-color-scheme:dark){:root{--bg: #14110d;--bg-alt: #1d1a14;--ink: #ece6d6;--muted: #9aa39b;--rule: #2c2823;--leaf: #88b387;--leaf-deep: #b9d3b6;--bark: #c79d76;--accent: #e88766}.btn-primary{background:var(--leaf-deep);color:#14110d}.btn-primary:hover{background:var(--ink);color:#14110d}.hub{background:#1d2a1c}.contact-form input,.contact-form textarea{display:block;width:100%;box-sizing:border-box;min-height:48px;background:#ffffff0d;border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:12px 14px}.contact-form input:focus,.contact-form textarea:focus{outline:none;background:#ffffff14;border:1px solid var(--leaf-deep);border-bottom-width:1px;padding:12px 14px}.contact-form textarea{padding:12px 14px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted)}}
