@font-face{font-family:Instrument;src:url(/assets/instrument-serif.ttf) format("truetype");font-display:swap}@font-face{font-family:Instrument;src:url(/assets/instrument-serif-italic.ttf) format("truetype");font-style:italic;font-display:swap}@font-face{font-family:DM;src:url(/assets/dm-sans.ttf) format("truetype");font-display:swap}:root{font-family:DM,Arial,sans-serif;color:#283b33;background:#e9e8df;font-synthesis:none;--ink:#283b33;--paper:#e9e8df;--line:rgba(40,59,51,.23);scroll-behavior:smooth;scroll-padding-top:90px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{color:inherit}a{text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}button{border:0}h1,h2,h3,p{margin:0}::selection{background:#d75d3d;color:#fff}em{font-weight:400}svg{flex-shrink:0}.portfolio{background:#e9e8df;transition:background 1s,color .8s;overflow:clip}.chapter-1{background:#c95537;color:#241e19;--ink:#241e19;--line:rgba(36,30,25,.3)}.chapter-2{background:#25362e;color:#ecebdf;--ink:#ecebdf;--line:rgba(236,235,223,.24)}.chapter-3{background:#e9e8df;color:#283b33}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;transition:opacity 1s}.scene canvas{display:block;width:100%;height:100%}.chapter-2 .scene{opacity:.13}.chapter-3 .scene{opacity:0}.atmosphere{position:fixed;top:-4%;right:-4%;bottom:-4%;left:-4%;background:url(/assets/cloudscape.webp) center/cover no-repeat;z-index:0;opacity:.75;transition:opacity 1s;animation:cloud-drift 28s ease-in-out infinite alternate}.chapter-1 .atmosphere,.chapter-2 .atmosphere,.chapter-3 .atmosphere{opacity:0}@keyframes cloud-drift{to{transform:translate3d(-1.5%,1%,0) scale(1.03)}}.motion-paused .atmosphere{animation-play-state:paused}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:27px 4.5%;color:var(--ink);transition:color .8s;background:#e9e8dfb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chapter-1 .site-header{background:#c95537cc}.chapter-2 .site-header{background:#25362ed9}.brand{font:italic 43px/.8 Instrument,Georgia,serif;letter-spacing:-4px;position:relative}.brand span{font:10px DM;letter-spacing:0;position:absolute;right:-12px;top:-3px}.site-header nav{display:flex;gap:34px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}nav a{position:relative;padding:6px 0}nav a:after{content:"";height:1px;position:absolute;bottom:0;left:0;right:100%;background:currentColor;transition:right .3s}nav a:hover:after,nav a[aria-current]:after{right:0}.header-contact{display:flex;align-items:center;gap:28px;font-size:12px;border-bottom:1px solid var(--line);padding:7px 0}.section{position:relative;z-index:2;padding:125px 8% 100px;scroll-margin-top:0}.hero{min-height:850px;height:100svh;padding-top:150px;display:flex;flex-direction:column}.eyebrow{font-size:10px;line-height:1.6;letter-spacing:1.5px}.hero-topline{display:flex;align-items:center;gap:11px;letter-spacing:1.35px}.status-dot{width:5px;height:5px;background:#5d745d;border-radius:100%}.tiny-separator{opacity:.35;margin:0 5px}.hero-copy{margin-top:35px;width:55%;position:relative}h1{font:clamp(90px,8.7vw,150px)/.88 Instrument,Georgia,serif;letter-spacing:-3px}h1 em{padding-left:0}h1:after{content:"";display:block;width:35px;height:1px;background:var(--ink);margin:24px 0 20px}.hero-description{font-size:13px;line-height:1.7;max-width:360px}.pill-link{margin-top:25px;display:inline-flex;align-items:center;gap:32px;background:#293d32;color:#f5f3e9;padding:14px 20px;border-radius:30px;font-size:11px;transition:background .2s,transform .2s}.pill-link:hover{background:#425948;transform:translateY(-3px)}.object-label{position:absolute;right:12%;top:76%;display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:1.3px;pointer-events:none}.label-line{width:34px;height:1px;background:#637469}.object-label small{display:block;font-size:10px;letter-spacing:0;margin-top:7px;opacity:.75}.hero-bottom{position:absolute;left:8%;right:8%;bottom:45px;display:flex;align-items:flex-end;justify-content:space-between;font-size:9px;line-height:1.6;letter-spacing:1.3px}.scroll-link{display:flex;align-items:center;gap:18px}.hero-index{text-align:right}.section-heading{display:flex;justify-content:space-between;margin-bottom:55px;border-top:1px solid var(--line);padding-top:20px}.section-heading>span:last-child{opacity:.65}.section h2{font:clamp(64px,6.8vw,108px)/.96 Instrument,Georgia,serif;letter-spacing:-1.5px}.section-intro{font-size:13px;line-height:1.7;margin-top:26px}.work{min-height:100svh;padding-bottom:110px}.work h2,.work .section-intro,.project-list{width:57%}.project-list{margin-top:50px}.project-row{width:100%;display:flex;text-align:left;align-items:center;padding:24px 0;background:none;border-top:1px solid var(--line);gap:20px}.project-row:last-child{border-bottom:1px solid var(--line)}.project-num{font-size:10px;align-self:flex-start;margin-top:3px;opacity:.6}.project-row .eyebrow{font-size:8px;letter-spacing:1px}.project-row h3{font:30px/1.15 Instrument,Georgia,serif;margin-top:7px}.round-arrow{margin-left:auto;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:transform .3s,background .3s}.project-row:hover .round-arrow{transform:rotate(45deg);background:#edc5ad}.work-note{margin-top:35px;font-size:9px;opacity:.6}.experience{padding-bottom:110px}.experience-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:10%;margin-top:75px}.experience-intro{font-size:15px;line-height:1.8;max-width:290px}.job{border-top:1px solid var(--line)}.job:last-child{border-bottom:1px solid var(--line)}.job-heading{width:100%;background:none;display:flex;align-items:center;gap:25px;text-align:left;padding:27px 0}.job-heading>.eyebrow{font-size:8px;min-width:105px}.job-title{flex:1}.job-title h3{font:30px Instrument;margin-bottom:5px}.job-title>span{font-size:10px;opacity:.7}.job-detail{padding:0 0 30px 130px}.job-detail>.eyebrow{opacity:.55;font-size:8px}.job-detail p{font-size:12px;line-height:1.8;margin:15px 0}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{border:1px solid var(--line);border-radius:20px;padding:6px 10px;font-size:9px}.toolkit{margin-top:85px;padding-top:25px;border-top:1px solid var(--line)}.toolkit p{font-size:16px;margin-top:18px;line-height:2}.toolkit p span{margin:0 14px;opacity:.3}.about-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:15%;padding-top:15px}.about-intro{font-size:15px;line-height:1.8;margin-top:30px}.personal-note{font-size:13px;line-height:1.9;max-width:370px;margin-top:20px;opacity:.75}.language-list{display:flex;flex-wrap:wrap;gap:10px;font-size:8px;letter-spacing:1px;margin-top:35px;align-items:center}.language-list span{letter-spacing:0;font-size:10px;opacity:.6;margin-right:15px}.education{padding-top:15px}.education>article{padding:28px 0;border-bottom:1px solid var(--line)}.education>article:first-of-type{margin-top:25px;border-top:1px solid var(--line)}.education h3{font:34px/1.05 Instrument;margin-top:12px}.education p{font-size:12px;margin-top:12px}.education small{display:block;font-size:11px;line-height:1.7;opacity:.65;margin-top:18px;max-width:300px}.text-link{display:inline-flex;align-items:center;gap:30px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:12px;margin-top:30px}.text-link:hover{opacity:.65}footer{position:relative;z-index:3;background:#283b32;color:#eeeade;padding:70px 8% 25px}.contact-title{display:block;position:relative;font:clamp(80px,10vw,150px)/.92 Instrument;margin-top:40px;letter-spacing:-2px}.contact-title>svg{position:absolute;right:7%;width:120px;height:120px;top:30px;transition:transform .3s}.contact-title:hover>svg{transform:translate(10px,-10px)}.footer-links{display:flex;gap:35px;margin-top:50px}.footer-links a{display:flex;gap:20px;align-items:center;font-size:11px}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff30;margin-top:75px;padding-top:25px;font-size:8px;letter-spacing:1.1px}.footer-bottom a{display:flex;align-items:center;gap:12px}.chapter-nav{position:fixed;z-index:8;right:25px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:19px}.chapter-nav a{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:9px;opacity:.4;min-height:24px}.chapter-nav a.active{opacity:1}.chapter-name{opacity:0;transition:opacity .2s;background:var(--paper);color:#283b33;padding:5px 8px;border-radius:4px}.chapter-nav a:hover .chapter-name,.chapter-nav a:focus-visible .chapter-name{opacity:1}.chapter-number{border-right:1px solid currentColor;padding-right:10px}.motion-control{position:fixed;left:22px;bottom:23px;z-index:10;display:flex;align-items:center;gap:7px;background:#e9e8df;border:1px solid #283b332a;border-radius:30px;color:#283b33;padding:9px 12px;font-size:8px;letter-spacing:1px}.progress-track{position:fixed;bottom:0;left:0;right:0;height:2px;z-index:11}.progress-track div{background:#c85c3c;height:100%;transform-origin:left}.project-dialog{background:#f0eee4;color:#283b33;border:0;max-width:650px;width:calc(100% - 36px);padding:55px;max-height:85svh;overflow:auto}.project-dialog::backdrop{background:#17251ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-dialog h2{font:54px/.98 Instrument;margin-top:22px;letter-spacing:-.5px}.project-context{font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-top:20px;opacity:.7}.dialog-intro{font-size:17px!important;line-height:1.6!important;margin:30px 0!important}.project-dialog h3{font-size:12px;margin:24px 0 12px}.project-dialog p,.project-dialog li{font-size:12px;line-height:1.8}.project-dialog ul{padding-left:18px;margin:18px 0 25px}.project-dialog li{padding-bottom:7px}.icon-button{background:transparent;padding:8px}.close{position:absolute;right:16px;top:16px}.skip-link{position:fixed;left:20px;top:-70px;z-index:50;background:#293d32;color:#fff;padding:14px}.skip-link:focus{top:20px}@media(min-width:1500px){.hero{padding-top:170px}.hero-copy{margin-top:45px}.hero-description{font-size:15px}}@media(max-height:800px)and (min-width:760px){.hero{min-height:730px;padding-top:125px}.hero-copy{margin-top:25px}h1{font-size:105px}.hero-description{font-size:12px}.object-label{top:78%}.hero-bottom{bottom:35px}}@media(max-width:1050px)and (min-width:760px){.section{padding-left:7%;padding-right:7%}.hero{min-height:820px}.work h2,.work .section-intro,.project-list{width:62%}.project-row h3{font-size:26px}.experience-layout{gap:5%;grid-template-columns:1fr 1.7fr}.job-heading{gap:15px}.job-heading>.eyebrow{min-width:85px}.job-detail{padding-left:100px}.chapter-nav{right:12px}}@media(max-width:759px){.site-header{padding:24px 6%}.brand{font-size:38px}.site-header nav{gap:18px;font-size:10px}.header-contact{font-size:0;gap:0;border:0}.header-contact svg{width:21px;height:21px}.section{padding:110px 7% 70px}.hero{height:950px;min-height:100svh;padding-top:130px}.hero-topline{font-size:8px;letter-spacing:1px}.hero-copy{width:100%;margin-top:32px}h1{font-size:91px;letter-spacing:-2px}.hero-description{font-size:12px}.scene{top:250px;bottom:auto;height:520px;opacity:.88}.hero-copy{pointer-events:none}.hero-copy .pill-link{pointer-events:auto}.hero-description{max-width:220px}.pill-link{margin-top:22px;font-size:10px;gap:15px;padding:12px 16px}.hero-bottom{left:7%;right:7%;bottom:38px;font-size:8px}.hero-index{display:none}.object-label{top:auto;bottom:145px;right:9%;font-size:8px}.object-label small{font-size:9px}.hero .scene{z-index:0}.hero-copy h1{position:relative;z-index:2}.hero-copy h1:after{margin:20px 0 16px}.hero-copy .hero-description,.hero-copy .pill-link{position:relative;z-index:2}.chapter-nav{right:9px;gap:14px}.chapter-number{font-size:8px;padding-right:6px}.chapter-name{display:none}.section-heading{margin-bottom:38px;font-size:8px;letter-spacing:1px}.section-heading>span:last-child{display:none}.section h2{font-size:63px}.work h2,.work .section-intro,.project-list{width:100%}.chapter-1 .scene{opacity:.13}.section-intro{font-size:12px}.project-list{margin-top:35px}.project-row{padding:24px 0;gap:12px}.project-row h3{font-size:26px}.project-row .eyebrow{font-size:7px;letter-spacing:.5px}.round-arrow{width:28px;height:28px}.experience-layout{grid-template-columns:1fr;gap:35px;margin-top:35px}.experience-intro{font-size:13px;max-width:300px}.job-heading{gap:12px}.job-heading>.eyebrow{font-size:7px;min-width:78px}.job-title h3{font-size:26px}.job-title>span{font-size:9px}.job-detail{padding-left:90px}.toolkit{margin-top:45px}.toolkit p{font-size:14px}.toolkit p span{margin:0 7px}.about-layout{grid-template-columns:1fr;gap:50px}.about-intro{font-size:13px}.education h3{font-size:33px}.education>article:first-of-type{margin-top:20px}.language-list{gap:6px;font-size:7px}.language-list span{margin-right:8px}footer{padding:60px 7% 75px}.contact-title{font-size:75px}.contact-title>svg{width:50px;height:50px;right:0;top:10px}.footer-links{flex-wrap:wrap;gap:25px 28px}.footer-links a{font-size:10px;gap:10px}.footer-bottom{margin-top:45px;font-size:7px}.footer-bottom>span:nth-child(2){display:none}.motion-control{left:12px;bottom:12px;font-size:7px;padding:8px 10px}.project-dialog{padding:45px 25px 30px}.project-dialog h2{font-size:43px}.chapter-2 .scene{opacity:.06}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}html:has(.motion-paused){scroll-behavior:auto}@media(min-width:760px){.object-label{top:86%}.work h2,.work .section-intro,.project-list{width:54%}}@media(max-width:759px){.hero{height:1050px}.scene{top:530px;height:400px}.object-label{bottom:105px}.hero-copy h1{font-size:86px}}@media(min-width:760px){.scene{transition:opacity 1s,transform 1.2s}.chapter-1 .scene{transform:translate(8vw) scale(.8)}}.hero-copy{transform:translateY(calc(var(--hero-travel,0) * -55px));will-change:transform}.title-line{display:block;overflow:hidden;padding-bottom:.11em;margin-bottom:-.11em}.title-line>span,.title-line>em{display:block;animation:title-arrive 1.15s cubic-bezier(.19,1,.22,1) both}.title-line:nth-child(2)>em{animation-delay:.12s}.title-line:nth-child(3)>span{animation-delay:.24s}@keyframes title-arrive{0%{transform:translateY(115%) rotate(3deg)}to{transform:translateY(0) rotate(0)}}.journey-link{display:flex;align-items:center;gap:12px;font-size:10px;margin-top:16px;width:max-content;border-bottom:1px solid transparent;padding-bottom:5px;pointer-events:auto}.journey-link:hover{border-color:currentColor}.sculpture-controls{position:absolute;right:18%;top:80%;z-index:4}.sculpture-controls button{border:1px solid #283b3338;border-radius:24px;padding:12px 18px;background:#f3f0e7bb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;gap:9px;align-items:center;font-size:10px;transition:background .25s,transform .3s}.sculpture-controls button:hover{background:#fff;transform:translateY(-3px)}.sculpture-controls button:disabled{opacity:.5;cursor:wait}.sculpture-controls button[aria-pressed=true]{background:#283b33;color:#fff}.object-label{top:89%}.hero-bottom{bottom:24px}.pill-link,.header-contact{transition:translate .3s ease-out,background .3s,transform .3s}.motion-ready .reveal{transition:opacity .8s ease,transform 1s cubic-bezier(.19,1,.22,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(36px)}.project-row{position:relative;transition:padding .4s,background .4s,transform .5s!important}.project-row:hover,.project-row:focus-visible{padding-left:12px;padding-right:10px;background:#ffffff0a}.project-row h3{transition:transform .35s}.project-preview-label{font-size:7px;letter-spacing:1px;opacity:0;transform:translate(-10px);transition:opacity .3s,transform .3s;margin-left:auto;white-space:nowrap}.project-row:hover .project-preview-label,.project-row:focus-visible .project-preview-label{opacity:.8;transform:translate(0)}.project-row .round-arrow{margin-left:8px}.project-dialog[open]{animation:dialog-enter .45s cubic-bezier(.16,1,.3,1)}.project-dialog::backdrop{animation:backdrop-enter .3s ease}@keyframes dialog-enter{0%{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}.job-detail:not([hidden]){animation:dialog-enter .4s ease}.scroll-link svg{animation:scroll-nudge 2s ease-in-out infinite}@keyframes scroll-nudge{50%{transform:translateY(6px)}}.in-journey{background:#10161e!important;color:#eeeee7!important;--ink:#eeeee7;--line:#eeeeee30}.in-journey .site-header{background:#10161ebb;color:#eeeee7}.in-journey .atmosphere{opacity:0}.in-journey .scene{opacity:1;transform:none}.in-journey .chapter-nav{opacity:.3}.journey{height:300svh;position:relative;z-index:2;scroll-margin-top:0}.journey-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;color:#eee}.journey-top{position:absolute;left:8%;right:8%;top:126px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff26;padding-top:20px}.journey-top a{font-size:10px;display:flex;align-items:center;gap:14px}.journey-top a:hover{opacity:.6}.journey-word{position:absolute;top:18%;left:0;right:0;text-align:center;font:clamp(110px,16vw,260px)/1 Instrument;letter-spacing:-6px;color:#a8bddc;opacity:.1;pointer-events:none;transition:opacity .5s}.journey-caption{position:absolute;bottom:150px;left:8%;right:8%;text-align:center;pointer-events:none}.journey-caption .eyebrow{color:#b8c7e3;font-size:8px;letter-spacing:2.5px}.journey-caption h2{font:48px/1.05 Instrument;margin:13px 0 12px;letter-spacing:-.8px}.journey-caption p{font-size:12px;line-height:1.7;max-width:470px;margin:auto;color:#aeb9ca}.caption-enter{animation:caption-enter .6s cubic-bezier(.2,1,.3,1)}@keyframes caption-enter{0%{opacity:0;transform:translateY(15px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.journey-bottom{position:absolute;bottom:55px;left:8%;right:8%;display:flex;justify-content:space-between;align-items:end}.journey-steps{display:flex;gap:26px}.journey-steps button{background:none;color:#9aa7ba;text-align:left;width:130px;padding:12px 0;display:grid;grid-template-columns:25px 1fr;gap:6px;font-size:8px;letter-spacing:1px;position:relative;min-height:44px}.journey-steps button span:first-child{opacity:.45}.journey-steps i{grid-column:1/-1;height:1px;background:#ffffff24;width:100%;position:relative}.journey-steps i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#a9c7ff;transform:scaleX(0);transform-origin:left;transition:transform .7s}.journey-steps button.active{color:#fff}.journey-steps button.active i:after{transform:scaleX(1)}.journey-steps button:hover{color:#fff}.journey-hint{font-size:8px;letter-spacing:1.4px;opacity:.5;padding-bottom:15px}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .hero-copy{transform:none}.motion-paused .reveal{opacity:1!important;transform:none!important}@media(max-width:1050px){.project-preview-label{display:none}.project-row .round-arrow{margin-left:auto}.journey-caption h2{font-size:43px}.journey-hint{display:none}.journey-bottom{justify-content:center}.journey-steps button{width:150px}}@media(max-width:759px){.hero{height:1120px}.hero-copy{transform:none}.hero .journey-link{margin-top:14px;font-size:10px}.scene{top:610px;height:370px}.sculpture-controls{top:auto;bottom:125px;right:auto;left:50%;transform:translate(-50%);white-space:nowrap}.sculpture-controls button{padding:12px 18px}.object-label{top:auto;bottom:83px;right:auto;left:7%;font-size:7px}.object-label small{display:none}.hero-bottom{bottom:30px}.in-journey .scene{top:0;height:100svh;transform:none}.journey{height:250svh}.journey-stage{min-height:650px}.journey-top{left:7%;right:7%;top:108px;padding-top:15px}.journey-top .eyebrow{font-size:8px}.journey-top a{font-size:8px;gap:5px}.journey-word{top:24%;font-size:89px;letter-spacing:-3px}.journey-caption{bottom:155px;left:7%;right:7%}.journey-caption h2{font-size:36px;max-width:300px;margin:13px auto}.journey-caption p{font-size:11px;max-width:290px}.journey-bottom{left:7%;right:7%;bottom:65px}.journey-steps{gap:14px;width:100%}.journey-steps button{flex:1;width:auto;font-size:7px;grid-template-columns:18px 1fr;gap:5px;letter-spacing:.5px}.motion-control{min-height:34px}.project-row:hover,.project-row:focus-visible{padding-left:5px;padding-right:5px}}@media(prefers-reduced-motion:reduce){.hero-copy{transform:none!important}.motion-ready .reveal{opacity:1!important;transform:none!important}}.motion-paused{transition:none!important}
