@font-face{font-family:Hanken;src:url('assets/fonts/hanken-grotesk-variable-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:Plex;src:url('assets/fonts/ibm-plex-mono-400-normal-latin.woff2') format('woff2');font-display:swap}:root{--green:#14a37a;--ink:#101b17;--paper:#f6f8f7;--line:#cdd5d0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Hanken,Arial,sans-serif;font-size:18px;line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:6px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:12px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4vw;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;line-height:1.05;font-weight:650;letter-spacing:-.7px}nav{display:flex;gap:40px;font-size:16px}nav a{padding:10px 0}nav a:hover{text-decoration:underline;text-underline-offset:6px}.label{font:12px/1.5 Plex,monospace;letter-spacing:.025em}.hero{display:grid;grid-template-columns:58% 42%;min-height:680px}.hero-copy{padding:36px 4vw 36px}.hero-copy>.label{margin:0 0 37px}h1{font-size:clamp(70px,8.7vw,150px);line-height:.91;font-weight:550;letter-spacing:-.075em;margin:0 0 46px}h1 span{color:#087454}.hero-bottom{display:flex;gap:35px;align-items:end;justify-content:space-between}.hero-bottom p{font-size:19px;max-width:355px;line-height:1.5;margin:0}.round-link{width:60px;height:60px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-size:28px;flex:none;transition:background .2s,transform .2s}.round-link:hover{background:var(--green);transform:translateY(4px)}.hero-figure{margin:0;background:var(--green);position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.figure-top{display:flex;justify-content:space-between;padding:36px 30px 0}.fragments{width:100%;height:540px;display:block;flex:1;min-height:0}.fragment{fill:#083e2f}.fragment:nth-child(5n){fill:#ddf7d1}.scanner{stroke:#ddf7d1;stroke-width:1;stroke-dasharray:3 4}figcaption{padding:0 30px 30px;display:flex;align-items:end;justify-content:space-between;gap:20px;font-size:17px;line-height:1.2}figcaption .label{font-size:12px;text-align:right}.approach{padding:100px 4vw;background:var(--ink);color:var(--paper)}.section-heading{display:grid;grid-template-columns:30% 70%}.section-heading .label{margin-top:15px}h2{font-size:clamp(46px,5.5vw,86px);font-weight:450;line-height:1.05;letter-spacing:-.055em;margin:0}.approach-intro{margin:45px 0 0 30%;display:grid;grid-template-columns:1fr 1fr;gap:50px}.approach-intro p{margin:0}.about{padding:100px 4vw}.about h2{margin:45px 0}.about>p:last-child{max-width:620px;margin-left:auto;font-size:24px}.contact{padding:80px 4vw;background:var(--green)}.contact h2{margin:30px 0}.contact p:not(.label){max-width:500px}.contact>a{display:inline-block;font-size:24px;border-bottom:1px solid;padding:12px 0}footer{padding:25px 4vw;display:flex;justify-content:space-between;font-size:14px}@media(min-width:1600px){.hero{min-height:790px}.fragments{height:640px}}@media(max-width:750px){header{padding:20px 6vw}.brand{font-size:17px}.brand img{width:28px;height:28px}nav{gap:20px;font-size:14px}nav a:first-child,nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:30px 6vw 40px}.hero-copy>.label{margin-bottom:30px}h1{font-size:clamp(66px,13vw,100px);margin-bottom:30px}.hero-bottom{gap:18px}.hero-bottom p{font-size:17px}.round-link{width:48px;height:48px}.hero-figure{min-height:440px}.fragments{height:370px;max-height:400px}.figure-top{padding:22px 6vw 0}figcaption{padding:0 6vw 25px}.approach,.about,.contact{padding:64px 6vw}.section-heading{display:block}.section-heading .label{margin:0 0 30px}.approach-intro{margin:30px 0 0;display:block}.approach-intro p+p{margin-top:20px}.about>p:last-child{font-size:20px}footer{gap:20px;padding:25px 6vw;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Motion explains the fragment motif; all content remains readable without it. */
.hero{min-height:720px}.hero-figure{padding-bottom:0}.fragments{height:510px;width:100%;overflow:visible;padding:0 16px}.fragment{transform:translateX(var(--target,0px));transition:transform 1.2s cubic-bezier(.22,1,.36,1),fill .8s}.is-animated .fragment{animation:drift 6s ease-in-out var(--delay) infinite}.is-animated .scanner{animation:scan 10s linear infinite}.scanner{opacity:.5}.is-paused .fragment,.is-paused .scanner{animation-play-state:paused}.hero-figure[data-view=patterns] .fragment:nth-child(4n+1){fill:#ddf7d1}.hero-figure[data-view=patterns] .fragment:nth-child(4n+2){fill:#083e2f}.hero-figure[data-view=patterns] .scanner{opacity:0}.figure-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 30px 24px}.figure-controls[hidden]{display:none}.view-buttons{display:flex;border:1px solid #083e2f;border-radius:30px;padding:3px;gap:3px}.figure-controls button{font-size:14px;line-height:1.2;background:none;color:#083e2f;border:0;cursor:pointer;min-height:40px;padding:9px 13px;border-radius:24px}.view-buttons button[aria-pressed=true]{background:#083e2f;color:#f6f8f7}.motion-toggle{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.figure-controls button:hover{background:#f6f8f733}.view-buttons button[aria-pressed=true]:hover{background:#083e2f}figcaption{min-height:76px;font-size:16px}.steps{margin-top:70px;border-top:1px solid #43534b}.step{display:grid;grid-template-columns:8% 37% 1fr 6%;gap:20px;align-items:start;padding:40px 0;border-bottom:1px solid #43534b}.step-number{font:14px Plex,monospace;color:#76dbb6;margin-top:8px}.step h3{font-size:32px;line-height:1.15;letter-spacing:-.035em;font-weight:450;margin:0}.step p{font-size:17px;line-height:1.6;margin:0;max-width:455px;color:#cbd7cf}.step-end{font-size:32px;color:#76dbb6;justify-self:end;transition:transform .7s}.step.in-view .step-end{transform:translate(3px,6px)}.step.in-view .step-number{color:#f6f8f7}.possibility{padding:90px 4vw 80px;border-bottom:1px solid var(--line)}.possibility .label{margin:0 0 50px}.possibility h2{font-size:clamp(48px,6.9vw,110px);line-height:1.06;font-weight:480}.possibility h2 span{color:#087454}.possibility-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:45px}.possibility-bottom p{max-width:530px;font-size:20px;line-height:1.5;margin:0}.mini-mark{font-size:160px;line-height:.8;font-weight:300;color:#14a37a}.about{display:grid;grid-template-columns:1fr 1fr;gap:35px 70px}.about>.label{grid-column:1/-1;margin:0 0 10px}.about h2{font-size:clamp(40px,4.6vw,74px);margin:0}.founder-copy p{font-size:22px;line-height:1.5;margin:0}.founder-copy .research-note{font-size:17px;margin-top:24px;max-width:470px;color:#4a5c53}.contact{position:relative;padding-bottom:75px}.contact h2{font-size:clamp(54px,8vw,128px);max-width:1000px;line-height:1}.contact>a{display:flex;justify-content:space-between;width:100%;font-size:28px;margin-top:40px;padding:24px 0;border-top:1px solid #0b4f3c;border-bottom:1px solid #0b4f3c}.contact>a span{transition:transform .25s}.contact>a:hover span{transform:translate(5px,-5px)}@keyframes drift{0%,100%{transform:translateX(var(--target,0px))}50%{transform:translateX(calc(var(--target,0px) + var(--shift)))}}@keyframes scan{0%{transform:translateY(0);opacity:0}10%,85%{opacity:.55}100%{transform:translateY(475px);opacity:0}}@media(max-width:1000px) and (min-width:751px){.figure-controls{padding-left:15px;padding-right:15px;gap:5px}.figure-controls button{font-size:12px;padding:8px}.step h3{font-size:26px}}@media(max-width:750px){.hero{min-height:0}.hero-figure{min-height:530px}.fragments{height:370px;padding:0 25px}.figure-controls{padding:0 6vw 22px}.figure-controls button{font-size:14px}.steps{margin-top:40px}.step{grid-template-columns:35px 1fr 25px;gap:15px;padding:30px 0}.step h3{font-size:27px}.step p{grid-column:2;grid-row:2}.step-end{grid-column:3;grid-row:1;font-size:26px}.possibility{padding:64px 6vw}.possibility .label{margin-bottom:35px}.possibility h2{font-size:clamp(41px,7.8vw,60px)}.possibility-bottom{align-items:start;margin-top:35px;gap:25px}.mini-mark{font-size:90px}.possibility-bottom p{font-size:17px}.about{display:block}.about>.label{margin-bottom:35px}.about h2{font-size:42px;margin-bottom:30px}.founder-copy p{font-size:20px}.contact h2{font-size:clamp(42px,8.8vw,66px)}.contact>a{font-size:24px}}@media(max-width:360px){.figure-controls{flex-wrap:wrap}.hero-bottom{align-items:center}h1{font-size:18vw}}@media(prefers-reduced-motion:reduce){.fragment{transform:translateX(var(--target,0px))}.scanner{display:none}}html[data-reduced-motion=true]{scroll-behavior:auto}html[data-reduced-motion=true] *{transition:none!important;animation:none!important}
@property --target{syntax:'<length>';inherits:false;initial-value:0px}.fragment{transition:--target 1.2s cubic-bezier(.22,1,.36,1),fill .8s}.hero-figure .fragments{flex:1 1 0;width:100%;min-height:460px}.step h3{transition:transform .7s cubic-bezier(.22,1,.36,1)}.step.in-view h3{transform:translateX(8px)}@media(max-width:750px){.hero-figure .fragments{flex:none;min-height:0;height:370px}.step.in-view h3{transform:translateX(3px)}}
/* Collaboration and application story */
.hero-cta{display:inline-flex;gap:24px;align-items:center;margin-top:24px;padding:10px 0;border-bottom:1px solid;font-size:18px}.hero-copy{display:flex;flex-direction:column;align-items:flex-start}.hero-copy h1{width:100%;font-size:clamp(70px,8.2vw,140px)}.hero-bottom{width:100%}.hero-bottom p{max-width:400px}.hero-cta:hover span{transform:translate(4px,-4px)}.hero-cta span{transition:transform .2s}.figure-top{gap:20px}.figure-top>span:last-child{white-space:nowrap}.fragment{animation:none!important;transition:none!important;transform-box:view-box;transform-origin:0 0}.scanner{display:none}.hero-figure .fragments{overflow:hidden}.possibility-lead{max-width:660px;font-size:22px;line-height:1.5;margin:32px 0 50px}.application-map{display:grid;grid-template-columns:30% 70%;align-items:center}.foundation-node{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:20px;font-size:28px;line-height:1.2;letter-spacing:-.02em}.foundation-node:after{content:'';height:2px;background:var(--green);position:absolute;left:75%;width:25%;top:50%}.foundation-node .label{color:#087454}.application-list{border-left:2px solid var(--green);padding-left:40px}.application{display:grid;grid-template-columns:30px 1fr 30px;gap:22px;padding:23px 15px 23px 0;border-bottom:1px solid var(--line);position:relative}.application:before{content:'';position:absolute;left:-42px;top:45px;width:25px;height:2px;background:var(--green)}.application h3{font-size:27px;line-height:1.2;letter-spacing:-.035em;font-weight:500;margin:0 0 6px}.application p{font-size:17px;margin:0;color:#41564b}.app-index{font:12px Plex,monospace;padding-top:8px;color:#087454}.app-pulse{font-size:28px;color:#087454}.application.is-active{background:#dcefe5}.application.is-active:before{width:39px}.application.is-active h3{color:#087454}.application{transition:background .4s}.application .app-pulse{transition:transform .4s}.application.is-active .app-pulse{transform:translate(5px,-5px)}.research-scope{font-size:14px;color:#41564b;margin:24px 0 0 30%;padding-left:40px}.contact-intro{font-size:22px!important;max-width:670px!important}.collaborators{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:55px;border-top:1px solid #0b4f3c;padding-top:30px}.collaborators article{display:flex;flex-direction:column}.collaborators h3{font-size:26px;font-weight:500;line-height:1.2;letter-spacing:-.03em;margin:0 0 15px}.collaborators p{font-size:17px;line-height:1.5;margin:0 0 25px}.collaborators a{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #0b4f3c;padding:12px 0;margin-top:auto;font-size:17px;min-height:48px}.collaborators a:hover span{transform:translate(4px,-4px)}.collaborators a span{transition:transform .2s}.motion-dock{position:fixed;bottom:16px;right:18px;z-index:5;background:#101b17;color:#f6f8f7;border:1px solid #708279;border-radius:30px;padding:12px 18px;min-height:44px;font-size:14px;cursor:pointer;box-shadow:0 3px 14px #0002}.motion-dock[hidden]{display:none}.motion-dock:focus-visible{outline-color:#14a37a}.figure-controls button{font-size:14px}.hero-figure figcaption{min-height:92px}@media(max-width:750px){.hero-copy h1{font-size:clamp(66px,13vw,100px)}.hero-cta{font-size:17px}.figure-top{font-size:11px}.possibility-lead{font-size:19px;margin:28px 0 36px}.application-map{grid-template-columns:1fr}.foundation-node{font-size:24px;flex-direction:row;align-items:center;flex-wrap:wrap;padding-bottom:30px}.foundation-node .label{width:100%}.foundation-node:after{left:0;top:auto;bottom:0;width:2px;height:25px}.application-list{padding-left:24px}.application{grid-template-columns:20px 1fr 20px;gap:12px;padding:22px 5px 22px 0}.application:before{left:-26px;width:17px}.application.is-active:before{width:22px}.application h3{font-size:23px}.application p{font-size:16px}.research-scope{margin-left:0;padding-left:26px}.collaborators{grid-template-columns:1fr;gap:30px;margin-top:35px}.collaborators h3{font-size:25px}.collaborators p{margin-bottom:10px}.contact-intro{font-size:19px!important}.motion-dock{bottom:12px;right:12px;font-size:13px;padding:10px 14px}footer{padding-bottom:80px}}

.branch-connections{display:none;fill:none;stroke:#dbf6d0;stroke-width:2}.branch-connections circle{fill:#dbf6d0;stroke:none}.hero-figure[data-view=branch] .branch-connections{display:block;animation:connections 8.5s cubic-bezier(.65,0,.25,1) infinite}.branch-connections path{stroke-dasharray:500;animation:draw-branches 8.5s cubic-bezier(.65,0,.25,1) infinite}.is-paused .branch-connections,.is-paused .branch-connections path{animation-play-state:paused!important}@keyframes connections{0%,12%,100%{opacity:0}42%,70%{opacity:.7}}@keyframes draw-branches{0%,12%,100%{stroke-dashoffset:500}42%,70%{stroke-dashoffset:0}}html[data-reduced-motion=true] .branch-connections{opacity:.7}html[data-reduced-motion=true] .branch-connections path{stroke-dashoffset:0}
.interaction-hint{font-size:14px;line-height:1.3;color:#083e2f}.hero-figure .fragments{touch-action:pan-y}.figure-controls{min-height:64px}.fragment{will-change:transform;pointer-events:none}@media(hover:none){.interaction-hint{font-size:0}.interaction-hint:after{content:'A continuous sea of fragments';font-size:14px}}@media(prefers-reduced-motion:reduce){.interaction-hint{visibility:hidden}}
