@import url('fonts.css');
:root{--ink:#15231e;--dark:#101b19;--paper:#f8f9f5;--green:#d2edaa;--muted:#56625b;--line:#d5ddd1;--display:'Inter','Helvetica Neue',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #7ca253;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:400;line-height:1.03;letter-spacing:-.025em}h1 em,h2 em{font-weight:400}h2{font-size:clamp(3rem,5vw,5rem)}.section-shell{padding:110px max(5.6vw,24px);max-width:1800px;margin:0 auto}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.13em;font-weight:550;line-height:1.45;color:#52624e}.eyebrow.light{color:#c4d2be}.site-header{position:absolute;top:0;left:0;right:0;z-index:30;padding:26px 5.6vw;display:flex;align-items:center;justify-content:space-between;color:#f7fbf4;border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:18px}.brand-mark{font-family:var(--display);font-size:2.15rem;line-height:1;letter-spacing:-.05em}.brand-mark span{font-family:var(--sans);font-size:1.45rem;vertical-align:top;display:inline-block;margin-top:2px;margin-left:2px}.brand-name{font-size:.8rem;line-height:1.4;font-weight:500;letter-spacing:.015em}.site-header nav{display:flex;gap:34px;align-items:center;font-size:.9rem}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:var(--green)}.nav-contact{border:1px solid #d2edaa66;border-radius:2px;padding:8px 20px}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:14px}.menu-toggle span{display:block;height:1px;width:24px;background:currentColor;margin:5px 0}.mobile-menu{position:absolute;top:92px;left:0;right:0;background:var(--dark);padding:22px 24px;border-bottom:1px solid #c4d2be33}.mobile-menu a{display:block;padding:12px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px 20px;color:black}.skip-link:focus{top:10px}.molecular-story{position:relative;isolation:isolate;color:#f4f7ef;background:var(--dark)}.molecular-background{position:absolute;inset:0;z-index:-1;overflow:clip}.molecular-background canvas{position:sticky;top:0;display:block;width:100%;height:100svh}.canvas-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#101b19f2 0%,#101b19c7 29%,#101b1938 55%,#101b1900 75%),linear-gradient(0deg,#101b19 0%,#101b1900 22%)}.hero{position:relative;min-height:100svh;padding-top:180px;padding-bottom:135px}.hero h1{font-size:clamp(4.1rem,7.3vw,8rem);position:relative;max-width:730px;margin:33px 0 26px}.hero h1 em{color:var(--green)}.hero-intro{font-size:1.1rem;line-height:1.55;color:#d4dfd2;max-width:400px}.button{display:inline-block;padding:13px 24px;font-size:.9rem;transition:background .2s,color .2s}.light-button{border:1px solid #cbdcbc77;margin-top:26px;color:var(--green);background:#101b1955}.light-button:hover{background:var(--green);color:var(--dark)}.hero-bottom{position:absolute;left:5.6vw;right:5.6vw;bottom:32px;display:flex;align-items:center;justify-content:space-between;color:#b8c7b4;font-size:.8rem;line-height:1.6}.scroll-note{display:flex;align-items:center;gap:16px}.scroll-track{height:34px;width:1px;background:#d2edaa77;position:relative}.scroll-track:after{content:'';position:absolute;top:0;width:3px;height:8px;left:-1px;background:var(--green)}.fractionation{position:relative;min-height:90svh;display:flex;align-items:center;padding-top:90px;padding-bottom:140px}.fractionation-copy{max-width:550px}.fractionation h2{font-size:clamp(2.75rem,4.3vw,4.6rem);margin:27px 0}.fractionation-copy>p:not(.eyebrow){color:#becdbd;font-size:1.05rem;max-width:470px}.fractionation-copy>p.celf-name{font-size:.875rem;margin:28px 0 20px;line-height:1.55;display:flex;gap:18px;align-items:center;max-width:390px}.celf-name strong{font-family:var(--display);font-size:2rem;font-weight:400;color:var(--green)}.text-link{display:inline-block;font-size:.9rem;border-bottom:1px solid #657957;padding-bottom:5px}.on-dark{color:var(--green);border-color:#d2edaa66}.molecular-caption{position:absolute;right:5.6vw;bottom:38px;text-align:right;font-size:.75rem;line-height:1.6;color:#aabbab}.legend{display:flex;justify-content:flex-end;gap:20px;font-size:.85rem;margin-bottom:8px}.legend span{display:flex;align-items:center;gap:8px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%}.cellulose-dot{background:#85ab73}.lignin-dot{background:#995938}.motion-control{position:absolute;top:134px;right:5.6vw}.motion-control button{font-size:.8rem;color:#b8c7b4;background:transparent;border:1px solid #abc2a544;border-radius:2px;padding:7px 12px}.section-heading{display:grid;grid-template-columns:1fr 2.35fr;gap:40px;align-items:start;margin-bottom:60px}.section-heading .eyebrow{padding-top:10px}.section-heading>div>p{font-size:1.075rem;line-height:1.7;color:var(--muted);max-width:610px;margin-top:25px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.research-card{position:relative;padding:40px 36px 36px 0;display:flex;flex-direction:column}.research-card+article{border-left:1px solid var(--line);padding-left:36px}.research-number{font-size:.8rem;color:#647a58}.research-symbol{height:80px;width:80px;position:absolute;right:36px;top:25px;display:flex;gap:7px;align-items:center;justify-content:center;opacity:.75}.research-symbol span{height:46px;width:3px;background:#5c8045}.fraction-symbol span:nth-child(2){height:64px}.material-symbol{transform:rotate(45deg)}.material-symbol span{width:12px;height:55px;background:transparent;border:1px solid #5c8045}.fuel-symbol span{width:16px;height:16px;border-radius:50%;background:#5c8045}.fuel-symbol span:nth-child(2){height:30px;width:30px;background:#c8dfb6}.research-card h3{font-family:var(--display);font-size:2.35rem;line-height:1.15;font-weight:400;margin:60px 0 22px}.research-card p{color:var(--muted);font-size:1rem;max-width:350px}.research-card>a{font-size:.875rem;line-height:1.55;display:block;width:fit-content;border-bottom:1px solid #8b9e7e;margin:28px 0 36px;max-width:330px}.topic-tag{font-size:.8rem;color:#64745c;margin-top:auto;line-height:1.6}.people{background:#edf1e8;max-width:none}.pi-card{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:center;margin-bottom:60px}.pi-portrait{background:#dce4d5;overflow:hidden;aspect-ratio:1.25}.pi-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.pi-copy h3{font-family:var(--display);font-size:3.4rem;font-weight:400;line-height:1.1;margin:15px 0}.person-role{color:#4c6044;font-size:.95rem;line-height:1.5}.pi-copy>p:not(.eyebrow):not(.person-role){max-width:600px;margin-top:23px;color:var(--muted)}.pi-links{display:flex;gap:25px;margin-top:25px;flex-wrap:wrap}.pi-links a{font-size:.875rem;border-bottom:1px solid #8b9e7e}.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:23px}.team-card h3{font-size:1.1rem;font-weight:500;line-height:1.35;margin:17px 0 5px}.team-card p{font-size:.875rem;color:var(--muted)}.team-photo{aspect-ratio:4/5;overflow:hidden;background:#dfe7d8}.team-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.team-card:hover img{transform:scale(1.025)}.team-initial{display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:5rem;color:#6d8060;background:#e1e8d9}.publication-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding-bottom:24px}.publication-filters{display:flex;gap:8px;flex-wrap:wrap}.publication-filters button{font-size:.875rem;padding:8px 18px;border-radius:2px;border:1px solid transparent;background:transparent;color:#4f6053}.publication-filters button.active{background:var(--ink);color:#f4f7ef}.publication-filters button:hover:not(.active){border-color:#aebea5}#publication-count{font-size:.8rem;white-space:nowrap;color:var(--muted)}.publication-row{display:grid;grid-template-columns:90px 1fr 80px;align-items:start;gap:28px;padding:30px 0;border-bottom:1px solid var(--line)}.publication-year{font-size:1.125rem;color:#697c5f;font-family:var(--sans)}.publication-journal{font-size:.8rem;line-height:1.5;color:#617355;margin-bottom:7px}.publication-title{font-size:1.15rem;line-height:1.5;font-weight:500;max-width:900px}.publication-title a:hover{text-decoration:underline;text-underline-offset:4px}.publication-details{font-size:.75rem;color:#617355;margin-top:10px;line-height:1.6}.doi-link{justify-self:end;font-size:.8rem;border:1px solid #bac8b1;padding:7px 14px;border-radius:2px}.doi-link:hover{background:#e7eedf}.full-profile{margin-top:30px}.perspectives{padding-top:50px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.video-card{padding:30px;min-height:330px;background:#e6ecdF;position:relative;display:flex;flex-direction:column;transition:background .2s}.video-card:nth-child(2){background:#dce6d5}.video-card:nth-child(3){background:#cfdcc5}.video-card:hover{background:#c2d7b1}.video-index{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.play-mark{position:absolute;right:27px;top:63px;border:1px solid #698957;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:1.3rem;line-height:1}.video-card h3{font-family:var(--display);font-size:2.4rem;font-weight:400;line-height:1.1;margin:60px 0 18px}.video-card p{font-size:.9rem;max-width:280px;color:#4b5d43;margin-bottom:30px}.video-link{font-size:.875rem;margin-top:auto;border-bottom:1px solid #708960;width:fit-content}.archive-link{font-size:.8rem;color:var(--muted);margin-top:28px}.archive-link a{text-decoration:underline;text-underline-offset:3px}.archive-link span{margin:0 8px}.contact{background:var(--dark);color:#edf2e8;max-width:none}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;margin-top:35px}.contact h2 em{color:var(--green)}.contact-grid>div>p{color:#c0cdbb;max-width:430px;margin-top:30px}.contact-email{font-family:var(--display);font-size:clamp(1.65rem,3vw,2.7rem);display:inline-block;margin-top:30px;border-bottom:1px solid #d2edaa55;color:var(--green)}.contact-affiliation{padding-top:8px}.contact-affiliation p:first-child{font-size:1.6rem;color:#e3edde;margin-top:0}.contact-affiliation a{font-size:.9rem;border-bottom:1px solid #a3b697;display:inline-block;margin-top:30px;color:var(--green)}.site-footer{padding:30px 5.6vw;background:var(--dark);color:#bcc8b6;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #adbfa326;font-size:.75rem;line-height:1.5}.footer-brand{font-family:var(--display);font-size:2rem;display:flex;gap:20px;align-items:center}.footer-brand span{font-family:var(--sans);font-size:.8rem}.site-footer>a:last-child{border-bottom:1px solid #8da37f}.reveal{opacity:1}.has-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.has-motion .reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}
@media(min-width:1600px){.hero-bottom{left:100px;right:100px}.molecular-story .section-shell{max-width:1800px}.motion-control{right:max(5.6vw,calc((100vw - 1800px)/2 + 100px))}}
@media(max-width:1050px){.hero h1{font-size:6rem}.section-shell{padding:85px 5.6vw}.hero{padding-top:160px;padding-bottom:130px}.section-heading{grid-template-columns:1fr 2.5fr;gap:28px}.research-card{padding-right:22px}.research-card+article{padding-left:22px}.research-symbol{right:15px}.research-card h3{font-size:2rem}.pi-card{gap:35px;grid-template-columns:1fr 1.4fr}.team-grid{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.team-card:last-child{max-width:100%}.video-card{padding:25px}.video-card h3{font-size:2rem}.contact-grid{gap:35px}}
@media(max-width:720px){html{scroll-padding-top:24px}.site-header{padding:20px 24px}.brand-mark{font-size:1.9rem}.brand-name{font-size:.75rem}.site-header nav{display:none}.menu-toggle{display:block}.section-shell{padding:65px 24px}.hero{min-height:860px;min-height:max(840px,100svh);padding-top:150px;padding-bottom:155px}.hero .eyebrow{max-width:270px;font-size:.75rem}.hero h1{font-size:clamp(2.85rem,13vw,6rem);margin-top:27px;max-width:100%}.hero-intro{font-size:1rem;max-width:300px}.hero-bottom{left:24px;right:24px;bottom:27px;align-items:end;font-size:.75rem}.hero-bottom>p{max-width:230px}.scroll-note{font-size:0;gap:0;margin-bottom:5px}.canvas-shade{background:linear-gradient(90deg,#101b19d9 0%,#101b1980 50%,#101b1900),linear-gradient(0deg,#101b19 0%,#101b1900 20%)}.fractionation{min-height:850px;align-items:start;padding-top:85px;padding-bottom:190px}.fractionation h2{font-size:2.8rem}.fractionation-copy>p:not(.eyebrow){font-size:1rem}.molecular-caption{right:24px;left:24px;bottom:90px;text-align:left}.legend{justify-content:start}.motion-control{top:116px;right:24px}.section-heading{display:block;margin-bottom:38px}.section-heading .eyebrow{padding:0;margin-bottom:23px}.section-heading h2{font-size:3rem}.section-heading>div>p{font-size:1rem;margin-top:20px}.research-grid{grid-template-columns:1fr}.research-card{padding:28px 0!important;border-left:none!important}.research-card+article{border-top:1px solid var(--line)}.research-card h3{margin:40px 0 18px;font-size:2.3rem}.research-card p{max-width:100%}.research-card>a{margin:25px 0}.research-symbol{right:15px}.pi-card{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.pi-portrait{aspect-ratio:1.4}.pi-copy h3{font-size:3rem}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.team-card h3{font-size:1rem}.team-card p{font-size:.8rem}.team-card:last-child .team-photo{aspect-ratio:4/3}.team-card:last-child{grid-column:1 / -1;max-width:calc(50% - 9px)}.publication-toolbar{align-items:end;gap:12px;flex-wrap:wrap}.publication-filters{gap:5px}.publication-filters button{padding:7px 12px;font-size:.8rem}.publication-row{grid-template-columns:45px 1fr;gap:16px;padding:25px 0}.publication-title{font-size:1.025rem}.publication-year{font-size:1rem}.doi-link{grid-column:2;justify-self:start;padding:5px 12px}.publication-journal{font-size:.75rem}.video-grid{grid-template-columns:1fr;gap:17px}.video-card{min-height:300px;padding:28px}.video-card h3{font-size:2.4rem;margin-top:50px}.video-card p{max-width:100%}.archive-link{line-height:1.9}.contact-grid{grid-template-columns:1fr;gap:40px;margin-top:26px}.contact h2{font-size:3rem}.contact-email{font-size:1.9rem}.contact-affiliation{border-top:1px solid #c4d2be33;padding-top:30px}.contact-affiliation p:first-child{font-size:1.3rem}.contact-affiliation p{font-size:.95rem}.site-footer{padding:28px 24px;flex-wrap:wrap;justify-content:flex-start;gap:20px}.footer-brand{width:100%;font-size:1.8rem;gap:15px}.footer-brand span{font-size:.75rem}.site-footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.has-motion .reveal{opacity:1;transform:none}}

/* Restrained Nordic typography: one clean sans-serif hierarchy, smaller size steps. */
h1,h2{font-weight:500;line-height:1.14;letter-spacing:-.045em}h1 em{font-style:normal}h2 em{font-weight:500}h2{font-size:clamp(2rem,3.3vw,3.25rem)}
.brand-mark{font-weight:550;font-size:1.65rem;letter-spacing:-.07em}.footer-brand{font-weight:500;font-size:1.55rem}
.hero{padding-top:190px}.hero h1{font-size:clamp(2.6rem,4.8vw,4.6rem);line-height:1.12;max-width:720px;margin:34px 0 28px}.hero-intro{font-size:1.125rem;line-height:1.65;max-width:510px}
.fractionation-copy{max-width:560px}.fractionation h2{font-size:clamp(1.95rem,3vw,2.85rem);line-height:1.17}.fractionation-copy>p:not(.eyebrow){max-width:500px}.fractionation-copy>p.celf-name{display:block;max-width:500px;margin-top:27px}.celf-name strong{font-family:var(--sans);font-size:1rem;font-weight:600;display:block;color:var(--green);margin-bottom:6px}.celf-name span{font-size:.9rem;display:block}
.research-card h3{font-size:1.8rem;line-height:1.25;font-weight:500;letter-spacing:-.03em}.pi-copy h3{font-size:2.2rem;font-weight:500;letter-spacing:-.035em}.team-card h3{font-weight:550}.video-card h3{font-size:1.8rem;font-weight:500;line-height:1.2;letter-spacing:-.035em}.contact-email{font-size:clamp(1.5rem,2.25vw,2rem);letter-spacing:-.025em;font-weight:400}.legend{gap:18px}.hemicellulose-dot{background:#a68b31}
@media(max-width:1050px){.hero h1{font-size:clamp(2.6rem,5.7vw,4rem)}.research-card h3{font-size:1.5rem}.video-card h3{font-size:1.6rem}.pi-copy h3{font-size:2rem}}
@media(max-width:720px){.brand-mark{font-size:1.5rem}.hero{padding-top:160px;min-height:max(790px,100svh)}.hero h1{font-size:clamp(2.15rem,9.2vw,3.5rem);line-height:1.15;margin-top:28px}.hero-intro{font-size:1rem;max-width:350px}.section-heading h2,.contact h2{font-size:2.05rem;line-height:1.18}.fractionation h2{font-size:1.8rem;line-height:1.2}.fractionation .eyebrow{max-width:300px}.research-card h3{font-size:1.65rem}.pi-copy h3{font-size:1.9rem}.video-card h3{font-size:1.7rem}.contact-email{font-size:1.4rem}.legend{gap:14px;font-size:.8rem;flex-wrap:wrap}.team-card:last-child{grid-column:auto;max-width:none}.team-card:last-child .team-photo{aspect-ratio:4/5}.footer-brand{font-size:1.35rem}}
