@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-tight-latin-500-normal.BFXNXuvF.woff2)format("woff2"),url(/_astro/inter-tight-latin-500-normal.pobXraBK.woff)format("woff")}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-tight-latin-700-normal.BZKd_v_8.woff2)format("woff2"),url(/_astro/inter-tight-latin-700-normal.DvYAVZQd.woff)format("woff")}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}:root{--paper:#f3f0e7;--ink:#111310;--green:#35734d;--pine:#183d2d;--light-green:#9ebb8e;--line:#cccac0;--muted:#5f6258;--mono:"JetBrains Mono",monospace;--serif:"Instrument Serif",serif;font-synthesis:none;color:var(--ink);background:var(--paper);color-scheme:light;font-family:Inter Tight,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body,h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--green);outline-offset:6px}.ink a:focus-visible{outline-color:var(--light-green)}::selection{background:var(--green);color:#fff}.wrap{width:min(100% - 48px,1440px);margin-inline:auto}.mono,.section-label,.chip{font:400 11px/1.6 var(--mono);letter-spacing:.025em}.skip{z-index:10;background:var(--ink);color:var(--paper);padding:14px;position:absolute;top:10px;left:24px;transform:translateY(-160%)}.skip:focus{transform:none}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:100px;display:flex}.wordmark{letter-spacing:-.09em;min-width:55px;font-size:32px;font-weight:700}.wordmark-dot{color:var(--green)}.header nav{flex-wrap:wrap;justify-content:flex-end;gap:0 24px;display:flex}.header nav a{align-items:center;min-height:44px;font-size:14px;display:flex}.header nav a:hover,.header nav a[aria-current]{text-underline-offset:6px;text-decoration:underline}.arrow{vertical-align:middle;flex-shrink:0;display:inline-block}.hero{flex-direction:column;justify-content:space-between;min-height:calc(100svh - 100px);padding-block:42px 34px;display:flex}.hero-top{justify-content:space-between;align-items:center;display:flex}.hero-top>span:last-child{color:var(--green)}.hero h1{letter-spacing:-.078em;margin-block:70px;font-size:clamp(76px,15.6vw,235px);font-weight:500;line-height:.78}.hero h1 span{display:block}.hero h1 .surname{font-family:var(--serif);letter-spacing:-.04em;margin-left:17%;font-style:italic;font-weight:400}.hero-bottom{grid-template-columns:1fr 1fr auto;align-items:end;gap:25px;display:grid}.hero-bottom p{font-size:14px;line-height:1.6}.link-arrow{border-bottom:1px solid;align-items:center;gap:28px;min-height:44px;font-size:14px;display:inline-flex}.sheet{padding-block:80px 96px}.ink{background:var(--ink);color:var(--paper);--line:#3a3c34;--muted:#b9bdaf}.section-label{border-top:1px solid var(--line);justify-content:space-between;gap:24px;margin-bottom:46px;padding-top:15px;display:flex}.section-label>span:last-child{text-align:right}.section-title{letter-spacing:-.055em;max-width:1100px;margin-bottom:50px;font-size:clamp(54px,8vw,116px);font-weight:500;line-height:.98}.serif{font-family:var(--serif);font-style:italic;font-weight:400}.intro-grid{grid-template-columns:1fr 1.25fr;gap:70px;display:grid}.intro-heading{letter-spacing:-.045em;font-size:clamp(38px,4.7vw,70px);font-weight:400;line-height:1.05}.intro-copy{letter-spacing:-.02em;font-size:clamp(21px,2.3vw,32px);line-height:1.5}.intro-copy p+p{margin-top:28px}.intro-copy .link-arrow{margin-top:36px}.accent{color:var(--green)}.ink .accent{color:var(--light-green)}.project-row{border-top:1px solid var(--line)}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row>a{grid-template-columns:40px 1fr 1fr 24px;align-items:start;gap:25px;padding:32px 8px;transition:background .2s,transform .2s,color .2s;display:grid}.project-number{color:var(--muted);padding-top:7px}.project-name h3{letter-spacing:-.035em;max-width:520px;font-size:clamp(23px,2.5vw,36px);font-weight:500;line-height:1.13}.chip{border:1px solid var(--line);border-radius:20px;margin-top:15px;padding:3px 10px;display:inline-block}.project-summary p{max-width:480px;font-size:17px;line-height:1.6}.categories{color:var(--muted);margin-top:18px;font-size:10px;display:block}.project-row>a:hover{background:var(--ink);color:var(--paper);--muted:#c0c4b7;--line:#5f6258;transform:translateY(-3px)}.ink .project-row>a:hover{background:var(--paper);color:var(--ink);--muted:#5f6258;--line:#a4a69a}.section-end{justify-content:flex-end;margin-top:35px;display:flex}.publication-title{letter-spacing:-.035em;overflow-wrap:anywhere;max-width:1140px;font-size:clamp(29px,4.2vw,60px);font-weight:400;line-height:1.12}.citation{color:var(--muted);margin-block:30px;line-height:1.8}.publication-note{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:50px;padding-top:28px;display:grid}.publication-note p{max-width:620px;font-size:18px;line-height:1.6}.publication-note .link-arrow{place-self:start end}.achievement-list{margin:0;padding:0;list-style:none}.achievement-list li{border-top:1px solid var(--line);grid-template-columns:55px 1fr;align-items:baseline;gap:20px;padding:23px 0;display:grid}.achievement-list .mono{color:var(--muted)}.achievement-list p{letter-spacing:-.025em;font-size:clamp(21px,3vw,38px)}.venture-grid{grid-template-columns:1.2fr 1fr;gap:70px;display:grid}.venture-title{letter-spacing:-.055em;font-size:clamp(48px,7vw,96px);font-weight:500;line-height:.95}.venture-grid p{font-size:23px;line-height:1.5}.venture-grid .link-arrow{margin-top:30px}.interest-links{border-top:1px solid var(--line);margin-top:70px}.interest-links a{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 24px;align-items:center;gap:25px;padding:26px 0;display:grid}.interest-links h3{letter-spacing:-.03em;font-size:30px;font-weight:400}.interest-links p{color:var(--muted);line-height:1.5}.profiles{flex-wrap:wrap;gap:12px 40px;display:flex}.profiles a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:56px;font-size:20px;display:flex}.footer{padding-block:50px 25px}.footer-cta{letter-spacing:-.05em;justify-content:space-between;align-items:center;padding-bottom:55px;font-size:clamp(45px,8vw,112px);line-height:1.2;display:flex}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 25px;padding-top:24px;font-size:13px;display:flex}.footer-bottom a{align-items:center;gap:12px;min-height:44px;display:flex}.footer-bottom>span{color:var(--muted)}.page-head{padding-block:65px}.page-head h1{letter-spacing:-.055em;overflow-wrap:anywhere;max-width:1200px;margin-block:36px;font-size:clamp(54px,9vw,130px);font-weight:500;line-height:.98}.page-head .lead{letter-spacing:-.02em;max-width:850px;font-size:clamp(21px,2.4vw,32px);line-height:1.5}.page-head .mono{color:var(--muted)}.filters{flex-wrap:wrap;gap:10px;margin-bottom:35px;display:none}.filters.enhanced{display:flex}.filters button{border:1px solid var(--line);color:var(--ink);min-height:44px;font:11px var(--mono);cursor:pointer;background:0 0;border-radius:30px;padding:10px 16px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}[hidden]{display:none!important}.filter-count{color:var(--muted);margin-bottom:20px}.collection{padding-bottom:80px}.project-meta{border-block:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:35px;margin-bottom:50px;padding-block:30px;display:grid}.project-meta dt{font:11px var(--mono);color:var(--muted);margin-bottom:12px}.project-meta dd{margin:0;font-size:17px;line-height:1.5}.case-body{grid-template-columns:1fr 2fr;gap:50px;display:grid}.case-body aside{font:11px/1.7 var(--mono)}.case-section{padding-bottom:40px}.case-section h2{letter-spacing:-.03em;margin-bottom:20px;font-size:32px;font-weight:500}.case-section p,.case-section li{max-width:800px;font-size:19px;line-height:1.75}.case-section ul{margin:0;padding-left:22px}.case-section li+li{margin-top:14px}.tools{flex-wrap:wrap;gap:10px;display:flex;padding:0!important;list-style:none!important}.tools li{font:11px/1.6 var(--mono);border:1px solid var(--line);padding:8px 12px;margin:0!important}.project-media{margin-block:40px 60px}.project-media img,.project-media video{width:100%;height:auto;display:block}.project-media figcaption{font:11px var(--mono);color:var(--muted);margin-top:12px}.media-placeholder{border:1px solid var(--line);background:linear-gradient(135deg,#e1e5d8,#e9e6dd 70%);flex-direction:column;justify-content:space-between;align-items:start;gap:40px;min-height:360px;padding:35px;display:flex}.placeholder-title{font-family:var(--serif);max-width:800px;font-size:clamp(35px,5vw,70px);font-style:italic;line-height:1.1}.text-grid{grid-template-columns:1fr 1fr;gap:50px;display:grid}.text-grid h2,.text-grid h3{letter-spacing:-.03em;margin-bottom:22px;font-size:32px;font-weight:400}.text-grid p{font-size:20px;line-height:1.7}.text-grid .link-arrow{margin-top:25px}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-top:1px solid var(--line);grid-template-columns:190px 1fr 1fr;gap:35px;padding:30px 0;display:grid}.timeline h2{letter-spacing:-.03em;font-size:27px;font-weight:500;line-height:1.15}.timeline .role{color:var(--muted);margin-top:10px;font-size:15px}.timeline .detail{font-size:17px;line-height:1.6}.skills-grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.skills-grid h3{font:12px var(--mono);margin-bottom:18px}.skills-grid p{color:var(--muted);font-size:16px;line-height:1.8}.prose{max-width:900px;margin-left:auto}.prose p{letter-spacing:-.02em;font-size:clamp(22px,2.5vw,34px);line-height:1.6}.prose p+p{margin-top:30px}.quote{font:italic 400 clamp(50px,8vw,110px)/1 var(--serif);max-width:1100px;margin-top:80px}.release-grid{grid-template-columns:1fr 1fr;align-items:center;gap:65px;display:grid}.release-grid img{width:100%;max-width:540px;height:auto;display:block}.release-grid h2{letter-spacing:-.05em;margin-block:25px;font-size:clamp(48px,6vw,86px);font-weight:500}.release-grid p{font-size:20px;line-height:1.7}.release-grid .link-arrow{margin-top:25px}.contact-list{margin-top:40px}.contact-list a{border-top:1px solid var(--line);letter-spacing:-.03em;justify-content:space-between;gap:25px;padding:22px 0;font-size:clamp(24px,4vw,48px);display:flex}.contact-list a:hover{color:var(--green)}.contact-list .arrow{align-self:center}.small-note{font:12px/1.7 var(--mono);color:var(--muted);margin-top:30px}@media (width>=1600px){.wrap{width:min(100% - 120px,1440px)}}@media (width<=900px){.wrap{width:calc(100% - 40px)}.header{align-items:flex-start;gap:20px;padding-block:20px}.header nav{gap:0 18px}.hero{min-height:calc(100svh - 130px)}.hero h1{font-size:16vw}.intro-grid,.venture-grid{gap:35px}.project-row>a{grid-template-columns:30px 1fr 1fr 20px;gap:18px}.project-meta{grid-template-columns:1fr 1fr}.project-meta>div:last-child{grid-column:1/-1}.timeline li{grid-template-columns:135px 1fr;gap:20px}.timeline .detail{grid-column:2}.skills-grid{grid-template-columns:1fr 1fr}.case-body{grid-template-columns:1fr}.case-body aside{display:none}.release-grid{gap:35px}}@media (width<=600px){.header{gap:18px}.wordmark{font-size:29px}.header nav{gap:0 15px;max-width:290px}.header nav a{min-height:35px;font-size:12px}.hero{min-height:calc(100svh - 120px);padding-top:28px}.hero-top{font-size:9px}.hero-top>span:last-child{text-align:right;max-width:110px}.hero h1{margin-block:70px;font-size:19vw;line-height:.88}.hero h1 .surname{margin-left:4%}.hero-bottom{grid-template-columns:1fr 1fr;gap:25px}.hero-bottom p{font-size:12px}.hero-bottom .link-arrow{grid-column:1/-1;justify-content:space-between}.sheet{padding-block:50px 60px}.section-label{margin-bottom:35px;font-size:9px}.section-title{margin-bottom:35px}.intro-grid,.venture-grid,.text-grid,.release-grid{grid-template-columns:1fr;gap:35px}.intro-copy{font-size:23px}.project-row>a{grid-template-columns:26px 1fr 20px;gap:15px;padding:27px 0}.project-summary{grid-area:2/2}.project-row .arrow{grid-area:1/3}.project-name h3{font-size:27px}.project-summary p{font-size:16px}.chip{margin-top:12px;font-size:9px}.categories{font-size:9px}.publication-note{grid-template-columns:1fr;gap:20px}.publication-note .link-arrow{justify-self:start}.achievement-list li{grid-template-columns:30px 1fr;gap:15px}.interest-links a{grid-template-columns:1fr 24px;gap:15px}.interest-links p{grid-area:2/1;font-size:16px}.interest-links .arrow{grid-area:1/2}.interest-links{margin-top:50px}.venture-grid p{font-size:21px}.page-head{padding-block:45px}.page-head h1{margin-block:28px}.project-meta{grid-template-columns:1fr;gap:25px}.project-meta>div:last-child{grid-column:auto}.media-placeholder{min-height:300px;padding:24px}.timeline li{grid-template-columns:1fr;gap:15px}.timeline .detail{grid-column:auto}.skills-grid{grid-template-columns:1fr;gap:30px}.footer-cta .arrow{width:35px}.footer-bottom{justify-content:flex-start}.footer-bottom>span:last-child{margin-left:auto}.footer .section-label{font-size:9px}.quote{margin-top:45px}.profiles{gap:10px 25px}.profiles a{font-size:17px}}@media (prefers-reduced-motion:no-preference){.reveal-ready{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(20px)}.reveal-ready.visible{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.photo{margin:0;position:relative}.photo picture,.photo img{width:100%;display:block}.photo img{height:auto;aspect-ratio:var(--ratio,auto);object-fit:cover;filter:saturate(.92);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s}.photo picture{overflow:hidden}.photo:hover img{filter:saturate();transform:scale(1.025)}.photo figcaption{letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-top:12px;font-size:12px}.photo-split{grid-template-columns:1fr;align-items:end;gap:35px;margin-top:50px;display:grid}.photo-row{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:50px;display:grid}@media (width>=900px){.photo-split{grid-template-columns:1.1fr .9fr;gap:70px}.page-head.has-photo{grid-template-columns:1.3fr .7fr;align-items:end;gap:60px;display:grid}}@media (width<=640px){.photo-row{grid-template-columns:1fr 1fr}.photo-row .photo:last-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.photo img{transition:none}.photo:hover img{transform:none}}.featured-project>a{grid-template-columns:40px 1fr 1fr;padding:32px 20px;transition:transform .22s,background .22s,color .22s}.featured-project .project-reveal{opacity:0;grid-column:2/-1;grid-template-columns:1fr auto 24px;align-items:center;gap:24px;transition:opacity .22s,transform .22s;display:grid;transform:translateY(8px)}.project-reveal p{max-width:700px;margin-top:6px;font-size:17px;line-height:1.6}.project-reveal .chip{white-space:nowrap;margin:0}.approach-label{color:var(--muted)}.featured-project:hover .project-reveal,.featured-project:focus-within .project-reveal{opacity:1;transform:none}.project-row>a:focus-visible{background:var(--ink);color:var(--paper);--muted:#c0c4b7;--line:#5f6258}.case-subtitle{font:12px/1.6 var(--mono);color:var(--muted);letter-spacing:0;margin-top:8px;display:block}.case-results{list-style:none;padding:0!important}.case-results .chip{margin:0 0 8px}.tools-explorer{border-top:1px solid var(--line);padding-block:25px 80px}.tools-explorer h2{letter-spacing:-.035em;margin-bottom:18px;font-size:clamp(32px,4vw,54px);font-weight:500}.tools-explorer>p{line-height:1.7}.tool-controls{flex-wrap:wrap;gap:8px;margin-block:28px;display:flex}.tool-controls button{border:1px solid var(--muted);min-height:44px;color:var(--ink);font:11px/1.6 var(--mono);cursor:pointer;background:0 0;border-radius:24px;padding:10px 14px}.tool-controls button:hover,.tool-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.tool-count{color:var(--muted);margin-block:25px}.tool-projects{grid-template-columns:1fr 1fr;gap:0 35px;padding:0;list-style:none;display:grid}.tool-projects li{border-top:1px solid var(--line);min-width:0;padding-block:20px}.tool-projects a{text-underline-offset:4px;font-size:22px;line-height:1.4;text-decoration:underline;display:inline-block}.tool-projects p{font:11px/1.8 var(--mono);color:var(--muted);overflow-wrap:anywhere;margin-top:12px}@media (hover:none),(width<=900px){.featured-project .project-reveal{opacity:1;transform:none}}@media (width<=600px){.featured-project>a{grid-template-columns:26px 1fr;gap:16px;padding:27px 8px}.featured-project .project-summary{grid-column:2}.featured-project .project-reveal{grid-column:2;grid-template-columns:1fr 24px;gap:16px}.project-reveal>div{grid-column:1/-1}.project-reveal .chip{justify-self:start}.featured-project .project-reveal .arrow{grid-area:2/2}.tool-projects{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.featured-project>a,.featured-project .project-reveal{transition:none;transform:none}.project-row>a:hover{transform:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bc-stage{background:radial-gradient(120% 80% at 50% 35%,#fbf9f3 0%,var(--paper) 55%,#e4e0d4 100%);align-content:center;place-items:center;gap:34px;min-height:100svh;padding:90px 20px 60px;display:grid;position:relative;overflow:hidden}.bc-skip{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-size:12px;position:absolute;top:84px;right:clamp(20px,4vw,48px)}.bc-scene{perspective:1400px;width:min(560px,92vw)}.bc-tilt{--rx:0deg;--ry:0deg;--gx:50%;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .25s ease-out}.bc-card{aspect-ratio:3.5/2;transform-style:preserve-3d;cursor:pointer;border-radius:14px;outline:none;transition:transform .9s cubic-bezier(.3,1.25,.4,1);position:relative}.bc-card:focus-visible{box-shadow:0 0 0 3px var(--paper),0 0 0 6px var(--green)}.is-flipped .bc-card{transform:rotateY(180deg)}.bc-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:14px;flex-direction:column;justify-content:space-between;padding:clamp(16px,4.2%,28px);display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 1px #00000014,0 12px 24px -8px #0e0f0c59,0 40px 70px -20px #0e0f0c73}.bc-face:after{content:"";pointer-events:none;background:linear-gradient(115deg,transparent 30%,#ffffff24 calc(var(--gx) - 8%),transparent calc(var(--gx) + 14%));mix-blend-mode:screen;position:absolute;inset:0}.bc-front{background:radial-gradient(140% 120% at 0% 0%,#1d1f19 0%,var(--ink) 60%);color:var(--paper)}.bc-back{color:var(--ink);background:linear-gradient(160deg,#fbf9f3,#ece8dc);transform:rotateY(180deg)}.bc-row{letter-spacing:.08em;text-transform:uppercase;opacity:.82;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(9px,1.9vw,11.5px);display:flex}.bc-row a{color:inherit}.bc-mark{letter-spacing:-.04em;text-transform:none;opacity:1;font-family:Inter Tight,sans-serif;font-size:clamp(14px,3.2vw,20px);font-weight:700}.bc-mark i{color:var(--light-green);font-style:normal}.bc-back .bc-mark i{color:var(--green)}.bc-name{letter-spacing:-.05em;margin:0;font-size:clamp(30px,8.6vw,54px);font-weight:500;line-height:.92}.bc-name span{font-family:var(--serif);letter-spacing:-.02em;color:var(--light-green);font-style:italic;font-weight:400}.bc-role{letter-spacing:-.01em;opacity:.9;margin:12px 0 0;font-size:clamp(11px,2.5vw,15px)}.bc-links{gap:clamp(3px,1vw,8px);margin:0;padding:0;list-style:none;display:grid}.bc-links li{border-bottom:1px solid #0e0f0c1f;grid-template-columns:clamp(62px,17vw,96px) 1fr;align-items:baseline;padding-bottom:clamp(2px,.7vw,6px);display:grid}.bc-links .mono{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:clamp(8.5px,1.8vw,11px)}.bc-links a{color:var(--ink);letter-spacing:-.01em;overflow-wrap:anywhere;font-size:clamp(11.5px,2.7vw,16px);text-decoration:none}.bc-links a:hover,.bc-links a:focus-visible{color:var(--green);text-decoration:underline}.bc-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;min-height:52px;display:flex}.bc-btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:12px 18px;font-size:12px}.bc-btn:hover,.bc-btn:focus-visible{background:var(--ink);color:var(--paper)}.bc-learn{background:var(--green);color:#fff;border-radius:999px;align-items:center;gap:10px;padding:13px 22px;font-weight:500;text-decoration:none;display:inline-flex;box-shadow:0 10px 30px -10px #397148b3}.bc-learn:hover,.bc-learn:focus-visible{background:var(--ink)}.js .bc-learn{opacity:0;pointer-events:none;transition:opacity .5s,transform .5s cubic-bezier(.3,1.4,.5,1);transform:translateY(14px)scale(.96)}.js.bc-ready .bc-learn{opacity:1;pointer-events:auto;transform:none}.js .bc-scene{animation:1.2s cubic-bezier(.2,1.1,.35,1) both bc-in}.js .bc-tilt{animation:6s ease-in-out 1.2s infinite bc-float}.js.is-leaving .bc-scene{opacity:0;transition:transform .5s ease-in,opacity .5s;transform:translateY(-40px)scale(.82)}@keyframes bc-in{0%{opacity:0;transform:translateY(-70vh)rotate(-14deg)rotateX(40deg)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes bc-float{0%,to{translate:0}50%{translate:0 -8px}}#portfolio:focus{outline:none}@media (prefers-reduced-motion:reduce){.js .bc-scene,.js .bc-tilt{animation:none}.bc-tilt,.bc-card,.is-flipped .bc-card{transition:none;transform:none}.bc-face{transition:opacity .4s}.bc-back{opacity:0;transform:none}.is-flipped .bc-back{opacity:1}.is-flipped .bc-front{opacity:0}.js .bc-learn,.js.is-leaving .bc-scene{transition:opacity .3s;transform:none}}.mnav{display:none}@media (width<=760px){.header{flex-wrap:nowrap;align-items:center;min-height:68px;padding-block:12px}.nav-desktop{display:none}.mnav{display:block;position:static}.mnav-toggle{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);z-index:61;background:var(--paper);color:var(--ink);border-radius:999px;padding:9px 16px;font-size:12px;list-style:none;position:relative}.mnav-toggle::-webkit-details-marker{display:none}.mnav-toggle:focus-visible{outline:2px solid var(--green);outline-offset:3px}.mnav-close,.mnav[open] .mnav-open{display:none}.mnav[open] .mnav-close{display:inline}.mnav-panel{z-index:60;background:var(--ink);color:var(--paper);flex-direction:column;justify-content:center;gap:6px;padding:90px 28px 40px;display:flex;position:fixed;inset:0}.mnav-panel a{color:var(--paper);letter-spacing:-.04em;padding:4px 0;font-size:clamp(34px,10vw,48px);line-height:1.15;text-decoration:none}.mnav-panel a[aria-current=page]{color:var(--light-green)}.mnav-panel a:focus-visible{outline:2px solid var(--light-green);outline-offset:4px}.mnav[open] .mnav-toggle{background:var(--paper)}.mnav-locked{overflow:hidden}.bc-stage{align-content:start;min-height:auto;padding-top:40px;padding-bottom:70px}.bc-skip{top:14px}}@media (width<=760px) and (prefers-reduced-motion:no-preference){.mnav[open] .mnav-panel{animation:.25s ease-out mnav-in}}@keyframes mnav-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (width<=760px){.header .nav-desktop{display:none}.header .mnav-panel{flex-flow:column;justify-content:center;gap:6px;width:auto;max-width:none;display:flex}.header .mnav-panel a{min-height:44px;font-size:clamp(34px,10vw,48px)}}.monogram{width:64px;height:auto;display:block;overflow:visible}.bc-mark .monogram{width:40px}.bc-row{opacity:1}.wordmark{align-items:center;min-height:48px;display:inline-flex}.pine{background:var(--pine);--line:#587366;--muted:#d0dbca}.topo{pointer-events:none;width:100%;height:100%;color:var(--light-green);opacity:.16;position:absolute;inset:0}.topo path{stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}.publication-sheet{position:relative;overflow:hidden}.publication-sheet>.wrap{position:relative}.publication-sheet>.topo{opacity:.055}.landscape-hero{isolation:isolate;background:var(--pine);color:var(--paper);min-height:760px;padding:0;position:relative;overflow:hidden}.landscape-hero .hero-content{z-index:2;flex-direction:column;align-items:start;padding-block:40px 36px;display:flex;position:relative}.landscape-hero .hero-top{gap:24px;width:100%;line-height:1.7}.landscape-hero .hero-top>span:last-child{color:var(--paper)}.hero-photo{z-index:-1;position:absolute;inset:0}.hero-photo picture,.hero-photo img{width:100%;height:100%;display:block}.hero-photo img{object-fit:cover;object-position:center 40%}.hero-photo:after{content:"";background:linear-gradient(90deg,#111310e0,#183d2d47),linear-gradient(#1113101f 10%,#111310f5);position:absolute;inset:0}.landscape-hero>.topo{z-index:1;opacity:.09}.landscape-hero h1{letter-spacing:-.065em;margin:84px 0 35px;font-size:clamp(82px,17vw,165px);line-height:.85;position:relative}.landscape-hero h1 .surname{color:var(--light-green);margin:5px 0 0}.hero-identity{letter-spacing:-.025em;font-size:clamp(24px,3vw,36px);line-height:1.16}.hero-intro{max-width:440px;margin-top:24px;font-size:18px;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-button{border:1px solid var(--light-green);background:var(--light-green);color:var(--ink);border-radius:999px;align-items:center;gap:20px;min-height:48px;padding:12px 20px;font-size:14px;display:inline-flex}.hero-secondary{color:var(--paper);border-color:var(--paper);background:0 0}.hero-button:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}.hero-education{color:var(--paper);margin-top:48px}.landscape-hero a:focus-visible{outline-color:var(--light-green)}.work-grid{grid-template-columns:1fr;gap:24px;display:grid}.work-card{border:1px solid var(--line);flex-direction:column;min-width:0;transition:border-color .25s;display:flex}.work-card:hover,.work-card:focus-within{border-color:var(--green)}.work-visual{background:#e6e9dd;flex:none;height:260px;overflow:hidden}.work-visual>a{height:100%;display:block}.project-glyph{width:100%;height:100%;color:var(--green);padding:10px;transition:transform .5s;display:block}.work-card:hover .project-glyph{transform:scale(1.035)}.work-card-body{flex-direction:column;flex:1;padding:24px;display:flex}.work-card-meta{color:var(--green);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.work-card-meta .chip{color:var(--ink);border-color:#909b89;margin:0;font-size:10px}.work-card h3{letter-spacing:-.035em;margin-block:22px 16px;font-size:30px;font-weight:500;line-height:1.08}.work-card-body>p{font-size:17px;line-height:1.6}.work-card-reveal{opacity:1;grid-template-columns:1fr 24px;align-items:end;gap:18px;margin-top:auto;padding-top:28px;display:grid}.work-card-reveal .mono{color:var(--green);font-size:10px}.work-card-reveal p{margin-top:6px;font-size:15px;line-height:1.6}.work-card-reveal .arrow{color:var(--green)}.paper-figure{min-width:0;margin:0}.paper-mat{background:var(--paper);padding:clamp(12px,2vw,28px)}.paper-mat picture,.paper-mat img{width:100%;height:auto;display:block}.paper-figure figcaption{font:11px/1.7 var(--mono);color:var(--muted);margin-top:14px}.paper-figure figcaption p{margin-bottom:10px}.paper-figure figcaption a{text-underline-offset:3px;text-decoration:underline}.paper-card{background:var(--paper);flex-direction:column;height:100%;display:flex}.paper-card .paper-mat{flex:1;min-height:0;padding:12px}.paper-card .paper-mat picture,.paper-card .paper-mat img{object-fit:contain;height:100%}.paper-card figcaption{color:var(--muted);margin:0;padding:5px 14px 10px;font-size:9px;line-height:1.5}.paper-gallery{grid-template-columns:1fr;align-items:start;gap:32px;margin-top:50px;display:grid}.paper-gallery>div{gap:32px;display:grid}.paper-case{margin-block:40px 70px}.publication-links{flex-direction:column;align-items:start;gap:15px;min-width:0;display:flex}.publication-links .link-arrow{overflow-wrap:anywhere;place-self:start}.method-list{flex-wrap:wrap;gap:10px;margin-top:32px;padding:0;list-style:none;display:flex}.method-list li{font:11px/1.6 var(--mono);border:1px solid var(--line);padding:8px 12px}.metrics{grid-template-columns:1fr 1fr;gap:32px 22px;margin:0;display:grid}.metrics>div{border-top:1px solid var(--line);flex-direction:column;padding-top:25px;display:flex}.metrics dt{order:2;margin-top:12px;font-size:18px;line-height:1.4}.metrics dd{margin:0;display:contents}.metric-value{letter-spacing:-.07em;white-space:nowrap;order:1;min-height:1.1em;font-size:clamp(56px,8vw,112px);font-weight:500;line-height:1.1}.metrics dd>.mono{color:var(--muted);order:3;margin-top:12px;font-size:10px}.timeline-sheet{background:#e9eadd}.home-timeline{padding-left:30px;position:relative}.timeline-spine{width:2px;height:100%;stroke:var(--green);fill:none;position:absolute;top:0;left:2px;overflow:visible}.timeline-spine path{stroke-width:2px}.home-timeline ol{margin:0;padding:0;list-style:none}.home-timeline li{gap:10px;padding:0 0 30px;display:grid;position:relative}.home-timeline li:last-child{padding-bottom:0}.home-timeline li:before{content:"";background:var(--green);border:2px solid #e9eadd;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-32px}.home-timeline li>.mono{color:var(--green)}.home-timeline h3{letter-spacing:-.03em;font-size:26px;font-weight:500;line-height:1.2}.home-timeline p{color:var(--muted);margin-top:8px;font-size:16px;line-height:1.6}.beyond-copy{grid-template-columns:1fr;gap:36px;margin-top:48px;display:grid}.beyond-copy .mono{color:var(--light-green)}.beyond-copy h3{letter-spacing:-.025em;margin-block:14px;font-size:28px;font-weight:400}.beyond-copy p{color:var(--muted);font-size:18px;line-height:1.7}.music-profiles{margin-top:36px}.now-list{margin:0;padding:0;list-style:none}.now-list li{border-top:1px solid var(--line);grid-template-columns:1fr;gap:20px;padding:28px 0;display:grid}.now-list h3{letter-spacing:-.035em;font-size:28px;font-weight:500}.now-list h3 a{align-items:center;gap:20px;min-height:44px;display:inline-flex}.now-list h3 a:hover{color:var(--green)}.now-list p{max-width:620px;font-size:18px;line-height:1.65}@media (width>=600px){.work-grid{grid-template-columns:1fr 1fr}.work-visual{height:230px}.home-timeline li{grid-template-columns:190px 1fr;gap:30px}.beyond-copy{grid-template-columns:1fr 1fr}.now-list li{grid-template-columns:1fr 1.25fr;gap:40px}}@media (width>=900px){.landscape-hero{min-height:800px}.landscape-hero .hero-content{padding-block:46px 36px}.landscape-hero .hero-top{width:53%;font-size:10px}.landscape-hero h1{margin-block:80px 35px;font-size:clamp(100px,11.5vw,180px)}.landscape-hero.has-background .hero-photo{width:min(45%,768px);inset:0 0 0 auto}.hero-photo:after{background:linear-gradient(90deg,var(--pine),#183d2d4d 22%,transparent 55%)}.landscape-hero>.topo{opacity:.16;width:65%}.landscape-hero .hero-intro{max-width:43%}.hero-education{margin-top:48px}.work-grid{grid-template-columns:repeat(3,1fr)}.work-visual{height:250px}.work-card h3{font-size:32px}.paper-gallery{grid-template-columns:1fr 1.1fr;gap:40px}.metrics{grid-template-columns:repeat(4,1fr);gap:30px}}@media (width>=1800px){.landscape-hero.has-background .hero-photo{right:max(0px,50vw - 900px)}}@media (hover:hover) and (width>=901px) and (prefers-reduced-motion:no-preference){.work-card-reveal{opacity:0;transition:opacity .25s,transform .25s;transform:translateY(7px)}.work-card:hover .work-card-reveal,.work-card:focus-within .work-card-reveal{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.mark-stroke{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.7s .1s forwards stroke-in}.mark-arrow{opacity:0;animation:.5s 1.2s forwards fade-in}@keyframes fade-in{to{opacity:1}}.topo path{stroke-dasharray:1;stroke-dashoffset:1px;animation:stroke-in 3s var(--draw-delay,0s) ease forwards}.section-label.draw-ready{border-top-color:#0000;position:relative}.section-divider{width:100%;height:1px;position:absolute;top:-1px;left:0;overflow:visible}.section-divider path{fill:none;stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.2s}.section-label.drawn .section-divider path{stroke-dashoffset:0}.timeline-spine.draw-ready path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.8s}.timeline-spine.drawn path{stroke-dashoffset:0}}@keyframes stroke-in{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.mark-arrow{opacity:1;animation:none}.mark-stroke,.topo path,.timeline-spine path{stroke-dashoffset:0}.work-card,.project-glyph,.work-card-reveal{transition:none}.work-card:hover .project-glyph{transform:none}}.hero-photo picture{max-width:768px;margin-inline:auto}@media (width<=899px){.hero-photo:after{background:linear-gradient(#11131066,#0000 42%),linear-gradient(90deg,#111310e0,#183d2d66),linear-gradient(#1113101f 10%,#111310f5)}}.about-outlook{align-items:center;gap:clamp(30px,5vw,70px);margin-top:70px;display:flex}.overlook-inset{flex:0 0 200px;max-width:200px;display:block}.overlook-inset img{width:100%;height:auto;display:block}.about-outlook .quote{margin-top:0;font-size:clamp(42px,6vw,86px)}@media (width<=600px){.about-outlook{flex-direction:column;align-items:start;margin-top:45px}.overlook-inset{flex-basis:auto;width:180px}}.section-divider path{stroke-dasharray:none!important;stroke-dashoffset:0!important}.section-divider{transform-origin:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1);transform:scaleX(0)}.section-label.drawn .section-divider{transform:none}@media (prefers-reduced-motion:reduce){.section-divider{transition:none;transform:none}}
