@font-face{font-family:Noto SC;src:url('assets/noto-sc-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Noto SC;src:url('assets/noto-sc-600.woff2') format('woff2');font-style:normal;font-weight:500 800;font-display:swap}
@font-face{font-family:Public Sans;src:url('assets/public-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ground:#f6f7f2;--ink:#17231c;--secondary:#59675e;--accent:#bfdc89;--soft:#e9ede4;--dark:#192c22;--dark-soft:#223b2d;--dark-muted:#bacabd;--small:14px;--body:17px;--statement:28px;--heading:clamp(36px,4.2vw,56px);--display:clamp(54px,8vw,96px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--ground);color:var(--ink);font-family:Public Sans,Noto SC,sans-serif;font-size:var(--body);line-height:1.75;-webkit-font-smoothing:antialiased}button,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{display:block}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:600;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}h2{font-size:var(--heading)}h3{font-size:var(--statement)}p{text-wrap:pretty}button,a,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #5b812f;outline-offset:5px}::selection{background:var(--accent);color:var(--ink)}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{background:#b1bdae;border:2px solid var(--ground)}[hidden]{display:none!important}.svg-library{width:0;height:0;position:absolute;overflow:hidden}.shell{width:min(100% - 64px,1260px);margin-inline:auto}.section{padding-block:126px;scroll-margin-top:24px}a svg,button svg,summary svg{width:20px;height:20px;flex-shrink:0}.skip-link{position:fixed;top:10px;left:20px;padding:10px 20px;z-index:20;background:var(--ink);color:var(--ground);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px}.wordmark{font-size:var(--body);font-weight:600;letter-spacing:.01em;display:flex;gap:17px;align-items:baseline}.wordmark span{font-size:var(--small);font-weight:400;letter-spacing:0;color:var(--secondary)}nav{display:flex;gap:38px;align-items:center;font-size:var(--small)}nav a{display:flex;align-items:center;gap:6px;padding-block:10px}nav a svg{width:15px;height:15px}nav a:hover{color:#466522}.hero{padding-top:62px;padding-bottom:62px}.hero h1{font-size:var(--display);line-height:1.16;letter-spacing:-.04em;max-width:100%;font-family:Noto SC,Public Sans,sans-serif}.hero-line{display:block;overflow:hidden}.hero-line>span{display:block;animation:hero-enter 1s var(--ease) both}.hero-line:nth-child(2)>span{animation-delay:100ms}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:54px}.hero-copy{font-size:var(--body);line-height:1.9;max-width:620px;animation:quiet-enter 900ms var(--ease) 170ms both}.primary-action{background:var(--accent);min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:45px;padding:15px 24px;font-size:var(--small);font-weight:600;transition:background 180ms,transform 250ms var(--ease);flex-shrink:0;animation:quiet-enter 900ms var(--ease) 220ms both}.primary-action:hover{background:#b0d175;transform:translateY(-2px)}.primary-action:active{transform:translateY(0)}.hero-projects{display:flex;gap:36px;margin-top:54px;font-size:var(--small);color:var(--secondary)}.hero-projects a{display:flex;gap:13px;align-items:center;padding-block:5px}.hero-projects a svg{width:16px;height:16px;transition:transform 240ms var(--ease)}.hero-projects a:hover{color:var(--ink)}.hero-projects a:hover svg{transform:translateX(5px)}
.computer-section{background:var(--soft)}.project-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end;margin-bottom:54px}.project-kind{font-size:var(--small);color:var(--secondary);margin-top:21px}.intro-side{max-width:470px;justify-self:end}.intro-side p{font-size:var(--body);line-height:1.85}.text-link{display:inline-flex;align-items:center;gap:15px;font-size:var(--small);font-weight:500;padding:8px 0;margin-top:19px}.text-link svg,.dark-link svg{transition:transform 250ms var(--ease)}.text-link:hover svg,.dark-link:hover svg{transform:translate(2px,-2px)}.text-link:hover{color:#466522}.execution-surface{background:var(--dark);color:var(--ground);padding:28px 36px 36px}.execution-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:var(--small)}.execution-toolbar>span{color:var(--dark-muted)}.execution-layout{display:grid;grid-template-columns:1.85fr 1fr;gap:48px;margin-top:32px;align-items:center}.flow-tabs{display:flex;gap:10px;align-items:center}.flow-tabs button{background:transparent;border:0;color:var(--dark-muted);font-size:var(--small);padding:9px 20px;transition:background 180ms,color 180ms}.flow-tabs button[aria-pressed=true]{background:var(--accent);color:var(--ink);font-weight:600}.flow-tabs button:hover:not([aria-pressed=true]){background:var(--dark-soft);color:var(--ground)}.flow-tabs button:focus-visible,.dark-link:focus-visible{outline-color:var(--accent)}.flow-mobile{display:none}.flow-diagram{width:100%;height:auto;margin-top:8px;overflow:visible}.flow-connector,.flow-return{fill:none;stroke:#819587;stroke-width:1.5}.flow-node rect{fill:var(--dark-soft);transition:fill 250ms}.flow-node.active rect{fill:#38543a}.flow-node text{fill:var(--dark-muted);text-anchor:middle;font-size:14px}.flow-node .node-title{fill:var(--ground);font-weight:500;font-size:19px}.flow-node .node-note{font-size:13px}.return-label{fill:var(--dark-muted);text-anchor:middle;font-size:13px}.execution-detail{display:grid;grid-template-columns:1fr;gap:7px;min-height:81px;margin-top:2px}.execution-detail>span{font-size:var(--small);color:var(--accent)}.execution-detail p{font-size:var(--small);color:var(--dark-muted);max-width:60ch;line-height:1.7}.mechanism-note{align-self:center;padding-block:15px;max-width:290px}.mechanism-note h3{font-size:var(--statement);line-height:1.4;letter-spacing:-.03em}.mechanism-note>p:not(.mechanism-boundary){font-size:16px;color:var(--dark-muted);line-height:1.9;margin-top:20px}.mechanism-boundary{font-size:13px;color:var(--dark-muted);margin-top:34px;line-height:1.8}.dark-link{display:inline-flex;align-items:center;gap:12px;font-size:var(--small);padding-block:10px;margin-top:12px;color:var(--ground)}.computer-foot{display:flex;justify-content:space-between;gap:50px;margin-top:28px;align-items:flex-start}.computer-foot p:first-child{font-size:var(--body);font-weight:500}.computer-foot p:last-child{font-size:var(--small);color:var(--secondary);max-width:470px}
.enzsub-section .project-intro{margin-bottom:60px}.enzsub-section h2{font-family:Public Sans,sans-serif;letter-spacing:-.04em;font-size:clamp(54px,6.6vw,88px)}.research-layout{display:grid;grid-template-columns:1fr 2.2fr;gap:82px}.research-aside{padding-top:25px}.research-aside h3{font-size:var(--statement);line-height:1.5;margin-bottom:28px}.research-aside>p{font-size:var(--small);color:var(--ink);line-height:1.9;margin-top:18px}.training-explainer{margin-top:35px;display:flex;flex-direction:column;gap:15px;font-size:var(--small)}.training-explainer p{display:grid;grid-template-columns:47px 1fr;gap:14px}.training-explainer strong{font-weight:600}.training-explainer span{color:var(--secondary)}.research-aside>.text-link{margin-top:27px}.experiment{background:#edf0e7;padding:24px 28px 14px;min-width:0}.task-tabs{display:flex;gap:4px;flex-wrap:wrap}.task-tabs button{background:transparent;border:0;color:var(--secondary);font-size:var(--small);padding:10px 13px;white-space:nowrap;transition:background 200ms,color 200ms}.task-tabs button[aria-pressed=true]{background:var(--ink);color:var(--ground)}.task-tabs button:hover:not([aria-pressed=true]){background:#dde5d5;color:var(--ink)}.experiment-controls{display:flex;align-items:flex-end;gap:20px;padding:27px 0 10px}.experiment-controls label{font-size:12px;color:var(--secondary);display:flex;flex-direction:column;gap:4px}.experiment-controls select{appearance:auto;border:0;background:transparent;color:var(--ink);padding:6px 22px 6px 0;font-size:var(--small);cursor:pointer;max-width:175px}.metric-caption{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--secondary)}.metric-caption span:first-child{font-size:var(--small);font-weight:600;color:var(--ink)}.chart-region{position:relative}.chart-region>svg{width:100%;height:auto;overflow:visible}.chart-region svg text{font-family:Public Sans,Noto SC,sans-serif}.chart-region svg .chart-bar{transition:fill 180ms}.chart-region svg .chart-bar-group:hover .chart-bar,.chart-region svg .chart-bar-group:focus-visible .chart-bar{fill:#8aaf53}.chart-region svg .chart-bar-group:focus-visible{outline:none}.chart-region svg .chart-bar-group:focus-visible .chart-bar{stroke:var(--ink);stroke-width:2}.chart-tooltip{position:absolute;z-index:2;left:20%;top:10%;background:var(--ink);color:var(--ground);padding:12px 16px;max-width:220px;font-size:13px;line-height:1.8;pointer-events:none}.experiment-result{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-top:7px}.experiment-result p:first-child{font-size:var(--small);color:var(--ink);max-width:55ch}.experiment-result strong{font-weight:600;font-variant-numeric:tabular-nums}.experiment-result p:last-child{font-size:12px;color:var(--secondary);text-align:right;white-space:nowrap}.data-details{font-size:13px;margin-top:24px}.data-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:12px 0;color:var(--secondary)}.data-details summary::-webkit-details-marker{display:none}.data-details summary:hover{color:var(--ink)}.data-details[open] summary svg{transform:rotate(90deg)}.data-details summary svg{width:15px;height:15px;transition:transform 180ms}.data-details>p{margin-top:16px;line-height:1.8}.source-caption{color:var(--secondary)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;line-height:1.5;font-size:13px;text-align:left}caption{text-align:left;padding:13px 0;font-weight:500}th,td{padding:10px 8px;text-align:left}th{font-weight:500}thead{background:#dee5d7}tbody tr:nth-child(even){background:#e3e9de}td{font-variant-numeric:tabular-nums}.script-note{font-size:var(--small);padding:16px 0}
.about-section{background:#e5eade;padding-block:104px}.about-layout{display:grid;grid-template-columns:1fr 2.2fr;gap:82px}.about-layout h2{font-size:var(--statement);line-height:1.5}.about-role{font-size:var(--small);color:var(--secondary);margin-top:18px}.about-copy>p:first-child{font-size:var(--statement);line-height:1.7;max-width:28ch}.about-copy>p:nth-child(2){font-size:var(--body);line-height:1.9;max-width:48ch;margin-top:26px;color:#46554a}.about-copy .text-link{margin-top:28px}.site-footer{padding-top:72px;padding-bottom:32px}.footer-name{font-family:Noto SC,Public Sans,sans-serif;font-size:clamp(52px,9vw,96px);font-weight:600;letter-spacing:-.04em;display:flex;align-items:center;justify-content:space-between;gap:40px;line-height:1.35}.footer-name svg{width:clamp(44px,6vw,74px);height:clamp(44px,6vw,74px);transition:transform 350ms var(--ease)}.footer-name:hover svg{transform:translate(6px,-6px)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:var(--small);color:var(--secondary);margin-top:46px}.footer-bottom a{display:flex;gap:12px;align-items:center}.footer-bottom svg{width:16px;height:16px}
.in-view{animation:quiet-enter 800ms var(--ease) both}.in-view .intro-side{animation:quiet-enter 850ms var(--ease) 90ms both}@keyframes hero-enter{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes quiet-enter{from{opacity:.65;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.hero{padding-top:84px;padding-bottom:74px}.hero-bottom{margin-top:70px}.hero-projects{margin-top:62px}}
@media(max-width:1050px){.shell{width:calc(100% - 48px)}.project-intro{gap:42px}.research-layout,.about-layout{gap:44px}.execution-layout{gap:28px;grid-template-columns:1.7fr 1fr}.execution-surface{padding:24px}.flow-tabs{gap:2px}.flow-tabs button{padding:8px 16px}.mechanism-note h3{font-size:24px}.experiment{padding-inline:20px}.task-tabs button{padding-inline:10px}}
@media(max-width:760px){:root{--body:16px;--statement:24px;--display:clamp(50px,10.5vw,78px)}.shell{width:calc(100% - 44px)}.section{padding-block:76px}.site-header{height:88px;gap:20px}.wordmark{font-size:19px}.wordmark span{display:none}nav{gap:24px}.hero{padding-top:42px;padding-bottom:42px}.hero h1{line-height:1.25}.hero-bottom{display:block;margin-top:35px}.hero-copy{font-size:16px;line-height:1.9}.primary-action{margin-top:26px;min-height:52px;width:fit-content;gap:34px;padding:13px 20px}.hero-projects{margin-top:34px;gap:20px;flex-wrap:wrap;font-size:13px}.hero-projects a{gap:8px}.project-intro{grid-template-columns:1fr;gap:25px;margin-bottom:32px}.project-kind{margin-top:16px;max-width:28ch;line-height:1.7}.intro-side{justify-self:start;max-width:100%}.intro-side p{max-width:38ch}.text-link{margin-top:13px}.execution-surface{padding:22px 20px}.execution-toolbar{gap:10px;font-size:13px}.execution-layout{grid-template-columns:1fr;gap:22px;margin-top:24px}.flow-tabs{gap:5px;justify-content:space-between}.flow-tabs button{padding:8px 15px}.flow-diagram{margin-top:10px}.execution-detail{margin-top:4px;min-height:76px}.execution-detail p{font-size:13px}.mechanism-note{max-width:100%;padding-top:12px;padding-bottom:0}.mechanism-note h3{font-size:24px}.mechanism-note>p:not(.mechanism-boundary){font-size:15px;margin-top:14px}.mechanism-boundary{margin-top:20px;font-size:13px}.mechanism-boundary br{display:none}.dark-link{margin-top:4px}.computer-foot{display:block;margin-top:23px}.computer-foot p:last-child{margin-top:10px;font-size:13px}.research-layout,.about-layout{grid-template-columns:1fr;gap:32px}.enzsub-section .project-intro{margin-bottom:32px}.enzsub-section h2{font-size:58px}.research-aside{padding-top:0}.research-aside h3{font-size:var(--statement);margin-bottom:16px}.research-aside h3 br{display:none}.research-aside>p{font-size:14px;margin-top:9px;max-width:40ch}.training-explainer{margin-top:18px;flex-direction:row;gap:24px;flex-wrap:wrap;font-size:13px}.training-explainer p{display:flex;gap:8px}.research-aside>.text-link{margin-top:16px}.experiment{padding:18px 13px 10px;margin-inline:-7px}.task-tabs{gap:3px}.task-tabs button{padding:9px 10px;font-size:13px}.experiment-controls{gap:15px;padding-top:22px}.experiment-controls label,.metric-caption{font-size:11px}.experiment-controls select{font-size:13px;padding-right:8px;max-width:135px}.metric-caption span:first-child{font-size:13px}.experiment-result{display:block;padding-top:8px}.experiment-result p:first-child{font-size:13px}.experiment-result p:last-child{text-align:left;font-size:12px;margin-top:7px}.data-details{margin-top:16px;font-size:12px}.data-details summary{font-size:13px}.about-section{padding-block:66px}.about-copy>p:first-child{font-size:24px;line-height:1.6;max-width:24ch}.about-copy>p:nth-child(2){font-size:16px;margin-top:21px}.about-role{margin-top:12px}.site-footer{padding-top:52px;padding-bottom:24px}.footer-name{font-size:68px;gap:24px}.footer-name svg{width:40px;height:40px}.footer-bottom{margin-top:28px;font-size:13px}}
@media(max-width:390px){nav{gap:17px}.hero-copy br{display:none}.hero-projects{display:block}.hero-projects a+a{margin-top:10px}.flow-tabs button{padding-inline:12px}.experiment-controls{gap:10px}.task-tabs button{padding-inline:8px}.metric-caption span:first-child{font-size:12px}.metric-caption{font-size:11px}.execution-toolbar>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-line>span{transform:none}.in-view{opacity:1;transform:none}}

@media(max-width:760px){.flow-diagram{display:none}.flow-mobile{display:grid;grid-template-columns:1fr 12px 1fr 12px 1fr;gap:3px;align-items:center;margin-block:30px 22px}.flow-mobile>div{display:flex;flex-direction:column;text-align:center;gap:8px;padding:19px 4px;background:var(--dark-soft);min-height:104px;transition:background 180ms}.flow-mobile>div.active{background:#38543a}.flow-mobile strong{font-size:16px;font-weight:500}.flow-mobile span{font-size:11px;color:var(--dark-muted);white-space:nowrap}.flow-mobile svg{width:12px;height:12px;color:var(--dark-muted)}.flow-mobile>p{grid-column:1/-1;text-align:center;font-size:12px;color:var(--dark-muted);margin-top:10px}.execution-detail>span{overflow-wrap:anywhere}}
