@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap');
:root{--ink:#17201c;--muted:#5e6862;--paper:#fbfaf6;--line:#d9ddd5;--green:#135747;--lime:#dceaa8;--sand:#ece9df;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-decoration-color:rgba(19,87,71,.45);text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}a:hover{color:var(--green);text-decoration-color:var(--green)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.03}.wrap{width:min(1160px,calc(100% - 64px));margin:0 auto}.skip-link{position:fixed;left:12px;top:-50px;z-index:10;padding:8px 12px;background:var(--ink);color:#fff;transition:top .2s}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);position:sticky;z-index:5;top:0;background:rgba(251,250,246,.94);backdrop-filter:blur(12px)}.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between}.wordmark{text-decoration:none;font-weight:700;font-size:22px;letter-spacing:-.08em}.wordmark span{color:var(--green)}nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}nav a{text-decoration:none}.hero{min-height:640px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:80px;padding:76px 0}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--green);font-size:11px;font-weight:500;margin-bottom:17px}.hero h1{font-family:var(--serif);font-size:clamp(66px,8vw,110px);letter-spacing:-.075em;font-weight:600;margin-left:-7px}.hero-title{font-family:var(--serif);font-size:clamp(24px,3vw,37px);letter-spacing:-.04em;line-height:1.1;margin:25px 0 27px}.hero-title em{color:var(--green);font-weight:500}.intro{max-width:650px;color:#3d4841;font-size:18px;line-height:1.67}.hero-links{display:flex;flex-wrap:wrap;gap:8px 21px;margin-top:31px;font-size:14px;font-weight:600}.portrait-wrap{width:min(100%,360px);margin:0;position:relative;justify-self:end;padding:0 19px 19px 0}.portrait-wrap:after{content:'';position:absolute;z-index:-1;inset:20px 0 0 20px;background:var(--lime)}.portrait{width:100%;height:auto;display:block;filter:saturate(.88)}.portrait-wrap figcaption{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:12px;text-align:right}.research-intro{background:var(--ink);color:#f6f6ef;padding:70px 0 0}.section-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:100px}.section-grid .eyebrow{color:var(--lime)}h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,61px);font-weight:600;letter-spacing:-.06em}.section-lede{font-size:18px;line-height:1.67;color:#d9dfd8;padding-top:8px}.themes{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #46514b}.themes article{min-height:133px;padding:20px 20px 20px 0;border-right:1px solid #46514b}.themes article:not(:first-child){padding-left:20px}.themes article:last-child{border-right:0}.themes span{display:block;font-family:var(--mono);color:var(--lime);font-size:11px;margin-bottom:20px}.themes h3{font-size:16px;font-weight:500;line-height:1.35}.research-section{padding:89px 0 60px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading h2{font-size:59px}.section-heading>p{width:min(360px,35%);color:var(--muted);font-size:15px}.feature-project{display:grid;grid-template-columns:1.03fr .97fr;background:#fff;margin-bottom:38px}.feature-visual{min-height:400px;overflow:hidden;display:flex;align-items:center;justify-content:center}.feature-visual-groundinc{background:#e9eee1;padding:30px}.groundinc-diagram{width:100%;max-width:540px;border:1px solid #a8b49c;background:#f8f8f1;padding:31px;box-shadow:0 12px 25px rgba(20,30,20,.08)}.diagram-label{font-family:var(--serif);font-size:34px;letter-spacing:-.06em}.diagram-flow{margin:27px 0 24px;display:flex;align-items:center;gap:9px}.diagram-flow div{flex:1;min-height:112px;padding:13px;background:#fff;border-top:3px solid var(--green);display:flex;flex-direction:column}.diagram-flow span{font-family:var(--mono);font-size:10px;color:var(--green);margin-bottom:auto}.diagram-flow strong{font-size:12px;line-height:1.25}.diagram-flow small{font-size:10px;color:var(--muted);line-height:1.3;margin-top:7px}.diagram-flow i{font-style:normal;color:var(--green);font-size:17px}.diagram-note{font-size:12px;line-height:1.5;color:var(--muted)}.feature-visual-rag{padding:34px;background:#eaede4}.feature-visual-rag img{max-width:100%;max-height:285px;object-fit:contain;mix-blend-mode:multiply}.feature-body{padding:48px 50px 42px;display:flex;flex-direction:column;align-items:flex-start}.project-kicker{text-transform:uppercase;color:var(--green);font-family:var(--mono);font-size:10px;letter-spacing:.055em;margin-bottom:16px}.feature-body h3{font-family:var(--serif);font-size:44px;letter-spacing:-.055em}.project-subtitle{font-size:15px;color:var(--muted);margin:5px 0 23px}.feature-body>p:not(.project-kicker):not(.project-subtitle){color:#49534d;font-size:15px;line-height:1.63;margin-bottom:14px}.contribution-list{width:100%;border-top:1px solid var(--line);margin-top:2px}.contribution-list div{display:grid;grid-template-columns:77px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.contribution-list span{font-family:var(--mono);font-size:10px;color:var(--green)}.contribution-list p{font-size:12px;line-height:1.45;color:#49534d}.project-meta{margin-top:auto;width:100%;border-top:1px solid var(--line);padding-top:15px;display:flex;flex-wrap:wrap;gap:8px 21px;font-family:var(--mono);color:var(--muted);font-size:10px}.project-actions{margin-top:auto;border:1px solid var(--ink);padding:9px 14px;font-size:13px;font-weight:600}.project-actions a{text-decoration:none}.project-actions span{color:var(--green)}.feature-project-reverse .feature-visual{order:2}.feature-project-reverse .feature-body{order:1}.publications{padding:96px 0;background:var(--sand)}.publication-heading{margin-bottom:37px}.publication-heading h2{font-size:59px}.pub-group+.pub-group{margin-top:48px}.pub-group-label{font-family:var(--mono);font-size:11px;color:var(--green);letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}.publication-list{list-style:none;padding:0;margin:0;border-top:1px solid #cdd0c8}.publication-list li{display:grid;grid-template-columns:114px 1fr;border-bottom:1px solid #cdd0c8;padding:21px 0 22px}.pub-year{font-family:var(--mono);font-size:11px;color:var(--green);padding-top:5px}.pub-entry h3{font-size:16px;line-height:1.4;font-weight:600;max-width:850px}.pub-entry h3 a{text-decoration-color:#a2aaa0}.pub-entry p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:7px;max-width:850px}.pub-entry p strong{color:var(--ink);font-weight:600}.pub-entry .venue{font-family:var(--mono);color:var(--green);font-size:10px;letter-spacing:.02em;margin-top:7px}.background{display:grid;grid-template-columns:.8fr 1.1fr 1.1fr;gap:55px;padding:105px 0}.updates h2,.experience h2,.education h2{font-size:42px;margin-bottom:30px}.updates ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.updates li{display:grid;grid-template-columns:67px 1fr;gap:11px;padding:14px 0;border-bottom:1px solid var(--line);color:#48524c;font-size:13px}.updates time,.experience time,.education time{font-family:var(--mono);color:var(--green);font-size:10px;line-height:1.6}.experience-list,.education-list{border-top:1px solid var(--line)}.experience-list article,.education-list article{display:flex;justify-content:space-between;gap:22px;padding:15px 0;border-bottom:1px solid var(--line)}.experience-list h3,.education-list h3{font-size:15px;font-weight:600}.experience-list p,.education-list p{color:var(--muted);font-size:13px;margin-top:3px}.experience-list time,.education-list time{white-space:nowrap}footer{background:var(--ink);color:#bac3ba}.footer-wrap{padding:24px 0;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px}@media(max-width:920px){.wrap{width:min(100% - 40px,680px)}.hero{grid-template-columns:1fr;gap:42px;padding:60px 0}.hero-copy{max-width:650px}.portrait-wrap{width:min(100%,380px)}.section-grid,.background{grid-template-columns:1fr;gap:37px}.themes{grid-template-columns:repeat(3,1fr);margin-top:45px}.section-heading{align-items:start;flex-direction:column;gap:20px}.section-heading>p{width:auto;max-width:430px}.feature-project{grid-template-columns:1fr}.feature-visual{min-height:0;aspect-ratio:16/9}.feature-project-reverse .feature-visual{order:0}.feature-project-reverse .feature-body{order:1}.feature-body{padding:38px 34px}.background{padding:80px 0}.education{padding-top:7px}}@media(max-width:500px){.wrap{width:calc(100% - 32px)}.nav-wrap{height:62px}nav{gap:12px;font-size:11px}.hero{gap:31px;padding:44px 0 48px;min-height:0}.hero h1{font-size:66px}.hero-title{font-size:26px;margin:19px 0}.intro{font-size:16px}.portrait-wrap{width:min(86%,300px)}.research-intro{padding-top:55px}.section-lede{font-size:16px}.research-section{padding-top:68px}.section-heading h2,.publication-heading h2{font-size:45px}.themes{grid-template-columns:1fr;margin-top:37px}.themes article,.themes article:not(:first-child){min-height:108px;padding:16px 0;border-right:0;border-bottom:1px solid #46514b}.themes article:last-child{border-bottom:0}.themes span{margin-bottom:12px}.feature-visual{aspect-ratio:auto;min-height:270px}.feature-visual-groundinc{padding:16px}.groundinc-diagram{padding:22px}.diagram-flow{gap:5px;margin:21px 0}.diagram-flow div{min-height:95px;padding:8px}.diagram-flow strong{font-size:10px}.diagram-flow small{font-size:9px}.diagram-flow i{font-size:13px}.feature-visual-rag{padding:22px}.feature-body{padding:30px 23px}.feature-body h3{font-size:36px}.contribution-list div{grid-template-columns:1fr;gap:4px}.publications{padding:72px 0}.publication-list li{grid-template-columns:1fr;gap:7px}.pub-year{padding-top:0}.background{gap:59px}.footer-wrap{flex-direction:column;gap:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
