:root{color-scheme:light;--paper:#f6f5f1;--ink:#253c35;--muted:#626b65;--line:#dce0d8;--green:#29644b}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--green);outline-offset:6px}header,main,footer{max-width:1100px;margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:28px 0 40px}.brand{display:flex;align-items:center;gap:11px;font-weight:650;font-size:15px}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:var(--ink);color:white;font-family:Georgia,serif;font-size:25px}.profile-link{font-size:13px}.profile-link span{margin-left:10px}.intro{display:grid;grid-template-columns:1.6fr 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.intro-copy{padding:45px 43px}.eyebrow,.category{font-size:10px;letter-spacing:1.7px;font-weight:700}.eyebrow{color:var(--green);margin:0 0 20px}h1{font-size:clamp(30px,4vw,44px);letter-spacing:-1.8px;line-height:1.13;margin:0 0 14px}.accent{color:#729778}.lead{font-size:22px;letter-spacing:-.4px;margin:0 0 17px}.bio{font-size:15px;line-height:1.8;color:var(--muted);max-width:460px;margin:0}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.tags span{font-size:11px;padding:7px 11px;border:1px solid var(--line);border-radius:6px}.notes{background:#edf1e7;padding:29px 34px;display:flex;flex-direction:column;justify-content:center}.note-symbol{font-size:37px;line-height:1;color:#688763;margin-bottom:17px}.notes h2{font-size:17px;margin:0 0 9px}.notes p{font-size:13px;line-height:1.75;margin:5px 0;color:#50614f}.notes .personal-note{border-top:1px solid #d5decd;padding-top:15px;margin-top:15px}.projects{margin:37px 0 40px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-heading h2{font-size:19px;font-weight:600;letter-spacing:-.4px;margin:0}.section-heading>span{font-size:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-card{padding:25px 28px 21px;border:1px solid var(--line);border-radius:15px;background:#fff;display:flex;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s}.project-card:hover{transform:translateY(-3px);border-color:#8aa58f;box-shadow:0 8px 22px #253c350a}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.category{color:var(--green);font-size:9px}.arrow{font-size:19px;color:#73947c}.project-card h3{font-size:20px;letter-spacing:-.6px;margin:0 0 10px;font-weight:600}.project-card p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 23px;max-width:400px}.card-bottom{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #edf0e9;font-size:10px}.card-bottom>span:first-child{color:var(--muted)}.card-bottom>span:last-child{white-space:nowrap;color:var(--green)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0 30px;font-size:11px;color:var(--muted)}footer span span{padding:0 8px;color:#a3aca3}footer a:hover,.profile-link:hover{text-decoration:underline}@media(max-width:1160px){header,main,footer{margin-left:28px;margin-right:28px}}@media(max-width:680px){header,main,footer{margin-left:18px;margin-right:18px}.site-header{padding:23px 0 27px}.intro{grid-template-columns:1fr}.intro-copy{padding:30px 25px}.notes{padding:24px 25px}.note-symbol{display:none}.project-grid{grid-template-columns:1fr}.project-card{padding:23px}.projects{margin-top:29px}.section-heading>span{font-size:10px}footer{gap:18px;flex-direction:column}h1{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}}

/* The original paper, forest-green, and sage palette is retained. */
html{scroll-behavior:smooth;scroll-padding-top:30px}body{line-height:1.6}.site-header nav{display:flex;gap:28px;font-size:12px;color:var(--muted)}nav a:hover,.text-link:hover{color:var(--green);text-decoration:underline}.site-header{padding-bottom:28px}.intro-copy{padding:48px 42px}.intro{grid-template-columns:1.65fr 1fr}h1{font-size:clamp(32px,4vw,49px)}.lead{font-size:25px;line-height:1.4}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:11px 16px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#edf1e7;transform:translateY(-2px)}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover{background:var(--ink)}.notes{padding:30px}.note-heading{display:flex;justify-content:space-between;align-items:center}.note-heading .eyebrow{font-size:9px;margin:0}.note-symbol{margin:0;font-size:35px}.signal{margin:27px 0 25px}.signal svg{width:100%;display:block}.signal-grid{stroke:#d6dfcf;stroke-width:.7}.signal-line{stroke:#688763;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:500;stroke-dashoffset:500;animation:trace 2s .3s ease forwards}.notes h2{line-height:1.4;font-size:18px}.small-note{color:#64735f;font-size:10px;margin-top:17px}.education-strip{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:center;gap:28px;padding:29px 8px;border-bottom:1px solid var(--line)}.education-strip .eyebrow{font-size:9px;margin:0}.education-strip h2{font-size:16px;margin:5px 0 2px}.education-strip p{font-size:12px;color:var(--muted);margin:0}.education-detail{display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--line);padding-left:28px}.education-detail>span{font-size:11px;color:var(--muted)}.education-detail strong{font-size:23px;font-weight:500}.education-detail small{font-size:11px;color:var(--muted)}.scholarship{display:flex;align-items:center;gap:14px}.scholarship p{color:var(--ink);font-size:12px}.scholarship p span{display:block;font-size:11px;color:var(--muted)}.award-mark{font-size:35px;color:#688763}.section{margin:64px 0}.section-heading{align-items:flex-end;margin-bottom:25px;gap:15px}.section-heading .eyebrow{font-size:9px;margin-bottom:8px}.section-heading h2,.experience-intro h2,.toolbox h2{font-size:27px;letter-spacing:-.8px;font-weight:550;line-height:1.25}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.research-card{background:white;border:1px solid var(--line);border-radius:15px;padding:23px;display:flex;flex-direction:column}.index{font-family:Georgia,serif;font-size:23px;color:#879783}.research-card .card-top{margin-bottom:16px}.status{align-self:flex-start;background:#edf1e7;color:#486341;font-size:9px;padding:5px 8px;border-radius:5px;line-height:1.5}.ongoing{background:#f4f3ed;color:#67674f}.research-card h3{font-size:23px;font-weight:550;letter-spacing:-.7px;margin:16px 0 1px}.research-card p{font-size:12px;color:var(--muted);line-height:1.8}.research-card .subtitle{font-size:11px;margin:0 0 10px;color:var(--green)}.metric{margin-top:auto;padding:19px 0;border-top:1px solid #edf0e9}.metric strong{display:block;font-weight:500;font-size:35px;letter-spacing:-1.4px;line-height:1.4}.metric small{font-size:16px}.metric>span{font-size:10px;color:var(--muted);display:block;line-height:1.7}details{border-top:1px solid #edf0e9;padding:12px 0;font-size:11px}summary{cursor:pointer;color:var(--green);list-style-position:outside;margin-left:12px}details p{margin-bottom:0}.research-card .card-bottom{margin-top:5px;font-size:9px}.card-bottom a{color:var(--green)}.card-bottom a:hover{text-decoration:underline}.experience-section{display:grid;grid-template-columns:1fr 1.8fr;gap:70px;border-top:1px solid var(--line);padding-top:45px}.experience-intro .eyebrow{font-size:9px}.experience-intro h2{margin:0 0 18px}.experience-intro>p:not(.eyebrow){font-size:13px;color:var(--muted)}.text-link{font-size:12px;color:var(--green)}.timeline{border-left:1px solid #ced7c9;margin-left:5px;padding-left:27px}.timeline-item{position:relative;padding-bottom:29px}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:'';position:absolute;left:-32px;top:8px;width:9px;height:9px;background:#789372;border:2px solid var(--paper);border-radius:50%}.timeline-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.timeline-heading h3{font-size:16px;margin:0;font-weight:600}.timeline-heading span{font-size:10px;color:var(--muted);white-space:nowrap}.timeline-item p{font-size:12px;color:var(--muted);margin:9px 0}.timeline-item .role{color:var(--green);font-size:11px;margin-top:2px}.timeline-item .tags{margin-top:12px}.tags span{font-size:10px;padding:5px 9px}.project-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}button{font:inherit;cursor:pointer;color:inherit}.project-filters button{border:1px solid var(--line);border-radius:20px;padding:7px 14px;font-size:11px;background:transparent;transition:background .2s}.project-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.project-card{position:relative;overflow:hidden}.project-card:hover .arrow{transform:translate(3px,-3px)}.arrow{transition:transform .2s}.project-card:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(280px circle at var(--pointer-x,50%) var(--pointer-y,50%),#dce8d74d,transparent 75%);opacity:0;transition:opacity .3s}.project-card:hover:before{opacity:1}.project-card>*{position:relative}.more-projects{display:inline-block;margin-top:20px}.toolbox{display:grid;grid-template-columns:1fr 2fr;gap:35px;border-top:1px solid var(--line);padding-top:35px}.toolbox .eyebrow{font-size:9px;margin-bottom:8px}.toolbox h2{margin:0}.skill-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.skill-groups h3{font-size:12px;margin:0 0 9px}.skill-groups p{font-size:11px;line-height:1.9;color:var(--muted);margin:0}.contact{padding:31px 35px;background:#edf1e7;border:1px solid #dbe3d4;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:45px}.contact .eyebrow{font-size:9px;margin-bottom:9px}.contact h2{font-size:23px;font-weight:550;letter-spacing:-.6px;margin:0}.contact p:not(.eyebrow){font-size:12px;color:var(--muted);margin:8px 0 0}.contact .button{white-space:nowrap}footer>div{display:flex;gap:25px}#motion-toggle{padding:0;border:0;background:none;font-size:11px;color:var(--muted)}#motion-toggle:hover{text-decoration:underline}.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:#729778;transform:scaleX(0);transform-origin:left;z-index:10}button:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:10px 18px;z-index:20}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@keyframes trace{to{stroke-dashoffset:0}}html[data-reduced-motion=true]{scroll-behavior:auto}html[data-reduced-motion=true] *,html[data-reduced-motion=true] *:before{animation:none!important;transition:none!important}.signal-line{stroke-dashoffset:0}html[data-reduced-motion=true] .project-card:hover,html[data-reduced-motion=true] .button:hover{transform:none}
@media(min-width:681px) and (max-width:950px){.research-grid{grid-template-columns:1fr}.research-card{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.research-card .card-top,.research-card details,.research-card .card-bottom{grid-column:1/-1}.research-card h3{grid-column:1}.research-card .subtitle{grid-column:1}.research-card .metric{grid-column:2;grid-row:3/6}.experience-section{gap:30px}.education-strip{grid-template-columns:1.3fr 1fr}.scholarship{grid-column:1/-1}.toolbox{grid-template-columns:1fr}.intro-copy{padding:30px}}
@media(max-width:680px){.site-header{flex-wrap:wrap;gap:18px}.site-header nav{order:3;width:100%;gap:25px;padding-top:12px;border-top:1px solid var(--line)}.intro{grid-template-columns:1fr}.intro-copy{padding:30px 25px}.lead{font-size:22px}.notes{padding:25px}.note-symbol{display:block}.signal{margin:17px 0;max-width:320px}.education-strip{grid-template-columns:1fr;gap:20px;padding:25px 6px}.education-detail{border:0;padding:0;flex-direction:row;justify-content:space-between;align-items:center}.scholarship{border-top:1px solid var(--line);padding-top:14px}.section{margin:43px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading h2,.experience-intro h2,.toolbox h2{font-size:25px}.research-grid,.experience-section,.toolbox{grid-template-columns:1fr}.experience-section{gap:25px;padding-top:30px}.timeline-heading{flex-direction:column;gap:0}.skill-groups{grid-template-columns:1fr;gap:22px}.contact{padding:25px;align-items:flex-start;flex-direction:column}.contact h2{font-size:23px}.hero-actions .button{font-size:11px}.research-card{padding:24px}.research-card .card-bottom{font-size:10px}footer>div{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{animation:none!important;transition:none!important}.button:hover,.project-card:hover .arrow{transform:none}}
@keyframes trace{from{stroke-dashoffset:500}to{stroke-dashoffset:0}}
