:root{--font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--font-serif:Georgia,"Times New Roman",serif;--forest:#123524;--forest-deep:#09271a;--forest-mid:#1d4b35;--forest-soft:#2f6248;--sage:#b8c9b6;--cream:#f2f0e7;--white:#fbfcf8;--line:#ecf3eb38;--muted:#c4d1c7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--forest);color:var(--white);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}nav{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:#09271af0;justify-content:space-between;align-items:center;height:78px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{font:600 20px var(--font-sans);color:var(--white);border:1px solid var(--sage);padding:8px;text-decoration:none}.links{gap:28px;display:flex}.links a,.textlink,footer a{color:var(--white);font:500 14px var(--font-sans);letter-spacing:0;text-decoration:none}.hero{background:linear-gradient(135deg,var(--forest-deep),var(--forest) 58%,var(--forest-mid));flex-direction:column;justify-content:center;min-height:calc(100vh - 78px);padding:9vh 8vw 5vh;display:flex}.eyebrow,.kicker,.section-head span,.meta,.statement>span{font:500 12px/1.5 var(--font-sans);letter-spacing:.035em}.hero h1{font:clamp(72px,10vw,140px)/.98 var(--font-serif);letter-spacing:-.055em;margin:32px 0 45px;font-weight:400}.hero h1 em{color:var(--sage);font-style:normal}.lede{color:#edf3ed;max-width:820px;margin-left:25vw;font-size:clamp(18px,1.7vw,23px);line-height:1.6}.actions{align-items:center;gap:30px;margin:35px 0 60px 25vw;display:flex}.button{background:var(--cream);color:var(--forest-deep);font:500 14px var(--font-sans);padding:16px 20px;text-decoration:none}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:auto;display:grid}.stats div{padding:22px 0}.stats b{font:500 32px var(--font-sans);letter-spacing:-.035em;font-variant-numeric:tabular-nums;display:block}.stats span{font:12px/1.4 var(--font-sans);color:var(--muted)}.statement{background:var(--cream);color:var(--forest-deep);grid-template-columns:1fr 3fr;gap:30px;padding:100px 8vw;display:grid}.statement p{font:400 clamp(28px,3.5vw,46px)/1.3 var(--font-serif);letter-spacing:-.025em;max-width:1100px;margin:0}.statement strong{color:var(--forest-mid);font-weight:400}section:not(.hero,.statement){padding:110px 8vw}.section-head{border-bottom:1px solid var(--line);grid-template-columns:80px 1fr;margin-bottom:50px;padding-bottom:20px;display:grid}.section-head h2{font:500 clamp(30px,4vw,46px)/1.15 var(--font-sans);letter-spacing:-.035em;margin:0}.section-intro{max-width:850px;font:400 clamp(19px,2vw,25px)/1.6 var(--font-sans);color:#e6eee7;margin:-15px 0 55px}.feature{padding:10px 0 70px}.meta{color:var(--sage);flex-wrap:wrap;justify-content:space-between;gap:6px 14px;display:flex}.feature h3,.card h3{font:500 clamp(28px,3.8vw,48px)/1.18 var(--font-sans);letter-spacing:-.03em;max-width:950px;margin:35px 0 25px}.feature>p{color:#e4ece5;max-width:760px;font-size:19px;line-height:1.6}.feature ul{color:#e4ece5;max-width:850px;margin:35px 0 0;padding-left:18px;line-height:1.7}.tags{flex-wrap:wrap;gap:8px;margin-top:25px;display:flex}.tags span,.methods span{border:1px solid var(--line);font:12px/1.4 var(--font-sans);background:#ffffff09;padding:9px 12px}.grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.experience-grid{grid-template-columns:repeat(2,1fr)}.card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff06;min-height:350px;padding:32px}.card h3{letter-spacing:-.025em;font-size:27px;line-height:1.25}.card p{color:#d8e2da;line-height:1.7}.timeline>div{border-top:1px solid var(--line);grid-template-columns:120px 1fr;padding:30px 0;display:grid}.timeline time{font:500 13px var(--font-sans);color:var(--sage)}.timeline p{color:#e4ece5;max-width:900px;margin:0;line-height:1.6}.methods-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-bottom:36px;display:grid}.method-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff06;padding:30px}.method-card h3{font:500 24px/1.3 var(--font-sans);letter-spacing:-.02em;color:var(--sage);margin:0 0 18px}.method-card p{color:#d8e2da;margin:0;line-height:1.7}.methods{flex-wrap:wrap;gap:12px;display:flex}.methods span{padding:14px 17px;font-size:13px}.about{border-top:1px solid var(--line);background:var(--forest-deep)!important}.about h2{font:500 clamp(34px,5.5vw,70px)/1.15 var(--font-sans);letter-spacing:-.04em;margin:35px 0}.about h2 em{color:var(--sage);font-style:normal;font-weight:400}.about p:last-child{color:#d8e2da;font-size:18px}footer{color:#fff;border-top:1px solid var(--line);background:#061b12;grid-template-columns:1fr 1fr auto;align-items:end;gap:20px;padding:55px 8vw;display:grid}footer div{flex-direction:column;gap:8px;display:flex}footer a{color:#fff}footer small,footer span{color:#aebfb2;font:12px/1.4 var(--font-sans)}@media (width<=800px){.links a:not(:last-child){display:none}.hero{padding:8vh 6vw}.hero h1{font-size:19vw}.lede,.actions{margin-left:0}.statement,.grid,.experience-grid,.methods-grid{grid-template-columns:1fr}.section-head{grid-template-columns:45px 1fr}section:not(.hero,.statement){padding:80px 6vw}.stats b{font-size:27px}.timeline>div{grid-template-columns:75px 1fr}footer{grid-template-columns:1fr}.card{min-height:0}}:root{--ease-out:cubic-bezier(.16,1,.3,1)}section[id],main[id]{scroll-margin-top:100px}html.is-smooth-scrolling{scroll-behavior:auto}.reading-progress{z-index:20;transform-origin:0;pointer-events:none;background:linear-gradient(90deg,#b8c9b6,#d6f99c);height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0);box-shadow:0 0 14px #c7ed9c80}nav{transition:background .4s,box-shadow .4s}nav.is-scrolled{background:#061b12f7;box-shadow:0 12px 35px #0002}.links a,.textlink,footer a{width:fit-content;position:relative}.links a:after,.textlink:after,footer a:after{content:"";background:var(--sage);transform-origin:0;height:1px;transition:transform .4s var(--ease-out);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.links a:hover:after,.links a[aria-current]:after,.textlink:hover:after,footer a:hover:after{transform:scaleX(1)}a:focus-visible{outline-offset:7px;outline:2px solid #d6f99c}.hero{isolation:isolate;position:relative;overflow:hidden}.hero>:not(.cell-field){z-index:1;position:relative}.cell-field{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(#b4d58a1c,#0000 65%);border-radius:50%;width:65vw;height:65vw;animation:16s ease-in-out infinite alternate aurora-drift;position:absolute;top:-15vw;right:-20vw}.hero:after{content:"";pointer-events:none;z-index:-1;border:1px solid #cde5ab18;border-radius:50%;width:48vw;height:48vw;animation:10s ease-in-out infinite orbit-breathe;position:absolute;top:9%;right:-7vw;box-shadow:0 0 0 55px #cde5ab06,0 0 0 110px #cde5ab04}.hero-letter{display:inline-block}.motion-ready .hero-letter{animation:letter-enter 1.3s var(--ease-out) both;animation-delay:calc(.1s + var(--letter) * 55ms)}.motion-ready .eyebrow{animation:fade-rise 1s var(--ease-out) both}.motion-ready .lede{animation:fade-rise 1.2s .45s var(--ease-out) both}.motion-ready .actions{animation:fade-rise 1.2s .65s var(--ease-out) both}.motion-ready .stats{animation:fade-rise 1.2s .85s var(--ease-out) both}.eyebrow:before{content:"";background:#cfeca7;border-radius:50%;width:6px;height:6px;margin:0 10px 1px 0;animation:3s ease-in-out infinite signal;display:inline-block;box-shadow:0 0 0 5px #cfeca710}.button,.brand{transition:translate .35s var(--ease-out),box-shadow .35s,background .35s;position:relative}.button{overflow:hidden}.button:after{content:"";background:linear-gradient(110deg,#0000 40%,#fff9 50%,#0000 60%);transition:transform .7s;position:absolute;inset:-50%;transform:translate(-100%)}.button:hover:after{transform:translate(100%)}.button:hover{background:#d7e6c0;box-shadow:0 8px 35px #c7ed9c20}.motion-ready .reveal{opacity:0;transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:var(--delay,0s);transform:translateY(38px)}.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.section-head{border-bottom-color:#0000;position:relative}.section-head:after{content:"";background:var(--line);transform-origin:0;width:100%;height:1px;transition:transform 1.4s .2s var(--ease-out);position:absolute;bottom:0;left:0;transform:scaleX(0)}.section-head.is-visible:after{transform:scaleX(1)}.card,.method-card{isolation:isolate;transition:transform .5s var(--ease-out),background .5s,box-shadow .5s;position:relative}.card:before,.method-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(450px circle at var(--glow-x,50%) var(--glow-y,50%),#c7ed9c18,transparent 70%);opacity:0;transition:opacity .4s;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.motion-ready .card.is-visible:hover,.motion-ready .method-card.is-visible:hover{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-5px);z-index:2;background:#1a422f;transition-delay:0s;box-shadow:0 18px 45px #0002}.card:hover:before,.method-card:hover:before{opacity:1}.tags span,.methods span{transition:background .3s,transform .3s,border-color .3s}.tags span:hover,.methods span:hover{border-color:var(--sage);background:#c7ed9c15;transform:translateY(-3px)}}.about{isolation:isolate;position:relative;overflow:hidden}.about:after{content:"";z-index:-1;background:radial-gradient(circle,#92bb6b16,#0000 70%);width:500px;height:500px;animation:12s ease-in-out infinite alternate aurora-drift;position:absolute;top:0;right:-150px}@keyframes letter-enter{0%{opacity:0;filter:blur(12px);transform:translateY(75px)rotate(8deg)}to{opacity:1;filter:blur();transform:translateY(0)rotate(0)}}@keyframes fade-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes aurora-drift{to{transform:translate(-8%,18%)scale(1.2)}}@keyframes orbit-breathe{50%{opacity:.45;transform:scale(1.08)translateY(15px)}}@keyframes signal{50%{box-shadow:0 0 0 8px #cfeca700}}@media (width<=800px){.hero:after{width:80vw;height:80vw;top:15%;right:-35vw}.actions{flex-wrap:wrap;gap:24px}.cell-field{opacity:.65}.eyebrow{line-height:1.7}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.motion-ready .reveal,.motion-ready .hero-letter{opacity:1;filter:none;transform:none}.section-head:after{transform:scaleX(1)}.button,.brand{translate:none!important}.motion-ready .card.is-visible:hover,.motion-ready .method-card.is-visible:hover{transform:none}}.personal-intro{max-width:760px;margin-left:80px}.presentation-status{color:var(--sage);border:1px solid var(--line);padding:7px 11px;font-size:12px;line-height:1.5;display:inline-block}.presentation h3{max-width:900px;font:500 clamp(22px,2.5vw,30px)/1.35 var(--font-sans);letter-spacing:-.02em;margin:20px 0 16px}.presentation p+p{margin-top:8px}.presentation .presentation-recognition{color:var(--sage);margin-top:16px;font-size:14px}.research-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px 32px;max-width:1056px;margin:0 auto 70px;display:grid}@media (width<=800px){.research-gallery{grid-template-columns:minmax(0,1fr);max-width:512px}}.research-image{width:100%;min-width:0;margin:0}.research-image>a{border:1px solid var(--line);background:#080406;display:block}.research-image img{width:100%;height:auto;display:block}.research-gallery>figcaption{text-align:center;color:var(--muted);grid-column:1/-1;font-size:14px;line-height:1.5}.personal-intro p{color:#e4ece5;margin:0 0 24px;font-size:clamp(18px,1.7vw,22px);line-height:1.7}.personal-intro .textlink{margin-top:8px;display:inline-block}@media (width<=800px){.personal-intro{margin-left:0}}
