:root{--paper:#faf6ef;--ink:#11110f;--line:#11110f38;--muted:#686760;--project-media-ratio:16 / 9;--project-column-gap:clamp(32px, 3vw, 56px);--project-row-gap:clamp(72px, 7vw, 120px);--coral:#f15a3b;--blue:#3457eb;--lime:#b9d531;--display:Georgia, "Times New Roman", "Songti SC", serif;--sans:Arial, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html.lenis,html.lenis body{height:auto}html.lenis.lenis-smooth{scroll-behavior:auto!important}html.lenis.lenis-stopped{overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}::selection{background:var(--ink);color:var(--paper)}.site-header{z-index:20;-webkit-backdrop-filter:none;backdrop-filter:none;text-transform:uppercase;letter-spacing:.06em;background:0 0;border-bottom:0;grid-template-columns:1fr auto 1fr;align-items:center;height:90px;padding:0 24px;font-size:11px;display:grid;position:fixed;inset:0 0 auto}.nav-monogram{background:var(--ink);width:38px;height:38px;color:var(--paper);letter-spacing:0;border-radius:2px;place-items:center;font-size:11px;font-weight:700;transition:border-radius .8s cubic-bezier(.19,1,.22,1),transform .45s cubic-bezier(.19,1,.22,1),background .3s,color .3s;display:grid}.nav-monogram:hover,.nav-monogram:focus-visible{border-radius:50%;outline:0;transform:rotate(-8deg)}.top-nav{justify-self:center;align-items:center;gap:3px;display:flex}.top-nav-link{outline:0;height:38px;display:block}.top-nav-link-inner{background:color-mix(in srgb, var(--paper) 88%, #d8d5ce);min-width:62px;height:38px;color:var(--ink);border-radius:99px;justify-content:center;align-items:center;padding:0 16px;transition:border-radius 1.2s cubic-bezier(.19,1,.22,1),background-color .35s,color .35s,transform .55s cubic-bezier(.19,1,.22,1);display:flex}.top-nav-label-mask{height:11px;display:block;overflow:hidden}.top-nav-label-mask>span{white-space:nowrap;height:11px;font-size:10px;line-height:11px;transition:transform .66s cubic-bezier(.19,1,.22,1);display:block}.top-nav-link:hover .top-nav-label-mask>span,.top-nav-link:focus-visible .top-nav-label-mask>span{transform:translateY(-100%)}.top-nav-link:not(.is-active):hover .top-nav-link-inner,.top-nav-link:not(.is-active):focus-visible .top-nav-link-inner{background:var(--paper);border-radius:2px;transform:translateY(-2px)}.top-nav-link.is-active .top-nav-link-inner{background:var(--ink);color:var(--paper);border-radius:2px}.top-nav-link.is-active:hover .top-nav-link-inner,.top-nav-link.is-active:focus-visible .top-nav-link-inner{border-radius:99px}.nav-shortcut{cursor:pointer;color:inherit;letter-spacing:.06em;text-transform:none;background:0 0;border:0;justify-self:end;padding:9px 0 9px 14px;font-size:10px;transition:opacity .25s}.nav-shortcut:hover,.nav-shortcut:focus-visible{opacity:.48;outline:0}.site-header.menu-open{color:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#faf6ef40}.site-header.menu-open .nav-monogram{background:var(--paper);color:var(--ink)}.site-header.menu-open .top-nav-link-inner{color:var(--paper);background:#faf6ef1f}.site-header.menu-open .top-nav-link.is-active .top-nav-link-inner{background:var(--paper);color:var(--ink)}.site-menu{z-index:19;background:var(--ink);color:var(--paper);visibility:hidden;pointer-events:none;clip-path:inset(0 0 100%);grid-template-rows:auto 1fr auto;padding:calc(90px + 4vh) 3vw 3vh;transition:clip-path .72s cubic-bezier(.76,0,.18,1),visibility 0s .72s;display:grid;position:fixed;inset:0;overflow-y:auto}.site-menu.is-open{visibility:visible;pointer-events:auto;clip-path:inset(0);transition:clip-path .72s cubic-bezier(.76,0,.18,1),visibility}.site-menu-intro{letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #faf6ef47;justify-content:space-between;padding-bottom:16px;font-size:10px;display:flex}.site-menu-intro p{margin:0}.site-menu-intro span{color:#aaa89f}.site-menu-links{border-bottom:1px solid #faf6ef47;align-self:center}.site-menu-link{--menu-color:var(--paper);isolation:isolate;opacity:0;border-top:1px solid #faf6ef47;grid-template-columns:52px 1fr minmax(100px,.35fr) 42px;align-items:center;gap:18px;min-height:clamp(82px,12vh,132px);transition:opacity .55s,transform .65s cubic-bezier(.2,.8,.2,1),color .35s;display:grid;position:relative;overflow:hidden;transform:translateY(32px)}.site-menu.is-open .site-menu-link{opacity:1;transition-delay:calc(.24s + var(--menu-order) * 70ms);transform:translateY(0)}.site-menu-link:before{content:"";z-index:-1;background:var(--menu-color);transform-origin:100%;transition:transform .55s cubic-bezier(.76,0,.18,1);position:absolute;inset:0;transform:scaleX(0)}.site-menu-link:hover:before,.site-menu-link:focus-visible:before{transform-origin:0;transform:scaleX(1)}.site-menu-link:hover,.site-menu-link:focus-visible{color:var(--ink);outline:0}.menu-tone-paper{--menu-color:var(--paper)}.menu-tone-coral{--menu-color:var(--coral)}.menu-tone-blue{--menu-color:var(--blue)}.menu-tone-blue:hover,.menu-tone-blue:focus-visible{color:#fff}.menu-tone-lime{--menu-color:var(--lime)}.site-menu-index{font:italic 16px/1 var(--display);align-self:start;padding-top:22px}.site-menu-copy{height:.92em;font:400 clamp(48px, 7.2vw, 112px)/.92 var(--display);letter-spacing:-.055em;overflow:hidden}.site-menu-copy>span{flex-direction:column;transition:transform .55s cubic-bezier(.2,.8,.2,1);display:flex}.site-menu-copy b{flex:0 0 .92em;height:.92em;font-weight:400}.site-menu-link:hover .site-menu-copy>span,.site-menu-link:focus-visible .site-menu-copy>span{transform:translateY(-50%)}.site-menu-link small{letter-spacing:.08em;font-size:11px}.site-menu-link>i{justify-self:end;font-size:30px;font-style:normal;transition:transform .4s}.site-menu-link:hover>i,.site-menu-link:focus-visible>i{transform:translate(7px,-7px)rotate(8deg)}.site-menu-footer{grid-template-columns:1fr 1fr auto;align-items:end;gap:30px;padding-top:18px;font-size:11px;display:grid}.site-menu-footer p{color:#aaa89f;margin:0;line-height:1.5}.site-menu-footer div{flex-direction:column;gap:7px;display:flex}.site-menu-footer div span{color:#aaa89f}.site-menu-footer a{border-bottom:1px solid;padding-bottom:3px}.hero-curtain-space{z-index:4;background:var(--paper);height:100svh;min-height:100svh;position:relative}.hero{z-index:4;border-bottom:1px solid var(--line);background:var(--paper);height:100svh;min-height:100svh;transform:translate3d(0, var(--hero-curtain-y,0px), 0);backface-visibility:hidden;will-change:transform;flex-direction:column;padding:104px 3vw 22px;display:flex;position:fixed;inset:0 0 auto;overflow:hidden}.post-hero-flow{z-index:3;position:relative}.post-hero-flow-inner{transform:translate3d(0, var(--post-hero-counter-y,-100svh), 0);backface-visibility:hidden;will-change:transform;position:relative}.hero-meta{letter-spacing:.12em;justify-content:space-between;font-size:11px;display:flex}.hero-meta p{margin:0}.hero h1{max-width:1320px;font-family:var(--display);letter-spacing:-.065em;margin:9vh 0 3.5vh;font-size:clamp(60px,9vw,144px);font-weight:400;line-height:.88}.hero-emphasis{color:var(--coral);font-style:italic}.hero-bottom{grid-template-columns:1.2fr 1fr;align-items:end;gap:8vw;display:grid}.hero-intro{letter-spacing:-.025em;max-width:700px;margin:0;font-size:clamp(18px,2vw,29px);line-height:1.45}.hero-intro strong{color:var(--muted);font-weight:400}.hero-disciplines{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.hero-disciplines span{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.hero-disciplines span:nth-child(2n){text-align:right}.scroll-cue{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:end;margin-top:3.5vh;padding-top:12px;font-size:12px;display:flex}.scroll-cue b{font-size:24px;font-weight:400;animation:1.6s ease-in-out infinite bounce}.home-resume{z-index:2;border-bottom:1px solid var(--line);background:var(--paper);padding:11vh 3vw;position:relative}.home-resume-intro{grid-template-columns:minmax(220px,.72fr) minmax(0,1.25fr) minmax(230px,.7fr);align-items:start;gap:3vw;padding:9vh 0;display:grid}.home-resume-intro>p{max-width:860px;font:400 clamp(27px, 3.4vw, 52px)/1.16 var(--display);letter-spacing:-.035em;margin:0}.home-resume-photo{aspect-ratio:4/5;border:1px solid var(--ink);background:#dedbd2;flex-direction:column;justify-content:space-between;padding:18px;display:flex;overflow:hidden}.home-resume-photo span,.home-resume-photo small{letter-spacing:.1em;font-size:10px}.home-resume-photo small{color:var(--muted)}.home-resume-photo strong{font:italic 400 clamp(28px, 3vw, 48px)/.9 var(--display);letter-spacing:-.04em}.home-resume-facts{border-top:1px solid var(--ink)}.home-resume-facts>div{border-bottom:1px solid var(--line);grid-template-columns:86px 1fr;gap:18px;padding:15px 0;display:grid}.home-resume-facts span,.home-resume-contact span{color:var(--muted);letter-spacing:.08em;font-size:10px}.home-resume-facts strong{font-size:13px;line-height:1.4}.home-career,.home-resume-capabilities{border-top:1px solid var(--line);grid-template-columns:1fr 3fr;gap:4vw;padding:7vh 0;display:grid}.home-career-list{border-top:1px solid var(--ink)}.home-career-list article{border-bottom:1px solid var(--line);grid-template-columns:42px .7fr 1fr 1.5fr;align-items:baseline;gap:24px;padding:24px 0;display:grid}.home-career-list article>span{font:italic 15px/1 var(--display)}.home-career-list time{color:var(--muted);font-size:11px}.home-career-list h3{font:400 clamp(24px, 2.4vw, 38px)/1 var(--display);letter-spacing:-.03em;margin:0}.home-career-list article>p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.home-resume-capabilities ul{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.home-resume-capabilities li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:36px 1fr;gap:10px;min-height:150px;padding:20px;display:grid}.home-resume-capabilities li:nth-child(2n){border-right:0}.home-resume-capabilities li>span{font:italic 15px/1 var(--display)}.home-resume-capabilities strong{font:400 clamp(22px, 2.3vw, 36px)/1 var(--display);align-self:end}.home-resume-capabilities small{color:var(--muted);grid-column:2}.home-resume-contact{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:4px;padding-top:7vh;display:grid}.home-resume-contact>div{background:#dedbd2;flex-direction:column;justify-content:space-between;min-height:180px;padding:22px;display:flex}.home-resume-contact>div:last-child{background:var(--coral)}.home-resume-contact strong,.home-resume-contact a{max-width:580px;font:400 clamp(24px, 3vw, 46px)/1.05 var(--display)}.work-section,.approach-section,.about-section{padding:11vh 3vw}.work-section{overflow-x:clip}.section-heading{grid-template-columns:1fr 2fr 1fr;align-items:start;gap:28px;margin-bottom:10vh;display:grid}.section-heading p,.eyebrow{letter-spacing:.14em;margin:0;font-size:14px}.section-heading h2,.approach-grid h2,.about-section h2{font-family:var(--display);letter-spacing:-.04em;margin:0;font-weight:400;line-height:1}.section-heading h2{font-size:clamp(56px,7.5vw,120px)}.section-heading>span{text-align:right;color:var(--muted);font-size:15px}.project-motion-language{min-height:320px;margin-bottom:var(--project-row-gap);background:var(--ink);color:var(--paper);grid-template-columns:1fr 1.45fr;align-items:stretch;gap:5vw;padding:36px;display:grid}.project-motion-language>div:first-child{flex-direction:column;justify-content:space-between;gap:64px;display:flex}.project-motion-language p{letter-spacing:.14em;margin:0;font-size:13px}.project-motion-language strong{max-width:760px;font:400 clamp(38px, 4.6vw, 74px)/1 var(--display);letter-spacing:-.04em}.motion-icon-grid{border-top:1px solid #faf6ef73;border-left:1px solid #faf6ef40;grid-template-columns:repeat(4,1fr);display:grid}.motion-icon{border-bottom:1px solid #faf6ef40;border-right:1px solid #faf6ef40;place-items:center;min-height:240px;display:grid;position:relative;overflow:hidden}.motion-icon-orbit i{aspect-ratio:1;border:1px solid;border-radius:50%;width:54%}.motion-icon-orbit b{font-size:22px;font-weight:400;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translate(58px)}.project-motion-language.is-in-view .motion-icon-orbit i{animation:3.8s ease-in-out infinite icon-breathe}.project-motion-language.is-in-view .motion-icon-orbit b{animation:4.8s linear infinite icon-orbit}.motion-icon-type b{font:italic 400 102px/1 var(--display)}.motion-icon-type i{font-size:36px;font-style:normal;position:absolute;top:18%;right:18%}.project-motion-language.is-in-view .motion-icon-type b{animation:2.8s cubic-bezier(.2,.8,.2,1) infinite icon-type}.project-motion-language.is-in-view .motion-icon-type i{animation:2.8s cubic-bezier(.2,.8,.2,1) infinite icon-arrow}.motion-icon-pulse{grid-template-columns:repeat(2,24px);align-content:center;gap:8px}.motion-icon-pulse i{aspect-ratio:1;background:currentColor;width:24px}.project-motion-language.is-in-view .motion-icon-pulse i{animation:1.8s ease-in-out infinite icon-pulse}.motion-icon-pulse i:nth-child(2){animation-delay:.12s}.motion-icon-pulse i:nth-child(3){animation-delay:.24s}.motion-icon-pulse i:nth-child(4){animation-delay:.36s}.motion-icon-arrow b{font-size:102px;font-weight:400}.project-motion-language.is-in-view .motion-icon-arrow b{animation:2.4s cubic-bezier(.2,.8,.2,1) infinite icon-long-arrow}.project-list{column-gap:var(--project-column-gap);row-gap:var(--project-row-gap);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.project-card{--pointer-x:0px;--pointer-y:0px;isolation:isolate;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr;width:100%;padding:0;display:grid;position:relative;overflow:visible}.project-card:first-child{column-gap:var(--project-column-gap);grid-column:1/-1;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr)}.project-visual{--project-color:var(--coral);--page-flare-size:0px;isolation:isolate;width:100%;min-height:0;aspect-ratio:var(--project-media-ratio);will-change:transform;align-self:start;padding:34px;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .6s;position:relative;overflow:visible;container-type:inline-size}.project-coral .project-visual{--project-color:var(--coral)}.project-blue .project-visual{--project-color:var(--blue);color:#fff}.project-lime .project-visual{--project-color:var(--lime)}.project-lens-defs{pointer-events:none;position:absolute}.project-visual-surface{z-index:1;inset:0 calc(var(--page-flare-size) * -1);background:var(--project-color);will-change:clip-path;position:absolute;overflow:hidden;transform:translateZ(0)}.project-cover-video{z-index:0;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project-visual.has-project-media .project-visual-surface:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#00000038,#0000 42%,#00000059);position:absolute;inset:0}.project-visual.has-project-media{color:#fff}.project-visual.has-project-media .project-shape,.project-visual.has-project-media .project-motion-preview{display:none}.project-number{font:italic 52px/1 var(--display);z-index:2;position:absolute;top:28px;left:34px}.project-stage{letter-spacing:.1em;z-index:2;font-size:13px;position:absolute;top:35px;right:34px}.project-visual-surface>p{font:400 clamp(54px, 14cqw, 150px)/.86 var(--display);letter-spacing:-.06em;z-index:2;margin:0;transition:transform .65s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:5%;left:4.5%;right:4.5%}.project-shape{transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute}.project-shape-a{aspect-ratio:1;background:var(--paper);mix-blend-mode:screen;opacity:.65;border-radius:50%;width:36%;top:11%;right:15%}.project-shape-b{border:2px solid;width:26%;height:62%;top:21%;right:8%;transform:rotate(18deg)}.project-motion-preview{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.project-motion-preview span{opacity:0;width:max-content;font:italic 400 clamp(68px, 12vw, 204px)/.8 var(--display);letter-spacing:-.07em;position:absolute;top:45%;left:50%;transform:translate(-42%,80%)rotate(4deg)}.project-motion-ticker{z-index:3;opacity:0;background:var(--ink);width:max-content;color:var(--paper);letter-spacing:.14em;white-space:nowrap;padding:8px 0;font-size:13px;position:absolute;bottom:0;left:0;transform:translate(0)}.project-card.is-in-view .project-shape-a{animation:7s ease-in-out infinite ambient-shape-a}.project-card.is-in-view .project-shape-b{animation:9s ease-in-out infinite ambient-shape-b}.project-card.is-in-view .project-motion-preview span{animation:6.4s cubic-bezier(.2,.8,.2,1) infinite project-preview-word;animation-delay:calc(var(--motion-order) * 1.35s)}.project-card.is-in-view .project-motion-ticker{opacity:.68;animation:14s linear infinite project-ticker}.project-info{z-index:6;border-top:1px solid var(--ink);background:var(--paper);flex-direction:column;height:100%;padding:34px;display:flex;position:relative}.project-card:not(:first-child) .project-info{border-bottom:1px solid var(--line);min-height:540px}.project-title-row{grid-template-columns:54px 1fr;gap:12px;display:grid}.project-index{font:italic 24px/1 var(--display)}.project-info h3{max-width:680px;font:400 clamp(38px, 3vw, 54px)/1.04 var(--display);letter-spacing:-.04em;text-wrap:balance;margin:0}.project-card-details{margin:auto 0 36px}.project-card-details>p{max-width:560px;color:var(--muted);margin:0 0 36px;font-size:21px;line-height:1.5}.project-card-details dl{gap:13px;margin:0;display:grid}.project-card-details dl div{border-top:1px solid var(--line);grid-template-columns:98px 1fr;gap:18px;padding-top:13px;display:grid}.project-card-details dt{color:var(--muted);letter-spacing:.08em;font-size:13px}.project-card-details dd{margin:0;font-size:14px;line-height:1.45}.project-info ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-info li{border:1px solid var(--line);border-radius:99px;padding:9px 13px;font-size:14px}.project-hover-copy{opacity:0;letter-spacing:.08em;text-transform:uppercase;font-size:13px;transition:opacity .3s,transform .3s;position:absolute;bottom:35px;right:88px;transform:translate(10px)}.project-arrow{font-size:36px;transition:transform .35s;position:absolute;bottom:27px;right:34px}.project-card:hover .project-visual{transform:scale(.985)}.project-card:hover .project-visual-surface>p{transform:translateY(-18px)}.project-card:hover .project-shape-a{transform:translate(calc(-18px + var(--pointer-x)), calc(24px + var(--pointer-y))) scale(1.12);animation:none}.project-card:hover .project-shape-b{transform:translate(calc(0px - var(--pointer-x)), calc(0px - var(--pointer-y))) rotate(28deg) scale(1.08);animation:none}.project-card:hover .project-motion-preview span{animation:3.2s cubic-bezier(.2,.8,.2,1) infinite project-preview-word;animation-delay:calc(var(--motion-order) * .7s)}.project-card:hover .project-motion-ticker{opacity:1;animation:6s linear infinite project-ticker}.project-card:hover .project-hover-copy{opacity:1;transform:translate(0)}.project-card:hover .project-arrow{transform:translate(6px,-6px)}.project-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.project-card:active .project-visual{transform:scale(.975)}.project-load-more{width:100%;margin-top:var(--project-row-gap);border:1px solid var(--ink);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;justify-content:space-between;align-items:center;padding:34px;font-size:15px;transition:background .3s,color .3s;display:flex}.project-load-more b{font:italic 32px/1 var(--display)}.project-load-more:hover{background:var(--ink);color:var(--paper)}.project-cursor{z-index:35;pointer-events:none;width:0;height:0;display:none;position:fixed;top:0;left:0}.project-cursor>div{aspect-ratio:1;border:1px solid var(--ink);background:var(--paper);opacity:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:132px;transition:opacity .2s,transform .35s cubic-bezier(.2,.8,.2,1),background .3s,color .3s;display:flex;transform:translate(-50%,-50%)scale(.35)}.project-cursor span{letter-spacing:.1em;font-size:12px}.project-cursor strong{font-size:16px}.project-cursor.is-active>div{opacity:1;transform:translate(-50%,-50%)scale(1)}.project-cursor.cursor-coral>div{background:var(--coral)}.project-cursor.cursor-blue>div{background:var(--blue);color:#fff}.project-cursor.cursor-lime>div{background:var(--lime)}.project-transition{z-index:60;pointer-events:none;clip-path:inset(var(--transition-top) var(--transition-right) var(--transition-bottom) var(--transition-left));backface-visibility:hidden;will-change:clip-path, transform;grid-template-rows:auto 1fr auto;padding:clamp(24px,3vw,54px);animation:1.2s cubic-bezier(.76,0,.18,1) both project-expand;display:grid;position:fixed;inset:0;overflow:hidden;transform:translate(0,0)}.project-transition-coral{--transition-accent:var(--paper);background:var(--coral)}.project-transition-blue{--transition-accent:var(--paper);background:var(--blue);color:#fff}.project-transition-lime{--transition-accent:var(--ink);background:var(--lime)}.project-transition-heading{z-index:2;opacity:0;justify-content:space-between;gap:30px;animation:1.2s cubic-bezier(.2,.8,.2,1) both project-transition-copy;display:flex;position:relative}.project-transition-heading span,.project-transition-progress span{letter-spacing:.12em;font-size:11px}.project-transition strong{z-index:2;opacity:0;max-width:1220px;font:400 clamp(58px, 10vw, 164px)/.84 var(--display);letter-spacing:-.065em;align-self:end;margin-bottom:clamp(32px,5vh,72px);animation:1.2s cubic-bezier(.2,.8,.2,1) both project-transition-title;position:relative;transform:translateY(54px)}.project-transition-orbit{z-index:1;aspect-ratio:1;opacity:0;border:2px solid;border-radius:50%;width:min(42vw,700px);animation:1.2s cubic-bezier(.2,.8,.2,1) both project-transition-orbit;position:absolute;top:48%;right:9%;transform:translateY(-50%)scale(.55)}.project-transition-progress{z-index:2;opacity:0;grid-template-columns:1fr auto;align-items:center;gap:24px;animation:1.2s cubic-bezier(.2,.8,.2,1) both project-transition-copy;display:grid;position:relative}.project-transition-progress>i{transform-origin:0;background:currentColor;height:1px;animation:1.2s cubic-bezier(.2,.8,.2,1) both project-transition-line;transform:scaleX(0)}.approach-section{background:var(--ink);color:var(--paper)}.approach-grid{grid-template-columns:1fr 1fr;gap:7vw;margin-top:12vh;display:grid}.approach-grid h2,.about-section h2{font-size:clamp(48px,6.8vw,104px)}.approach-grid ol{border-top:1px solid #faf6ef66;margin:0;padding:0;list-style:none}.approach-grid li{border-bottom:1px solid #faf6ef40;grid-template-columns:38px 1fr 1.3fr;align-items:baseline;gap:16px;padding:20px 0;display:grid}.approach-grid li span{font:italic 16px/1 var(--display)}.approach-grid li strong{font-size:17px}.approach-grid li small{color:#aaa89f;line-height:1.4}.about-section{flex-direction:column;min-height:80vh;display:flex}.about-section h2{margin:auto 0 8vh}.about-footer{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;gap:32px;padding-top:18px;display:grid}.about-footer p{max-width:450px;color:var(--muted);margin:0}.about-actions{flex-direction:column;justify-self:end;align-items:flex-end;gap:12px;display:flex}.about-actions a{font-size:clamp(18px,2vw,28px)}.motion-playground{border-top:1px solid var(--ink);background:var(--ink);scroll-margin-top:72px}.motion-playground-home{z-index:3;border-bottom:1px solid var(--ink);position:relative;overflow:hidden}.gravity-stage{background:var(--ink);height:clamp(370px,48svh,460px);color:var(--paper);position:relative;overflow:hidden}.gravity-stage-heading{z-index:2;pointer-events:none;width:36%;padding:clamp(155px,20vh,175px) 0 0 3vw;position:relative}.gravity-stage-heading p{letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-size:10px}.gravity-stage-heading h2{font:400 clamp(32px, 3vw, 50px)/.92 var(--display);letter-spacing:-.055em;margin:0}.gravity-replay{z-index:3;color:var(--paper);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #faf6efc7;border-radius:99px;padding:10px 14px;font-size:10px;transition:background .25s,color .25s,transform .35s cubic-bezier(.2,.8,.2,1);position:absolute;top:clamp(22px,2.7vh,30px);right:3vw}.gravity-replay:hover,.gravity-replay:focus-visible{background:var(--paper);color:var(--ink);outline:0;transform:rotate(-3deg)}.gravity-replay:disabled{opacity:.35;cursor:default;transform:none}.gravity-field{z-index:1;position:absolute;inset:0 3vw 10px 38%;overflow:hidden}.gravity-block{width:var(--block-width);max-width:calc(100% - 24px);height:var(--block-height);border:1px solid var(--paper);opacity:0;pointer-events:none;will-change:transform;font:italic 400 clamp(16px, 1.5vw, 23px)/1 var(--display);letter-spacing:-.04em;border-radius:2px;place-items:center;padding:8px 12px;display:grid;position:absolute;top:0;left:0;transform:translate(-200vw,-200vh);box-shadow:0 10px 24px #00000029}.gravity-paper{background:var(--paper);color:var(--ink)}.gravity-coral{background:var(--coral);color:var(--ink)}.gravity-blue{background:var(--blue);color:#fff}.gravity-lime{background:var(--lime);color:var(--ink)}footer{border-top:1px solid var(--line);letter-spacing:.1em;justify-content:space-between;padding:24px 3vw;font-size:11px;display:flex}.case-overlay{z-index:40;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:var(--paper);animation:.58s cubic-bezier(.2,.8,.2,1) both case-reveal;position:fixed;inset:0;overflow:hidden auto}.case-close{z-index:3;border:0;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;width:100%;height:62px;padding:0 3vw;font-size:11px;display:flex;position:sticky;top:0}.case-close b{font-size:30px;font-weight:400;line-height:1;transition:transform .3s}.case-close:hover b{transform:rotate(90deg)}.case-sheet{min-height:100%}.case-hero{flex-direction:column;min-height:calc(100svh - 62px);padding:5vh 3vw 3vh;display:flex}.case-hero>p{letter-spacing:.12em;margin:0;font-size:11px}.case-hero h2{max-width:1250px;font:400 clamp(64px, 11vw, 170px)/.86 var(--display);letter-spacing:-.065em;margin:auto 0;animation:.8s cubic-bezier(.2,.8,.2,1) .12s both case-title-in}.case-coral .case-hero{background:var(--coral)}.case-blue .case-hero{background:var(--blue);color:#fff}.case-lime .case-hero{background:var(--lime)}.case-hero-meta{letter-spacing:.09em;text-transform:uppercase;border-top:1px solid;justify-content:space-between;gap:20px;padding-top:14px;font-size:11px;display:flex}.case-overview{border-bottom:1px solid var(--line);grid-template-columns:.65fr repeat(3,1fr);gap:4vw;padding:11vh 3vw;display:grid}.case-overview>div{flex-direction:column;gap:24px;display:flex}.case-overview span{color:var(--muted);font-size:11px}.case-overview strong{font:400 clamp(22px, 2.3vw, 36px)/1.25 var(--display)}.case-objective{grid-template-columns:1fr 3fr;gap:4vw;padding:11vh 3vw 4vh;display:grid}.case-objective h3{max-width:1120px;font:400 clamp(38px, 5.6vw, 86px)/1 var(--display);letter-spacing:-.045em;margin:0}.case-motion-stage{padding:8vh 3vw 12vh}.case-motion-heading{border-bottom:1px solid var(--ink);justify-content:space-between;gap:30px;padding:0 0 18px;display:flex}.case-motion-heading>span{max-width:420px;color:var(--muted);text-align:right;font-size:11px;line-height:1.5}.case-motion-canvas{width:100%;min-height:0;aspect-ratio:var(--project-media-ratio);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.case-motion-video{z-index:1;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.case-coral .case-motion-canvas{background:var(--coral);color:var(--ink)}.case-blue .case-motion-canvas{background:var(--blue)}.case-lime .case-motion-canvas{background:var(--lime);color:var(--ink)}.case-motion-frame{z-index:2;opacity:0;flex-direction:column;justify-content:space-between;padding:30px;display:flex;position:absolute;inset:0;transform:translateY(18%)scale(.92)}.case-motion-frame span{font:italic 24px/1 var(--display)}.case-motion-frame strong{font:400 clamp(70px, 15vw, 230px)/.72 var(--display);letter-spacing:-.08em}.case-motion-stage.is-visible .case-motion-frame{animation:8s cubic-bezier(.2,.8,.2,1) infinite case-frame-cycle}.case-motion-stage.is-visible .case-motion-frame:nth-child(2){animation-delay:2s}.case-motion-stage.is-visible .case-motion-frame:nth-child(3){animation-delay:4s}.case-motion-stage.is-visible .case-motion-frame:nth-child(4){animation-delay:6s}.case-motion-orbit{z-index:1;aspect-ratio:1;opacity:.55;border:2px solid;border-radius:50%;width:min(38vw,520px);position:absolute;top:50%;right:8%;transform:translateY(-50%)}.case-motion-stage.is-visible .case-motion-orbit{animation:8s linear infinite case-orbit}.case-motion-marquee{z-index:3;letter-spacing:.12em;white-space:nowrap;border-top:1px solid;width:max-content;padding:8px 0;font-size:11px;position:absolute;bottom:0;left:0}.case-motion-stage.is-visible .case-motion-marquee{animation:10s linear infinite project-ticker}.case-story{padding:4vh 3vw 12vh}.case-story>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 3fr;align-content:center;gap:4vw;min-height:68vh;padding:9vh 0;display:grid}.case-story span{letter-spacing:.1em;align-self:start;font-size:11px;position:sticky;top:112px}.case-story h3{max-width:980px;font:400 clamp(34px, 5vw, 76px)/1.02 var(--display);letter-spacing:-.04em;margin:0}.case-placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0 3vw 12vh;display:grid}.case-placeholder-grid div{min-height:0;aspect-ratio:var(--project-media-ratio);background:#d9d6cc;justify-content:center;align-items:center;display:flex;overflow:hidden}.case-placeholder-grid div:first-child{background:var(--ink);min-height:0;color:var(--paper);grid-area:auto/1/auto/-1}.case-placeholder-grid div:nth-child(2){background:#c9c5ba}.case-placeholder-grid div:nth-child(3){background:#dedbd2}.case-placeholder-grid span{letter-spacing:.1em;text-transform:uppercase;border:1px solid;border-radius:99px;padding:9px 12px;font-size:10px}.case-result{background:var(--ink);min-height:65vh;color:var(--paper);flex-direction:column;justify-content:space-between;padding:10vh 3vw;display:flex}.case-result h3{max-width:1150px;font:400 clamp(46px, 7vw, 108px)/.98 var(--display);letter-spacing:-.045em;margin:15vh 0 0}.case-next-project{text-align:left;cursor:pointer;border:0;grid-template-columns:1fr 3fr auto;align-items:end;gap:4vw;width:100%;min-height:52vh;padding:8vh 3vw;display:grid;position:relative;overflow:hidden}.case-next-coral{background:var(--coral)}.case-next-blue{background:var(--blue);color:#fff}.case-next-lime{background:var(--lime)}.case-next-project>span{letter-spacing:.1em;align-self:start;font-size:11px}.case-next-project strong{max-width:1000px;font:400 clamp(46px, 7vw, 108px)/.92 var(--display);letter-spacing:-.05em;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.case-next-project b{font-size:clamp(48px,7vw,100px);font-weight:400;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.case-next-project:hover strong{transform:translate(16px)}.case-next-project:hover b{transform:translate(18px)}.case-bottom-close{border:0;border-top:1px solid var(--line);background:var(--paper);text-align:right;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;width:100%;padding:28px 3vw;font-size:12px}.case-change-wipe{z-index:70;pointer-events:none;flex-direction:column;justify-content:space-between;padding:6vh 3vw;animation:.92s cubic-bezier(.76,0,.18,1) both case-change-wipe;display:flex;position:fixed;inset:0}.case-change-coral{background:var(--coral)}.case-change-blue{background:var(--blue);color:#fff}.case-change-lime{background:var(--lime)}.case-change-wipe span{letter-spacing:.12em;font-size:11px}.case-change-wipe strong{max-width:1100px;font:400 clamp(60px, 12vw, 180px)/.82 var(--display);letter-spacing:-.07em}.case-overlay .case-close{z-index:80;border:1px solid var(--ink);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:99px;gap:12px;width:auto;height:46px;padding:0 15px;font-size:10px;position:fixed;top:18px;left:18px}.case-overlay .case-close b{font-size:24px}.case-editorial-layout{background:var(--paper);grid-template-columns:minmax(330px,25vw) minmax(0,1fr);align-items:start;display:grid}.case-sidebar{border-right:1px solid var(--line);background:#f5f1ea;flex-direction:column;justify-content:space-between;gap:48px;height:100svh;padding:92px 2.6vw 32px;display:flex;position:sticky;top:0}.case-sidebar-heading>p{letter-spacing:.12em;margin:0 0 34px;font-size:11px}.case-sidebar-heading h2{font:400 clamp(38px, 3.4vw, 66px)/.98 var(--display);letter-spacing:-.05em;text-wrap:balance;margin:0}.case-sidebar-heading>strong{color:var(--muted);margin-top:20px;font-size:13px;font-weight:400;line-height:1.4;display:block}.case-sidebar-heading ul{flex-wrap:wrap;gap:6px;margin:24px 0 0;padding:0;list-style:none;display:flex}.case-sidebar-heading li{border:1px solid var(--line);letter-spacing:.06em;border-radius:99px;padding:7px 10px;font-size:10px}.case-sidebar-copy>p{max-width:460px;font:400 clamp(17px, 1.3vw, 22px)/1.45 var(--display);margin:0 0 28px}.case-sidebar-copy dl{gap:12px;margin:0;display:grid}.case-sidebar-copy dl div{border-top:1px solid var(--line);grid-template-columns:76px 1fr;gap:14px;padding-top:12px;display:grid}.case-sidebar-copy dt{color:var(--muted);letter-spacing:.08em;font-size:10px}.case-sidebar-copy dd{margin:0;font-size:11px;line-height:1.45}.case-sidebar-copy>span{border-top:1px solid var(--ink);letter-spacing:.1em;justify-content:space-between;margin-top:30px;padding-top:12px;font-size:10px;display:flex}.case-gallery{background:var(--ink);gap:6px;min-width:0;padding:6px;display:grid}.case-gallery-media{width:100%;min-height:0;aspect-ratio:var(--project-media-ratio);position:relative;overflow:hidden}.case-gallery-hero .case-motion-canvas{height:100%}.case-gallery-hero.is-visible .case-motion-frame{animation:8s cubic-bezier(.2,.8,.2,1) infinite case-frame-cycle}.case-gallery-hero.is-visible .case-motion-frame:nth-child(2){animation-delay:2s}.case-gallery-hero.is-visible .case-motion-frame:nth-child(3){animation-delay:4s}.case-gallery-hero.is-visible .case-motion-frame:nth-child(4){animation-delay:6s}.case-gallery-hero.is-visible .case-motion-orbit{animation:8s linear infinite case-orbit}.case-gallery-hero.is-visible .case-motion-marquee{animation:10s linear infinite project-ticker}.case-media-index{z-index:3;letter-spacing:.12em;font-size:11px;position:absolute;top:28px;left:30px}.case-media-caption{z-index:5;background:color-mix(in srgb, currentColor 8%, transparent);letter-spacing:.08em;border:1px solid;border-radius:99px;padding:8px 11px;font-size:10px;position:absolute;bottom:20px;right:22px}.case-gallery-strategy{background:var(--blue);color:#fff;flex-direction:column;justify-content:flex-end;padding:30px;display:flex}.case-gallery-strategy>strong{z-index:2;font:400 clamp(62px, 10vw, 168px)/.78 var(--display);letter-spacing:-.07em;position:relative}.case-gallery-strategy>i{aspect-ratio:1;opacity:.58;border:2px solid;border-radius:50%;width:36%;animation:9s linear infinite case-orbit;position:absolute;top:50%;right:8%;transform:translateY(-50%)}.case-editorial-panel{background:var(--paper);min-height:70svh;color:var(--ink);grid-template-columns:minmax(160px,.42fr) minmax(0,1fr);align-content:center;gap:5vw;padding:clamp(64px,9vw,150px) 4vw;display:grid}.case-editorial-panel>p{letter-spacing:.1em;margin:0;font-size:11px;line-height:1.55}.case-editorial-panel h3{max-width:1120px;font:400 clamp(44px, 6vw, 96px)/.98 var(--display);letter-spacing:-.05em;margin:0}.case-editorial-panel>div>p{max-width:650px;color:var(--muted);margin:52px 0 0;font-size:17px;line-height:1.55}.case-gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.case-gallery-pair .case-gallery-media{align-items:flex-end;padding:26px;display:flex}.case-gallery-pair strong{z-index:2;max-width:86%;font:400 clamp(42px, 4.6vw, 82px)/.86 var(--display);letter-spacing:-.06em;position:relative}.case-gallery-visual{background:var(--coral);color:var(--ink)}.case-gallery-visual:before{content:"";aspect-ratio:1;background:var(--paper);opacity:.58;border-radius:50%;width:42%;position:absolute;top:14%;right:12%}.case-gallery-launch{background:var(--lime);color:var(--ink)}.case-gallery-launch:before{content:"";border:2px solid;width:46%;height:60%;position:absolute;top:15%;right:11%;transform:rotate(12deg)}.case-process-panel ol{border-top:1px solid var(--ink);margin:64px 0 0;padding:0;list-style:none}.case-process-panel li{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr;align-items:baseline;gap:16px;padding:18px 0;display:grid}.case-process-panel li span{font:italic 15px/1 var(--display)}.case-process-panel li strong{font-size:16px;font-weight:400}.case-gallery-impact{background:var(--ink);color:var(--paper);flex-direction:column;justify-content:space-between;padding:30px;display:flex}.case-gallery-impact>p{letter-spacing:.12em;margin:0;font-size:11px;line-height:1.5}.case-gallery-impact h3{z-index:2;max-width:1100px;font:400 clamp(48px, 6.8vw, 110px)/.94 var(--display);letter-spacing:-.055em;margin:auto 0;position:relative}.case-gallery .case-next-project{min-height:48svh}.case-gallery .case-bottom-close{border-top:0}.resume-page{background:var(--paper);min-height:100svh}.resume-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);letter-spacing:.09em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 3vw;font-size:11px;display:grid;position:sticky;top:0}.resume-header>span{color:var(--muted)}.resume-header nav{justify-content:flex-end;align-items:center;gap:22px;display:flex}.resume-header button{border:1px solid var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;border-radius:99px;padding:8px 12px;font-size:10px}.resume-hero{border-bottom:1px solid var(--line);flex-direction:column;min-height:78svh;padding:8vh 3vw 4vh;display:flex}.resume-hero h1{font:400 clamp(92px, 16vw, 240px)/.78 var(--display);letter-spacing:-.075em;margin:auto 0 7vh}.resume-intro{border-top:1px solid var(--ink);grid-template-columns:1fr 1.35fr;align-items:start;gap:8vw;padding-top:16px;display:grid}.resume-intro p{margin:0;font-size:clamp(17px,1.7vw,26px);line-height:1.45}.resume-intro p:first-child{letter-spacing:.06em;font-size:12px}.resume-section{border-bottom:1px solid var(--line);grid-template-columns:.6fr 2.4fr;gap:6vw;padding:10vh 3vw;display:grid}.resume-label{letter-spacing:.12em;margin:0;font-size:10px}.resume-profile>h2{max-width:1180px;font:400 clamp(42px, 6vw, 90px)/1 var(--display);letter-spacing:-.045em;margin:0}.resume-contact-grid{grid-column:2;grid-template-columns:repeat(4,1fr);gap:2vw;margin-top:9vh;display:grid}.resume-contact-grid div{border-top:1px solid var(--line);flex-direction:column;gap:18px;padding-top:12px;display:flex}.resume-contact-grid span,.resume-two-columns span{color:var(--muted);letter-spacing:.08em;font-size:10px}.resume-contact-grid strong{font-size:13px;line-height:1.45}.resume-timeline{border-top:1px solid var(--ink)}.resume-timeline article{border-bottom:1px solid var(--line);grid-template-columns:.7fr 1fr 1.5fr;gap:3vw;padding:30px 0 42px;display:grid}.resume-period{font:italic 16px/1 var(--display)}.resume-timeline h3{font:400 clamp(28px, 3vw, 44px)/1 var(--display);letter-spacing:-.035em;margin:0 0 8px}.resume-timeline article p{color:var(--muted);margin:0;line-height:1.55}.resume-role-detail ul{gap:8px;margin:26px 0 0;padding:0;list-style:none;display:grid}.resume-role-detail li{border-top:1px solid var(--line);padding-top:9px;font-size:12px}.capability-list{border-top:1px solid var(--ink)}.capability-list article{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr 1.5fr;align-items:baseline;gap:3vw;padding:24px 0;display:grid}.capability-list article>span{font:italic 15px/1 var(--display)}.capability-list h3{font:400 clamp(24px, 2.6vw, 40px)/1 var(--display);margin:0}.capability-list p{color:var(--muted);margin:0;line-height:1.5}.resume-project-list{border-top:1px solid var(--ink)}.resume-project-list a{border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr 40px;align-items:center;gap:3vw;padding:28px 0;display:grid;position:relative}.resume-project-list a>span{letter-spacing:.08em;font-size:10px}.resume-project-list strong{font:400 clamp(24px, 2.8vw, 42px)/1.05 var(--display)}.resume-project-list b{justify-self:end;font-size:24px;font-weight:400;transition:transform .3s}.resume-project-list a:hover b{transform:translate(5px,-5px)}.resume-two-columns{grid-template-columns:1fr 1fr;gap:4px;display:grid}.resume-two-columns>div{background:#dedbd2;flex-direction:column;justify-content:space-between;min-height:270px;padding:24px;display:flex}.resume-two-columns>div:last-child{background:var(--ink);color:var(--paper)}.resume-two-columns h3{max-width:480px;font:400 clamp(28px, 3vw, 46px)/1.1 var(--display);margin:0}.resume-footer{background:var(--coral);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding:34px 3vw;font-size:12px;display:flex}[data-reveal]{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(38px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.scroll-drift{transform:translate3d(0, var(--scroll-drift-y,0), 0) skewY(var(--scroll-drift-skew,0deg));transform-origin:50% 55%;will-change:transform}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@keyframes icon-breathe{0%,to{transform:scale(.72)}50%{transform:scale(1.14)}}@keyframes icon-orbit{0%{transform:translate(-50%,-50%)rotate(0)translate(58px)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)translate(58px)rotate(-360deg)}}@keyframes icon-type{0%,to{transform:rotate(-8deg)scale(.82)}50%{transform:rotate(7deg)scale(1.12)}}@keyframes icon-arrow{0%,to{transform:translate(0)}45%{transform:translate(12px,-12px)}}@keyframes icon-pulse{0%,to{opacity:.25;transform:scale(.55)}50%{opacity:1;transform:scale(1.15)}}@keyframes icon-long-arrow{0%,to{transform:translate(-28px)}55%{transform:translate(28px)}}@keyframes ambient-shape-a{0%,to{transform:translate(-3%,-2%)scale(.9)}50%{transform:translate(8%,11%)scale(1.14)}}@keyframes ambient-shape-b{0%,to{transform:rotate(12deg)translate(-4%)}50%{transform:rotate(31deg)translate(8%,5%)}}@keyframes project-preview-word{0%,12%{opacity:0;transform:translate(-42%,80%)rotate(4deg)}20%,38%{opacity:.34;transform:translate(-50%,-50%)rotate(-3deg)}48%,to{opacity:0;transform:translate(-58%,-150%)rotate(-8deg)}}@keyframes project-ticker{to{transform:translate(-50%)}}@keyframes project-expand{0%,6%{clip-path:inset(var(--transition-top) var(--transition-right) var(--transition-bottom) var(--transition-left));transform:translate(0,0)}58%,70%{clip-path:inset(0);transform:translate(0,0)}to{clip-path:inset(0);transform:translateY(-102%)}}@keyframes project-transition-copy{0%,20%{opacity:0;transform:translateY(16px)}38%,72%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}@keyframes project-transition-title{0%,17%{opacity:0;transform:translateY(54px)}42%,72%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-72px)}}@keyframes project-transition-orbit{0%,14%{opacity:0;transform:translateY(-50%)scale(.55)rotate(-18deg)}44%,72%{opacity:.48;transform:translateY(-50%)scale(1)rotate(8deg)}to{opacity:0;transform:translateY(-62%)scale(1.18)rotate(28deg)}}@keyframes project-transition-line{0%,24%{transform:scaleX(0)}70%,to{transform:scaleX(1)}}@keyframes case-reveal{0%{opacity:.6;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes case-title-in{0%{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}@keyframes case-frame-cycle{0%,8%{opacity:0;transform:translateY(18%)scale(.92)}13%,23%{opacity:1;transform:translateY(0)scale(1)}28%,to{opacity:0;transform:translateY(-18%)scale(1.05)}}@keyframes case-orbit{0%{transform:translateY(-50%)rotate(0)scale(.72)}50%{transform:translateY(-50%)rotate(180deg)scale(1.12)}to{transform:translateY(-50%)rotate(360deg)scale(.72)}}@keyframes case-change-wipe{0%{transform:translateY(100%)}46%,56%{transform:translateY(0)}to{transform:translateY(-100%)}}@media (width<=800px){.site-header{grid-template-columns:auto 1fr;height:60px;padding:0 10px}.nav-monogram{width:36px;height:36px}.top-nav{justify-self:end;gap:2px}.top-nav-link{height:34px}.top-nav-link-inner{min-width:0;height:34px;padding:0 10px}.top-nav-label-mask{height:10px}.top-nav-label-mask>span{height:10px;font-size:9px;line-height:10px}.nav-shortcut{display:none}.site-menu{padding:84px 18px 22px}.site-menu-intro span{display:none}.site-menu-link{grid-template-columns:34px 1fr 28px;gap:10px;min-height:92px}.site-menu-index{padding-top:13px;font-size:13px}.site-menu-copy{font-size:clamp(44px,14vw,72px)}.site-menu-link small{display:none}.site-menu-link>i{font-size:23px}.site-menu-footer{grid-template-columns:1fr auto;gap:18px}.site-menu-footer>p{display:none}.site-menu-footer div{font-size:9px}.hero-curtain-space{background:var(--paper);height:auto;min-height:100svh}.hero{will-change:auto;height:auto;min-height:100svh;padding:90px 18px 22px;position:relative;inset:auto;transform:none}.post-hero-flow-inner{will-change:auto;transform:none}.hero h1{margin:7vh 0 5vh;font-size:clamp(54px,15.5vw,88px);line-height:.9}.hero-bottom,.section-heading,.project-card,.approach-grid,.about-footer{grid-template-columns:1fr}.hero-bottom{gap:34px}.hero-disciplines{order:-1}.scroll-cue{margin-top:38px}.home-resume{padding:80px 18px}.home-resume-intro,.home-career,.home-resume-capabilities{grid-template-columns:1fr}.home-resume-intro{gap:54px;padding:64px 0}.home-resume-photo{width:min(100%,420px)}.home-career,.home-resume-capabilities{gap:48px;padding:60px 0}.home-career-list article{grid-template-columns:32px 1fr;gap:18px}.home-career-list time,.home-career-list h3,.home-career-list article>p{grid-column:2}.home-resume-capabilities ul,.home-resume-contact{grid-template-columns:1fr}.home-resume-capabilities li{border-right:0}.home-resume-contact>div{min-height:150px}.work-section,.approach-section,.about-section{padding:80px 18px}.section-heading{gap:28px;margin-bottom:64px}.section-heading>span{text-align:left}.project-motion-language{grid-template-columns:1fr;gap:52px;margin-bottom:64px;padding:30px 22px}.motion-icon-grid{grid-template-columns:1fr 1fr}.motion-icon{min-height:176px}.project-list{grid-template-columns:1fr;gap:64px 0}.project-card:first-child{grid-column:auto;grid-template-columns:1fr}.project-number{font-size:38px;top:18px;left:20px}.project-stage{font-size:11px;top:22px;right:20px}.project-info{min-height:440px;padding:28px 6px 26px}.project-card:not(:first-child) .project-info{min-height:440px}.project-title-row{grid-template-columns:44px 1fr;gap:8px}.project-index{font-size:20px}.project-info h3{font-size:clamp(34px,10vw,48px)}.project-card-details{margin:58px 0 30px}.project-card-details>p{font-size:18px}.project-arrow{bottom:22px;right:6px}.project-hover-copy,.project-cursor{display:none}.project-load-more{margin-top:64px;padding:28px 20px}.approach-grid{gap:60px;margin-top:80px}.approach-grid li{grid-template-columns:34px 1fr}.approach-grid li small{grid-column:2;margin-top:-8px}.about-section{min-height:75svh}.about-actions{justify-self:start;align-items:flex-start}.gravity-stage{height:400px}.gravity-stage-heading{width:calc(100% - 36px);padding:24px 18px 0}.gravity-stage-heading p{margin-bottom:12px}.gravity-stage-heading h2{font-size:clamp(34px,9.5vw,42px)}.gravity-replay{padding:8px 10px;font-size:8px;top:24px;right:18px}.gravity-field{inset:165px 12px 10px}.gravity-block{font-size:clamp(16px,4.8vw,21px)}.case-close{padding:0 18px}.case-hero{min-height:calc(100svh - 62px);padding:34px 18px 20px}.case-hero h2{font-size:clamp(58px,17vw,96px)}.case-hero-meta{flex-direction:column}.case-overview{grid-template-columns:1fr;gap:48px;padding:80px 18px}.case-objective{grid-template-columns:1fr;gap:44px;padding:80px 18px 20px}.case-motion-stage{padding:60px 18px 80px}.case-motion-heading{flex-direction:column}.case-motion-heading>span{text-align:left}.case-motion-frame{padding:20px}.case-motion-frame strong{font-size:clamp(58px,20vw,110px)}.case-story{padding:20px 18px 80px}.case-story>div{grid-template-columns:1fr;gap:32px;min-height:62svh;padding:52px 0}.case-story span{position:static}.case-placeholder-grid{grid-template-columns:1fr;padding:0 18px 80px}.case-placeholder-grid div,.case-placeholder-grid div:first-child{grid-area:auto;min-height:0}.case-result{padding:80px 18px}.case-result h3{margin-top:100px}.case-next-project{grid-template-columns:1fr auto;gap:32px;min-height:54svh;padding:60px 18px}.case-next-project>span{grid-column:1/-1}.case-next-project strong{font-size:clamp(42px,13vw,72px)}.case-change-wipe{padding:60px 18px}.case-bottom-close{padding:24px 18px}.case-overlay .case-close{height:42px;padding:0 13px;top:12px;left:12px}.case-editorial-layout{grid-template-columns:1fr}.case-sidebar{border-right:0;border-bottom:1px solid var(--line);gap:80px;height:auto;min-height:92svh;padding:82px 18px 28px;position:relative}.case-sidebar-heading>p{margin-bottom:42px}.case-sidebar-heading h2{font-size:clamp(46px,13vw,76px)}.case-sidebar-copy>p{font-size:19px}.case-gallery{gap:4px;padding:4px}.case-media-index{font-size:9px;top:17px;left:18px}.case-media-caption{padding:6px 8px;font-size:8px;bottom:11px;right:12px}.case-gallery-strategy{padding:18px}.case-gallery-strategy>strong{font-size:clamp(48px,16vw,86px)}.case-editorial-panel{grid-template-columns:1fr;gap:52px;min-height:auto;padding:86px 18px}.case-editorial-panel h3{font-size:clamp(42px,11.5vw,68px)}.case-editorial-panel>div>p{margin-top:38px;font-size:16px}.case-gallery-pair{grid-template-columns:1fr;gap:4px}.case-gallery-pair .case-gallery-media{padding:18px}.case-gallery-pair strong{font-size:clamp(44px,13vw,72px)}.case-process-panel ol{margin-top:48px}.case-gallery-impact{padding:18px}.case-gallery-impact h3{font-size:clamp(38px,10.5vw,64px)}.case-gallery .case-next-project{min-height:54svh}.resume-header{grid-template-columns:1fr auto;height:60px;padding:0 18px}.resume-header>span,.resume-header nav>a{display:none}.resume-hero{min-height:72svh;padding:60px 18px 24px}.resume-hero h1{margin:auto 0 60px;font-size:clamp(82px,27vw,150px)}.resume-intro,.resume-section{grid-template-columns:1fr}.resume-intro{gap:28px}.resume-section{gap:54px;padding:76px 18px}.resume-contact-grid{grid-column:auto;grid-template-columns:1fr 1fr;gap:30px 18px;margin-top:10px}.resume-timeline article{grid-template-columns:1fr;gap:24px;padding:28px 0 46px}.capability-list article{grid-template-columns:34px 1fr;gap:12px}.capability-list article p{grid-column:2}.resume-project-list a{grid-template-columns:1fr 28px;gap:18px}.resume-project-list a>span{grid-column:1/-1}.resume-two-columns{grid-template-columns:1fr}.resume-footer{flex-direction:column;gap:18px;padding:28px 18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-curtain-space{background:var(--paper);height:auto;min-height:100svh}.hero{will-change:auto;height:auto;min-height:100svh;position:relative;inset:auto;transform:none!important}.post-hero-flow-inner{will-change:auto;transform:none!important}.site-menu,.site-menu-link{transition-delay:0s!important}.scroll-drift{transform:none!important}.project-visual-surface{inset:0;clip-path:none!important;transform:none!important}.project-cursor,.project-motion-preview span{display:none}.project-motion-preview span:first-child{opacity:.14;display:block;transform:translate(-50%,-50%)}.project-motion-ticker{opacity:.65;transform:none}.motion-icon *,.project-shape,.project-motion-ticker{animation:none!important}.gravity-field{flex-wrap:wrap;align-content:flex-end;align-items:flex-end;gap:5px;padding:12px;display:flex}.gravity-block{width:min(var(--block-width), calc(50% - 3px));height:var(--block-height);opacity:1;position:relative;transform:none!important}.case-motion-frame{opacity:1;display:none;transform:none}.case-motion-frame:first-child{display:flex}}@media (hover:hover) and (pointer:fine) and (width>=801px){.project-cursor{display:block}.project-card{cursor:none}}@media print{:root{--paper:#fff;--ink:#000}.resume-header,.resume-projects,.resume-footer{display:none}.resume-hero{min-height:auto;padding:28px 0}.resume-hero h1{margin:42px 0;font-size:76px}.resume-section{break-inside:avoid;grid-template-columns:150px 1fr;gap:28px;padding:32px 0}.resume-profile>h2{font-size:36px}.resume-contact-grid{grid-column:2;margin-top:28px}.resume-timeline h3{font-size:26px}.resume-two-columns>div{border:1px solid #bbb;min-height:160px;color:#000!important;background:#fff!important}}.home-resume-photo{position:relative}.home-resume-photo>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.is-editing{padding-bottom:122px}.inline-editable{outline-offset:3px;cursor:text;border-radius:3px;outline:1px dashed #3554ee8c}.inline-editable:hover{background:#ffffff4d;outline:2px solid #3554ee}.inline-editable:focus{color:#111;background:#fff8d9;outline:3px solid #3554ee}.editor-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed}.editor-image-button{z-index:3;color:#111;font:600 11px/1 var(--sans);cursor:pointer;background:#f5f2ea;border:1px solid #111;border-radius:999px;padding:10px 13px;position:absolute;bottom:12px;right:12px}.editor-toolbar{z-index:90;color:#f5f2ea;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0e0e0df2;border:1px solid #ffffff3d;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:7px 24px;min-height:86px;padding:12px 14px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 16px 54px #00000047}.editor-status{flex-direction:column;gap:5px;min-width:140px;display:flex}.editor-status strong{font-size:13px}.editor-status span{color:#b9b7b0;font-size:10px}.editor-status .status-dirty{color:#ffcc63}.editor-status .status-saving{color:#aebcff}.editor-status .status-error{color:#ff806d}.editor-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.editor-toolbar button,.content-editor button{min-height:36px;color:inherit;font:600 11px/1 var(--sans);cursor:pointer;background:0 0;border:1px solid #5d5d58;border-radius:999px;padding:0 13px}.editor-toolbar button:hover,.content-editor button:hover{color:#111;background:#f5f2ea;border-color:#fff}.editor-toolbar button:disabled,.content-editor button:disabled{opacity:.38;cursor:not-allowed}.editor-toolbar .editor-save{color:#111;background:#b9df22;border-color:#b9df22}.editor-toolbar>small{color:#a9a79f;grid-column:1/-1;font-size:10px}.content-editor{z-index:85;color:#111;background:#f5f2ea;border:1px solid #353532;border-radius:18px;width:min(420px,100vw - 20px);padding:18px;transition:transform .42s cubic-bezier(.22,1,.36,1);position:fixed;top:10px;bottom:112px;right:10px;overflow-y:auto;transform:translate(calc(100% + 28px));box-shadow:0 20px 70px #00000057}.content-editor.is-open{transform:translate(0)}.content-editor-heading{border-bottom:1px solid #c8c5bc;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:14px;display:flex}.content-editor-heading>div{flex-direction:column;gap:3px;display:flex}.content-editor-heading span,.content-editor label{letter-spacing:.06em;font-size:10px}.content-editor-heading strong{font-size:20px}.content-editor-heading button{color:#111}.content-editor label{color:#65625b;gap:7px;margin-bottom:15px;display:grid}.content-editor input,.content-editor textarea,.content-editor select{color:#111;width:100%;font:500 14px/1.45 var(--sans);resize:vertical;background:#fff;border:1px solid #c6c2b8;border-radius:8px;padding:10px 11px}.content-editor textarea:focus,.content-editor input:focus,.content-editor select:focus{border-color:#3554ee;outline:2px solid #3554ee33}.editor-media-row,.editor-project-actions{flex-wrap:wrap;gap:7px;margin:4px 0 16px;display:flex}.content-editor .editor-media-row button,.content-editor .editor-project-actions button{color:#111;border-color:#aaa69c}.content-editor .is-danger{color:#c62f22}@media (width<=800px){.is-editing{padding-bottom:190px}.editor-toolbar{grid-template-columns:1fr;gap:8px;bottom:8px;left:8px;right:8px}.editor-status{flex-direction:row;justify-content:space-between}.editor-toolbar-actions{justify-content:flex-start}.editor-toolbar>small{display:none}.content-editor{width:calc(100vw - 16px);bottom:184px;right:8px}}@media print{.editor-toolbar,.content-editor,.editor-image-button,.inline-editable{display:none!important}}
