@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#17251f;--muted:#617069;--cream:#f3f1e9;--lime:#d3ed89;--line:#d4d9ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #83a746;outline-offset:4px}.header{height:100px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#111f1a;color:#f4f4ec;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:11px;font-size:10px;line-height:1.15;font-weight:700;letter-spacing:.13em}.mark{display:grid;place-items:center;width:42px;height:42px;font-size:36px;line-height:1;color:var(--lime)}.dot{color:#bedf77}.header nav{display:flex;align-items:center;gap:38px;font-size:12px;font-weight:600}.header nav>a:not(.nav-contact){color:#d6e0d8;transition:color .2s}.header nav>a:hover{color:var(--lime)}.nav-contact{border:1px solid #c8d5c6;padding:15px 20px;transition:background .2s,color .2s}.nav-contact:hover{background:var(--lime);color:#17251f!important}.nav-contact span{margin-left:25px}.hero{min-height:700px;display:grid;grid-template-columns:1fr 1fr;position:relative;padding:0 6% 68px;background:#111f1a;color:#f4f4ec;overflow:hidden}.hero-copy{padding-top:100px;padding-bottom:55px;z-index:1}.eyebrow{font-size:10px!important;letter-spacing:.16em;font-weight:700;color:#526459;text-transform:uppercase;line-height:1.6}.hero .eyebrow{color:#b1c9b2}.pulse{display:inline-block;background:#cce78e;width:7px;height:7px;border-radius:50%;margin-right:8px}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:25px 0}h1{font-size:clamp(65px,6.7vw,108px);line-height:.99}h1 em{font-weight:400;color:#cce79b}h2{font-size:clamp(48px,5vw,76px)}h2 em{font-weight:400;color:#5c745c}.hero-lead{max-width:420px;color:#becdc0;font-size:16px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.button{background:var(--lime);color:#17251f;padding:19px 22px;display:inline-flex;gap:45px;align-items:center;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#e4f5b7;transform:translateY(-2px)}.text-link{font-size:12px;font-weight:700;color:#e7eee6}.text-link span{margin-left:15px}.hero-art{position:relative;overflow:hidden;margin:30px -7vw 25px 0;background:#1b3026 url('assets/hero.png') center/cover no-repeat;min-height:520px}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111f1a 0%,transparent 35%,transparent 80%,#111f1a33 100%);pointer-events:none}.orbit{position:absolute;border:1px solid #97af8d55;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%)}.o1{width:340px;height:340px}.o2{width:490px;height:490px}.o3{width:640px;height:640px}.planet{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);border-radius:50%;width:220px;height:220px;background:#b7d494;display:grid;place-items:center;color:#183228;font-size:105px;box-shadow:20px 25px 90px #0008}.art-label,.art-index{position:absolute;z-index:1;font-size:9px;font-weight:700;letter-spacing:.12em;line-height:1.7;color:#dce8d8}.art-label{left:25px;bottom:22px}.art-label span{margin-left:15px}.art-index{right:7vw;top:25px}.hero-bottom{position:absolute;bottom:23px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#91a798}.section{padding:125px 6%}.intro{display:grid;grid-template-columns:1fr 2fr;background:#e2e9da}.intro h2{max-width:830px}.intro p:not(.eyebrow),.section-top>p,.capabilities>div>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted);max-width:570px}.intro p:not(.eyebrow){font-size:18px;max-width:650px}.featured{background:#f3f1e9}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-top h2{margin-bottom:0}.section-top>p{max-width:320px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{background:#e6e9df;display:flex;flex-direction:column;min-width:0}.feature-card.primary{background:#dce7d2}.card-meta{display:flex;justify-content:space-between;padding:20px 22px;font-size:11px;letter-spacing:.14em;font-weight:700}.card-graphic{height:260px;margin:0 12px;position:relative;overflow:hidden;display:flex;align-items:end;padding:22px;font-size:10px;letter-spacing:.15em;font-weight:700}.card-graphic>span{position:relative;z-index:1}.graphic-one{background:#294339;color:#d9edc5}.graphic-two{background:#c9d7be;color:#2a4435}.graphic-three{background:#bbcbac;color:#2a4435}.rings{position:absolute;right:-45px;top:-75px;font-size:300px;color:#799a73;line-height:1}.graph-lines{position:absolute;width:260px;height:260px;border:1px solid #849e81;border-radius:50%;right:15px;top:-70px;box-shadow:0 0 0 35px #c9d7be,0 0 0 36px #849e81,0 0 0 70px #c9d7be,0 0 0 71px #849e81}.blocks{position:absolute;right:25px;top:-45px;font-size:240px;color:#728f70;font-weight:400}.card-body{padding:30px 25px 34px;display:flex;flex-direction:column;flex:1}.tagline{font-size:11px;line-height:1.5;letter-spacing:.14em;font-weight:700;color:#687d6b}h3{font-size:23px;letter-spacing:-.035em;margin:15px 0}.card-body h3{font-family:'DM Serif Display',Georgia,serif;font-size:34px;font-weight:400;line-height:1.05}.card-body>p:not(.tagline),.people-grid p{color:#53675a;font-size:14px;line-height:1.75}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:25px}.chips span{border:1px solid #bac9b6;padding:8px 10px;font-size:9px;letter-spacing:.03em}.portfolio{background:#faf9f3}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}.filters button{cursor:pointer;background:transparent;border:1px solid #c5cfc2;border-radius:30px;padding:11px 17px;font-size:11px;color:var(--ink);transition:background .2s,color .2s}.filters button:hover,.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.project-list{border-bottom:1px solid var(--line)}.project-list article{border-top:1px solid var(--line);padding:27px 12px;display:grid;grid-template-columns:70px 1fr auto;align-items:start;gap:15px;transition:background .2s}.project-list article:hover{background:#edf1e8}.project-list article[hidden]{display:none}.project-list article>span,.project-list b{font-size:10px;letter-spacing:.1em;color:#718479;padding-top:5px}.project-list h3{margin:0 0 8px;font-size:21px}.project-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.capabilities{background:#1b3026;color:#f2f3ea;display:grid;grid-template-columns:1fr 1fr;gap:10%}.capabilities .eyebrow{color:#a9c3a7}.capabilities h2 em{color:#b8d493}.capabilities>div>p:not(.eyebrow){color:#b9cabe}.cap-list>div{display:grid;grid-template-columns:40px 1fr;column-gap:15px;border-top:1px solid #82978a;padding:24px 0}.cap-list span{font-size:10px;color:#b2c8af}.cap-list h3{font-size:21px;margin:0}.cap-list p{grid-column:2;color:#b1c4b5;font-size:13px;line-height:1.7}.people{background:#e6eadf}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.people-grid article{border-top:1px solid #bdcabe;padding:30px 0;max-width:520px}.initial{display:grid;place-items:center;background:#d1deca;width:64px;height:64px;border-radius:50%;font-family:Georgia,serif;font-size:19px}.people-grid h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:30px}.people-grid a{display:inline-block;margin-top:10px;border-bottom:1px solid #6d8473;padding-bottom:5px;font-size:12px;font-weight:700}.contact{background:#cbe699;color:#17251f;position:relative;overflow:hidden;min-height:510px}.contact .eyebrow{color:#425a3d}.contact h2{font-size:clamp(60px,7vw,100px)}.contact h2 em{color:#587f55}.contact>p:not(.eyebrow){color:#425d46}.contact .light{background:#182a20;color:#fff;margin-top:25px}.contact-orbit{position:absolute;right:12%;top:5%;font-size:350px;color:#b1d77f;line-height:1}footer{padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#111f1a;color:#eff4ea}footer p,footer>span,footer>a:last-child{font-size:10px;color:#a0b4a3;letter-spacing:.08em}@media(max-width:760px){.header{height:auto;min-height:82px;padding:18px 5%;gap:20px}.header nav{column-gap:13px;row-gap:2px;font-size:11px;flex-wrap:wrap;justify-content:end}.header nav>a{display:inline-flex;align-items:center;min-height:40px}.nav-contact{padding:9px}.nav-contact span{margin-left:8px}.hero{grid-template-columns:1fr;padding:0 5% 55px}.hero-copy{padding:65px 0 15px}h1{font-size:clamp(53px,12vw,75px)}.hero-art{min-height:340px;margin:35px -5.6% 20px}.hero-bottom span:last-child{display:none}.section{padding:78px 5%}.intro,.capabilities{grid-template-columns:1fr;gap:25px}.section-top{display:block}.section-top>p{max-width:100%;margin-top:20px}.feature-grid{grid-template-columns:1fr}.card-graphic{height:220px}.people-grid{grid-template-columns:1fr}.project-list article{grid-template-columns:30px 1fr}.project-list b{grid-column:2}.contact-orbit{opacity:.35;right:-100px;font-size:250px}.contact>*:not(.contact-orbit){position:relative;z-index:1}footer{flex-wrap:wrap}footer p{display:none}}

.hero-art .orbit,.hero-art .planet{display:none}
.hero-art .orbit,.hero-art .planet{display:none}
.feature-card h3 a,.project-list h3 a{text-decoration:none}.feature-card h3 a:hover,.project-list h3 a:hover{text-decoration:underline;text-underline-offset:5px}.feature-card h3 a:focus-visible,.project-list h3 a:focus-visible{outline:3px solid #90b84b;outline-offset:5px}
.impact-feature{margin-top:18px;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#203b2d;color:#f3f5ed;transition:background .2s}.impact-feature:hover{background:#2b4a37}.impact-feature .eyebrow{color:#b8d3a8}.impact-feature h3{font:400 clamp(34px,3.6vw,54px)/1.08 'DM Serif Display',Georgia,serif;letter-spacing:-.03em;margin:20px 0 0}.impact-feature h3 span{font:400 25px 'DM Sans',sans-serif;color:#cce78e}.impact-feature>div:last-child{align-self:end;max-width:470px}.impact-feature>div:last-child p{font-size:15px;line-height:1.8;color:#d5e1d2}.impact-link{display:inline-block;margin-top:16px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#d3ed89}@media(max-width:760px){.impact-feature{grid-template-columns:1fr;gap:5px;padding:30px}}
.exploration{margin-top:110px;padding-top:45px;border-top:1px solid #b9c8ba}.exploration-heading{max-width:560px;margin-bottom:34px}.exploration-heading h3{font:400 clamp(32px,3vw,46px)/1.1 'DM Serif Display',Georgia,serif;letter-spacing:-.03em}.exploration-heading>p:last-child{color:var(--muted);font-size:14px;line-height:1.7}.exploration-list article{grid-template-columns:38px 1fr auto;padding:18px 12px}.exploration-list h3{font-size:16px}.exploration-list p{font-size:12px}.exploration-list b{font-size:9px}@media(max-width:760px){.exploration{margin-top:70px}.exploration-list article{grid-template-columns:25px 1fr}.exploration-list b{grid-column:2}}
.experience-strip{background:#f3f1e9;padding:28px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid #d4d9ce}.experience-strip span{font-size:9px;letter-spacing:.14em;color:#718479;font-weight:700}.experience-strip a{font-size:12px;font-weight:700;white-space:nowrap}.experience-strip a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.experience-strip{padding:25px 5%;justify-content:flex-start;gap:18px 25px}.experience-strip span{flex-basis:100%}}

/* Maintain readable contrast for small labels across portfolio surfaces. */
.experience-strip span,.project-list article>span,.project-list b{color:#53665a}.tagline{color:#506755}.intro p:not(.eyebrow),.people .section-top>p{color:#53675a}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover{transform:none}}
.grant-experience{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#dce8d3}.grant-experience h2{font-size:clamp(45px,4.5vw,70px)}.grant-copy{align-self:center;max-width:580px}.grant-copy p{font-size:16px;line-height:1.8;color:#435b4b}.grant-copy a{display:inline-block;margin-top:20px;border-bottom:1px solid #597c53;padding-bottom:8px;font-size:12px;font-weight:700}@media(max-width:760px){.grant-experience{grid-template-columns:1fr;gap:15px}}
.graphic-terminal{background:#243b33;color:#e5f1d9}.graphic-wheelhouse{background:#c2d0bd;color:#203d2d}.graphic-conformii{background:#b8c9a8;color:#203c2d}.product-visual{position:absolute;inset:0;overflow:hidden}.terminal-visual{display:flex;align-items:flex-end;gap:12px;padding:35px 25px 50px}.terminal-visual i{display:block;width:19%;height:62%;border:1px solid #a2bd90;background:linear-gradient(0deg,#73916c66,transparent)}.terminal-visual i:nth-child(2){height:82%}.terminal-visual i:nth-child(3){height:45%}.terminal-visual i:nth-child(4){height:70%}.wheelhouse-visual i{position:absolute;width:80%;height:1px;background:#6e8c74;transform:rotate(-30deg);left:24%;top:35%}.wheelhouse-visual i:nth-child(2){top:55%}.wheelhouse-visual i:nth-child(3){top:75%}.conformii-visual{display:grid;place-items:center}.conformii-visual i{position:absolute;width:200px;height:200px;border:1px solid #6a8b69;transform:rotate(45deg)}.conformii-visual i:nth-child(2){width:140px;height:140px}.conformii-visual i:nth-child(3){width:80px;height:80px}
.inline-link{display:inline-block;margin-top:8px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.filter-label{margin:0 0 12px;color:#485e4d;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.read-case{align-self:flex-start;margin-top:15px;padding:6px 0;border-bottom:1px solid #789279;font-size:11px;font-weight:700}.read-case span[aria-hidden]{margin-left:8px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Keep the full opening message and actions visible on shorter desktop displays. */
@media (min-width:761px) and (max-height:950px){.hero{min-height:calc(100svh - 100px);padding-bottom:52px}.hero-copy{padding-top:clamp(32px,7vh,66px);padding-bottom:25px}.hero h1{font-size:clamp(48px,min(6vw,10.5vh),95px);margin:18px 0}.hero-lead{font-size:15px;line-height:1.6}.hero-actions{margin-top:22px}.hero-art{min-height:0;margin-top:22px;margin-bottom:15px}}
@media (min-width:761px){.hero{min-height:calc(100svh - 100px)}}
.people-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.people-grid article{max-width:none}.approach-link{display:inline-block;margin-top:15px;padding-bottom:7px;border-bottom:1px solid #b8d493;color:#eaf2e7;font-size:12px;font-weight:700}@media(max-width:760px){.people-grid{grid-template-columns:1fr;gap:0}}
.people-grid .person-linkedin{margin-left:20px}.contact-form{position:relative;z-index:1;max-width:640px;margin-top:32px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;margin:16px 0 8px;color:#203c2c;font-size:12px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid #809d73;background:#f5f8eb;color:#17251f;padding:13px;font:inherit;border-radius:0}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #294c32;outline-offset:2px}.contact-form .light{border:0;cursor:pointer;margin-top:16px}.contact .contact-form .contact-note{font-size:12px;color:#425d46;line-height:1.6;margin-top:14px}@media(max-width:500px){.contact-fields{grid-template-columns:1fr;gap:0}.people-grid .person-linkedin{margin-left:18px}}
.contact-form button:disabled{cursor:not-allowed;opacity:.65}
.card-body .program-funding{margin:10px 0 0;color:#3e5545;font-size:12px}.program-funding strong{font-size:19px;color:#17251f}
