@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--render: #efeeea;--render-2: #e5e4df;--anthracite: #202326;--anthracite-2: #2b2f33;--concrete: #62666a;--concrete-light: #9ea2a5;--cedar: #b06a32;--cedar-ink: #8a4f22;--cedar-light: #d4945c;--brick: #7e4636;--brand: #353c2c;--brand-cream: #f8f5ed;--logo: var(--brand);--paper: var(--render);--paper-2: var(--render-2);--ink: var(--anthracite);--ink-muted: var(--concrete);--ink-rule: rgba(32, 35, 38, .16);--night: #202326;--night-2: #2a2d31;--night-ink: #ecebe6;--night-muted: var(--concrete-light);--night-rule: rgba(236, 235, 230, .14);--font: "Instrument Sans Variable", "Instrument Sans", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--t-meta: .75rem;--t-small: .875rem;--t-body: 1.0625rem;--t-lead: clamp(1.1875rem, 1rem + .5vw, 1.5rem);--t-h3: clamp(1.5rem, 1.2rem + 1vw, 2.25rem);--t-h2: clamp(2.5rem, 1.4rem + 4.4vw, 6rem);--t-display: clamp(3rem, 1.1rem + 7.6vw, 10rem);--m: clamp(20px, 5.2vw, 96px);--g: clamp(16px, 2vw, 32px);--s-section: clamp(120px, 18vw, 280px);--hdr-h: 76px;--ease: cubic-bezier(.22, .61, .15, 1);--ease-io: cubic-bezier(.7, 0, .2, 1);--slow: 1.2s;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--paper: #17191c;--paper-2: #1e2124;--ink: #e9e8e3;--ink-muted: #a3a7aa;--ink-rule: rgba(233, 232, 227, .14);--night: #24272b;--night-2: #2d3035;--cedar-ink: #d4945c;--logo: var(--brand-cream);color-scheme:dark}}:root[data-theme=dark]{--logo: var(--brand-cream);--paper: #17191c;--paper-2: #1e2124;--ink: #e9e8e3;--ink-muted: #a3a7aa;--ink-rule: rgba(233, 232, 227, .14);--night: #24272b;--night-2: #2d3035;--cedar-ink: #d4945c;color-scheme:dark}.tone-light{--bg: var(--paper);--fg: var(--ink);--fg-2: var(--ink-muted);--rule: var(--ink-rule);--accent: var(--cedar-ink);background:var(--bg);color:var(--fg)}.tone-shade{--bg: var(--paper-2);--fg: var(--ink);--fg-2: var(--ink-muted);--rule: var(--ink-rule);--accent: var(--cedar-ink);background:var(--bg);color:var(--fg)}.tone-dark{--bg: var(--night);--fg: var(--night-ink);--fg-2: var(--night-muted);--logo: var(--brand-cream);--rule: var(--night-rule);--accent: var(--cedar-light);background:var(--bg);color:var(--fg)}*,*:before,*:after{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--t-body);line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal;overflow-x:clip}h1,h2,h3,h4,p,figure,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}img,svg,canvas{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:var(--cedar);color:#fff}:focus-visible{outline:2px solid var(--cedar);outline-offset:3px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:fixed;left:var(--m);top:calc(env(safe-area-inset-top,0px) + 12px);z-index:100;padding:10px 16px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip:focus{transform:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped,html.is-locked{overflow:hidden}.display{font-size:var(--t-display);font-weight:500;line-height:.92;letter-spacing:-.048em}.h2{font-size:var(--t-h2);font-weight:500;line-height:.98;letter-spacing:-.04em}.h3{font-size:var(--t-h3);font-weight:500;line-height:1.1;letter-spacing:-.022em}.lead{font-size:var(--t-lead);line-height:1.4;letter-spacing:-.012em;max-width:34ch}.body{max-width:60ch}.muted{color:var(--fg-2, var(--ink-muted))}.meta{font-size:var(--t-meta);font-weight:500;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;font-variant-numeric:tabular-nums}.rl__line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.rl__line>span{display:block;transform:translate3d(0,108%,0);transition:transform 1.25s var(--ease);transition-delay:calc(var(--i, 0) * .09s)}.is-in .rl__line>span,.rl.is-in .rl__line>span{transform:none}.fade{opacity:0;transition:opacity 1.1s var(--ease) .25s}.is-in .fade,.fade.is-in{opacity:1}.wrap{padding-inline:var(--m)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g)}.ul{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0% 1px;background-position:100% 100%;transition:background-size .6s var(--ease);padding-bottom:2px}.ul:hover,.ul:focus-visible{background-size:100% 1px;background-position:0% 100%}.ul--always{background-size:100% 1px}.ul--always:hover{background-size:0% 1px;background-position:100% 100%}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.75em;min-height:52px;padding:0 1.6rem;border-radius:999px;border:1px solid currentColor;font-size:var(--t-small);font-weight:500;letter-spacing:.01em;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s var(--ease)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fg, var(--ink));transform:translate3d(0,101%,0);transition:transform .6s var(--ease)}.btn:hover,.btn:focus-visible{color:var(--bg, var(--paper))}.btn:hover:before,.btn:focus-visible:before{transform:none}.btn--solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}.btn--solid:before{background:var(--cedar)}.btn--solid:hover,.btn--solid:focus-visible{color:#fff;border-color:var(--cedar)}.magnetic{display:inline-block;transition:transform .7s var(--ease);will-change:transform}.magnetic.is-pulling{transition:transform .15s linear}.hdr{position:fixed;inset:0 0 auto;z-index:60;padding-top:env(safe-area-inset-top,0px);color:var(--hdr-fg, var(--ink));transition:transform .7s var(--ease),color .45s var(--ease),background-color .45s var(--ease)}.hdr[data-tone=light]{--hdr-fg: var(--ink);--hdr-bg: var(--paper)}.hdr[data-tone=shade]{--hdr-fg: var(--ink);--hdr-bg: var(--paper-2)}.hdr[data-tone=dark]{--logo: var(--brand-cream);--hdr-fg: var(--night-ink);--hdr-bg: var(--night)}.hdr.is-solid{background:color-mix(in srgb,var(--hdr-bg) 82%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.hdr.is-hidden{transform:translate3d(0,-100%,0)}.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--hdr-h);padding-inline:var(--m)}.wordmark{display:inline-flex;align-items:center;gap:18px;font-size:1rem}.brand-wordmark{display:block;height:30px;width:auto;aspect-ratio:1059.3 / 329;color:var(--logo);transition:color .45s var(--ease);overflow:visible}.wordmark__desc{font-weight:400;font-size:var(--t-small);letter-spacing:0;opacity:.6}.hdr__nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);font-size:var(--t-small)}.hdr__nav a{opacity:.72;transition:opacity .3s}.hdr__nav a:hover,.hdr__nav a[aria-current=true]{opacity:1}.hdr__cta{min-height:40px;padding:0 1.1rem}.hdr__menu{display:none;min-height:44px;min-width:44px;font-size:var(--t-small);font-weight:500}@media (max-width: 960px){.hdr__nav,.wordmark__desc{display:none}.hdr__menu{display:inline-flex;align-items:center;justify-content:flex-end}}.menu{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + 12px) var(--m) calc(env(safe-area-inset-bottom,0px) + 28px);background:var(--night);color:var(--night-ink);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--ease-io),visibility 0s linear .8s}.menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .8s var(--ease-io),visibility 0s}.menu__top{display:flex;justify-content:space-between;align-items:center;height:calc(var(--hdr-h) - 12px)}.menu__links{margin-top:auto;display:grid;gap:6px}.menu__links a{font-size:clamp(2.5rem,12vw,4.5rem);font-weight:500;letter-spacing:-.04em;line-height:1.05}.menu__foot{margin-top:40px;color:var(--night-muted)}.cursor{position:fixed;left:0;top:0;z-index:80;pointer-events:none;width:0;height:0}.cursor__dot{position:absolute;left:-46px;top:-46px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--render);color:var(--anthracite);font-size:var(--t-meta);font-weight:500;letter-spacing:.04em;text-align:center;line-height:1.2;transform:scale(0);transition:transform .55s var(--ease)}.cursor.is-on .cursor__dot{transform:scale(1)}@media (hover: none),(pointer: coarse){.cursor{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.rl__line>span{transform:none;transition:none}.fade{opacity:1;transition:none}.magnetic{transform:none!important}}.story{position:relative}.story__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:var(--fg)}.story__canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.8s var(--ease) .2s}.story.is-3d .story__canvas{opacity:1}.story__fallback{position:absolute;inset:0;display:grid;place-items:center;padding:calc(var(--hdr-h) + 4vh) var(--m) 30vh;transition:opacity 1s var(--ease);animation:fadeIn 1.4s var(--ease) .3s both}.story__fallback .elev{width:min(62vw,980px);height:auto;transform:translate(12%)}.story.is-3d .story__fallback{opacity:0;animation:none}@media (max-width: 820px){.story__fallback{place-items:start center;padding-top:calc(var(--hdr-h) + 10vh)}.story__fallback .elev{width:100%;transform:none}}.elev{color:var(--fg);overflow:visible}.elev__door{fill:currentColor}.story__tags{position:absolute;inset:0;pointer-events:none}.tag{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity}.tag__dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--cedar);box-shadow:0 0 0 5px color-mix(in srgb,var(--cedar) 22%,transparent)}.tag__line{position:absolute;left:0;top:0;width:46px;height:1px;background:currentColor;opacity:.55;transform-origin:0 0;transform:rotate(-38deg)}.tag__text{position:absolute;left:36px;top:-44px;padding:3px 9px 4px;white-space:nowrap;font-size:var(--t-small);font-weight:500;background:var(--bg);border:1px solid var(--rule)}@media (max-width: 700px){.story__tags{display:none}}.story__marks i{position:absolute;width:14px;height:14px;opacity:.4}.story__marks i:before,.story__marks i:after{content:"";position:absolute;background:currentColor}.story__marks i:before{left:6.5px;top:0;width:1px;height:14px}.story__marks i:after{top:6.5px;left:0;width:14px;height:1px}.story__marks i:nth-child(1){top:calc(var(--hdr-h) + 6px);left:calc(var(--m) * .5 - 7px)}.story__marks i:nth-child(2){top:calc(var(--hdr-h) + 6px);right:calc(var(--m) * .5 - 7px)}.story__marks i:nth-child(3){bottom:20px;left:calc(var(--m) * .5 - 7px)}.story__marks i:nth-child(4){bottom:20px;right:calc(var(--m) * .5 - 7px)}.hud{position:absolute;right:var(--m);top:calc(var(--hdr-h) + 34px);display:grid;grid-template-columns:auto auto;border-top:1px solid var(--rule);border-left:1px solid var(--rule);font-size:.6875rem;color:var(--fg-2);animation:fadeIn 1.2s var(--ease) 1s both}.hud__cell{padding:8px 14px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);white-space:pre}.hud__stage{color:var(--fg)}@media (max-width: 1080px){.hud{display:none}}.cue{position:absolute;left:50%;bottom:22px;display:grid;justify-items:center;gap:10px;transform:translate(-50%);font-size:.6875rem;color:var(--fg-2)}.cue>*{animation:fadeIn 1.2s var(--ease) 1.4s both}.cue i{position:relative;width:1px;height:40px;background:var(--rule);overflow:hidden}.cue i:after{content:"";position:absolute;inset:0;background:var(--fg);animation:cue 2.4s var(--ease-io) infinite}@keyframes cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}@media (max-width: 1080px){.cue{display:none}}.story__steps{position:relative;margin-top:-100vh;margin-top:-100svh;pointer-events:none}.step{display:flex;height:100vh;height:100svh;padding:calc(var(--hdr-h) + clamp(16px,4vh,48px)) var(--m) clamp(28px,6vh,60px)}.step__in{pointer-events:auto;will-change:transform,opacity}.story__tail{height:50vh;height:50svh}.hero__title{font-size:clamp(3rem,.9rem + 6.6vw,9rem);max-width:11ch}.hero__line{display:block;animation:rise 1.5s var(--ease) both;animation-delay:calc(.15s + var(--i, 0) * .12s)}.hero__line:nth-child(2){color:var(--fg-2)}.hero__lead{margin-top:clamp(20px,3vh,36px);max-width:30ch;animation:fadeIn 1.3s var(--ease) .7s both}.step--hero{align-items:flex-end}.step__title{font-size:clamp(2.25rem,1.1rem + 3.6vw,5.25rem)}.step__line{display:block}.step__note{margin-top:22px;max-width:34ch;font-size:var(--t-lead);line-height:1.4;color:var(--fg-2)}.step--1{align-items:flex-start}.step--2{align-items:flex-end;justify-content:flex-end}.step--2 .step__in{max-width:34rem}.step--3{align-items:flex-start;justify-content:center;text-align:center}.step--4{align-items:flex-end}.step--4 .step__title .step__line:nth-child(2){color:var(--fg-2)}@media (max-width: 820px){.step,.step--2,.step--3{align-items:flex-end;justify-content:flex-start;text-align:left}.hero__lead{max-width:26ch}.step__line{display:inline}}.story.is-static .step__in{opacity:1;transform:none}.story.is-static .story__stage{position:relative}.story.is-static .step:not(.step--hero){height:auto;padding-block:clamp(48px,8vh,96px) 0;align-items:flex-start;justify-content:flex-start;text-align:left}.story.is-static .step--1{padding-top:clamp(96px,14vh,160px)}.story.is-static .step__line{display:inline}.story.is-static .story__tail{height:clamp(48px,8vh,96px)}.story.is-static .cue{display:none}@keyframes rise{0%{opacity:0;transform:translate3d(0,.35em,0)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.svc__title .rl__line:nth-child(2)>span,.work__title .rl__line:nth-child(2)>span,.roles__title .rl__line:nth-child(2)>span,.about__statement .rl__line:nth-child(2)>span,.process__line:nth-child(2){color:var(--fg-2)}.svc{position:relative;padding-block:calc(var(--s-section) * .9) calc(var(--s-section) * .8)}.svc__head{row-gap:clamp(28px,4vw,56px)}.svc__title{grid-column:1 / -1}.svc__intro{grid-column:7 / span 6;max-width:38ch}.svc__list{margin-top:clamp(72px,10vw,160px);border-bottom:1px solid var(--rule)}.svc__item{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:10px;padding-block:clamp(26px,3vw,44px)}.svc__item:before,.svc__item:after{content:"";position:absolute;left:0;top:0;width:100%;height:1px;transform-origin:0 50%;transform:scaleX(0)}.svc__item:before{background:var(--rule);transition:transform 1.4s var(--ease) calc(var(--i, 0) * .08s)}.svc__item:after{background:var(--cedar);transition:transform .9s var(--ease)}.svc__item.is-in:before{transform:none}@media (hover: hover) and (pointer: fine){.svc__item:hover:after{transform:none}}.svc__name{grid-column:1 / span 6;font-size:var(--t-h3);font-weight:500;line-height:1.1;letter-spacing:-.022em}.svc__text{grid-column:7 / span 5;max-width:40ch;padding-top:.3em;color:var(--fg-2)}.svc__name,.svc__text{opacity:0;transform:translate3d(0,18px,0);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:calc(.15s + var(--i, 0) * .08s)}.svc__text{transition-delay:calc(.25s + var(--i, 0) * .08s)}.svc__item.is-in .svc__name,.svc__item.is-in .svc__text{opacity:1;transform:none}@media (max-width: 820px){.svc__intro,.svc__name,.svc__text{grid-column:1 / -1}}.process,.process__sticky{position:relative}.process.is-pinned .process__sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column}.process.is-pinned .process__viewport{flex:1;display:flex;align-items:center;min-height:0;padding-top:calc(var(--hdr-h) + 8px)}.process__track{position:relative}.process.is-pinned .process__track{display:flex;align-items:flex-start;width:max-content;padding:0 24vw 0 var(--m);will-change:transform}.process__intro{max-width:40rem}.process.is-pinned .process__intro{width:clamp(360px,36vw,600px);margin-right:9vw}.process__title{font-size:clamp(2.5rem,1.2rem + 3.8vw,5.5rem)}.process__line{display:block}.process__lede{margin-top:clamp(20px,3vh,32px);max-width:40ch;color:var(--fg-2)}.process__stages{position:relative}.process.is-pinned .process__stages{display:flex;gap:clamp(56px,6vw,112px)}.stage{position:relative;padding-top:44px}.process.is-pinned .stage{width:clamp(300px,26vw,440px)}.stage:before{content:"";position:absolute;left:0;top:26px;width:1px;height:11px;background:var(--fg-2);transition:background-color .6s var(--ease),transform .6s var(--ease);transform-origin:50% 100%}.stage.is-drawn:before{background:var(--cedar-light)}.stage.is-active:before{transform:scaleY(1.6)}.stage__n{position:absolute;left:0;top:0;font-size:var(--t-small);font-weight:500;font-variant-numeric:tabular-nums;color:var(--fg-2);transition:color .6s var(--ease)}.stage.is-active .stage__n{color:var(--cedar-light)}.stage__fig,.stage__title,.stage__text,.stage__out{transition:opacity .8s var(--ease)}.process.is-pinned .stage:not(.is-active) :is(.stage__fig,.stage__title,.stage__text,.stage__out){opacity:.32}.stage__fig{display:grid;place-items:center;aspect-ratio:240 / 150;margin:clamp(24px,4vh,44px) 0 clamp(20px,3.4vh,36px);color:var(--fg)}.process.is-pinned .stage__fig{max-height:30vh;width:100%}.stage__fig .diag{width:100%;height:100%;overflow:visible}.stage__fig .diag--elev{height:auto;width:100%}.stage__title{font-size:clamp(2rem,1.2rem + 2.2vw,3.5rem);font-weight:500;line-height:1;letter-spacing:-.035em}.stage__text{margin-top:14px;max-width:34ch;color:var(--fg-2)}.stage__out{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:clamp(18px,3vh,28px);padding-top:12px;border-top:1px solid var(--rule);font-size:var(--t-small)}.stage__out-k{color:var(--fg-2)}.process__thread{position:absolute;z-index:-1;top:31px;right:0;height:1px;background:var(--rule);pointer-events:none}.process__fill{position:absolute;left:0;top:0;height:1px;width:0;max-width:100%;background:var(--cedar-light)}.process.is-stacked .process__thread{display:none}.process__rail{position:relative;padding:0 var(--m) clamp(22px,4vh,40px)}.process__bar{display:block;height:1px;background:var(--rule);margin-bottom:14px}.process__bar span{display:block;height:100%;background:var(--fg);transform-origin:0 50%;transform:scaleX(0)}.process__rail ol{display:flex;justify-content:space-between;gap:16px}.process__rail button{min-height:32px;font-size:var(--t-small);color:var(--fg-2);transition:color .3s}.process__rail button:hover,.process__rail button[aria-current=step]{color:var(--fg)}.process__rail-n{font-variant-numeric:tabular-nums;margin-right:6px;opacity:.6}.process.is-stacked{padding-block:var(--s-section)}.process.is-stacked .process__track{padding-inline:var(--m)}.process.is-stacked .process__intro{margin-bottom:clamp(56px,10vw,96px)}.process.is-stacked .process__stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:clamp(64px,10vw,96px) var(--g)}.process.is-stacked .stage:after{content:"";position:absolute;left:0;right:0;top:31px;height:1px;background:var(--rule);z-index:-1}.process.is-stacked .stage{isolation:isolate}.process.is-stacked .stage__fig{max-width:440px}.draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease) calc(var(--d, 0) * 1s)}.is-drawn .draw{stroke-dashoffset:0}.diag__em{stroke:var(--accent)}.diag__dot,.diag__key,.diag__node{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .9s var(--ease) calc(var(--d, 0) * 1s)}.is-drawn :is(.diag__dot,.diag__key,.diag__node){transform:none}.diag__dot{fill:currentColor}.diag__key{fill:var(--accent)}.diag__node{fill:var(--bg);stroke:currentColor;stroke-width:1.25;vector-effect:non-scaling-stroke}.diag__pulse{fill:var(--accent);opacity:0;transition:opacity .6s var(--ease) 1.2s}.is-active .diag__pulse,.is-stacked .is-drawn .diag__pulse{opacity:1}.diag--elev .elev__hatch,.diag--elev .elev__door{opacity:0;transition:opacity 1.2s var(--ease) 1.1s}.is-drawn .diag--elev .elev__hatch{opacity:.45}.is-drawn .diag--elev .elev__door{opacity:1;fill:var(--accent)}.roles{padding-block:var(--s-section)}.roles__head{row-gap:28px;align-items:end}.roles__title{grid-column:1 / span 7}.roles__intro{grid-column:8 / span 5}.roles__map{--node-y: clamp(86px, 9vw, 120px);position:relative;margin-top:clamp(72px,9vw,140px);padding-top:var(--node-y)}.roles__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--g)}.role{position:relative;padding-right:12px;opacity:0;transform:translate3d(0,16px,0);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:calc(.35s + var(--i, 0) * .12s)}.roles__map.is-in .role{opacity:1;transform:none}.role__node{position:absolute;left:-6px;top:-6px;width:13px;height:13px;border-radius:50%;border:1px solid var(--fg);background:var(--bg)}.role--adri .role__node{border-color:var(--cedar);background:var(--cedar)}.role--adri .role__node:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--cedar);opacity:0;animation:ring 3.6s var(--ease) infinite 1.6s}@keyframes ring{0%{transform:scale(.6);opacity:.7}70%,to{transform:scale(1.6);opacity:0}}.role__title{margin-top:30px;font-size:clamp(1.375rem,1.1rem + .8vw,2rem);font-weight:500;letter-spacing:-.022em;line-height:1.1}.role--adri .role__title{color:var(--accent)}.role__text{margin-top:10px;max-width:26ch;color:var(--fg-2)}.roles__line{position:absolute;left:0;right:calc(25% - var(--g) * .75);top:var(--node-y);height:1px;background:var(--fg-2);opacity:.6;transform-origin:0 50%;transform:scaleX(0);transition:transform 1.6s var(--ease) .1s}.roles__map.is-in .roles__line{transform:none}.roles__line i{position:absolute;top:-2.5px;left:0;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--cedar);animation:travel-x 11s var(--ease-io) infinite alternate 2s}@keyframes travel-x{0%{left:0%}to{left:100%}}.roles__arc{position:absolute;left:0;top:0;width:calc(50% + var(--g) / 2);height:var(--node-y);pointer-events:none}.roles__arc svg{width:100%;height:100%;overflow:visible}.roles__arc path{fill:none;stroke:var(--fg-2);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease) .9s}.roles__map.is-in .roles__arc path{stroke-dashoffset:0}.roles__arc-label{position:absolute;left:50%;top:31%;transform:translate(-50%,-50%);padding:2px 10px;background:var(--bg);font-size:var(--t-small);color:var(--fg-2);white-space:nowrap;opacity:0;transition:opacity 1s var(--ease) 1.8s}.roles__map.is-in .roles__arc-label{opacity:1}.roles__caption{margin-top:clamp(56px,7vw,96px);padding-top:20px;max-width:46ch;border-top:1px solid var(--rule);font-size:var(--t-lead);line-height:1.4}@media (max-width: 820px){.roles__title,.roles__intro{grid-column:1 / -1}.roles__map{padding-top:0}.roles__arc{display:none}.roles__list{grid-template-columns:1fr;row-gap:44px}.role{padding-left:36px}.role__node{left:0;top:6px}.role__title{margin-top:0}.roles__line{inset:12px auto 40px 6px;width:1px;height:auto;transform-origin:50% 0;transform:scaleY(0)}.roles__line i{left:-2.5px;margin-left:0;margin-top:-3px;animation-name:travel-y}}@keyframes travel-y{0%{top:0%}to{top:100%}}.about{padding-block:var(--s-section)}.about__statement{font-size:clamp(2.5rem,1rem + 5.4vw,7.5rem);font-weight:500;line-height:.98;letter-spacing:-.045em}.about__body{margin-top:clamp(48px,7vw,112px)}.about__copy{grid-column:7 / span 6;display:grid;gap:1em;max-width:44ch;font-size:var(--t-lead);line-height:1.45;letter-spacing:-.01em}.about__copy p+p{color:var(--fg-2)}.about__principles{margin-top:clamp(80px,10vw,160px);row-gap:40px}.about__principles li{grid-column:span 4;position:relative;padding-top:22px;opacity:0;transform:translate3d(0,16px,0);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:calc(var(--i, 0) * .1s)}.about__principles li:before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--rule)}.about__principles li.is-in{opacity:1;transform:none}.about__p-title{font-size:1.25rem;font-weight:500;letter-spacing:-.015em}.about__p-text{margin-top:8px;max-width:32ch;color:var(--fg-2)}@media (max-width: 820px){.about__copy,.about__principles li{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){.svc__item:before,.roles__line,.role,.about__principles li,.svc__name,.svc__text,.roles__arc-label{transform:none!important;opacity:1!important;transition:none!important}.draw,.roles__arc path{stroke-dashoffset:0!important;transition:none!important}.diag__dot,.diag__key,.diag__node{transform:none!important;transition:none!important}.diag__pulse,.roles__line i,.role--adri .role__node:after{display:none}.diag--elev .elev__hatch{opacity:.45}.diag--elev .elev__door{opacity:1}}.stage__fig{position:relative}.stage__gl,.stage__hint{display:none}.process.has-3d .stage__fig>svg{visibility:hidden}.process.has-3d .stage__gl{display:block;position:absolute;inset:0;width:100%;height:100%}.process.has-3d .stage__fig{cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;border-radius:2px}.process.has-3d .stage__fig.is-dragging{cursor:grabbing}.process.has-3d .stage__fig:focus-visible{outline:2px solid var(--cedar-light);outline-offset:6px}.process.has-3d .stage__hint{display:block;position:absolute;left:0;top:calc(100% + 6px);font-size:.75rem;line-height:1.3;color:var(--fg-2);pointer-events:none;transition:opacity .6s var(--ease)}.process.has-3d .stage__fig[data-touched] .stage__hint{opacity:0}.process.is-pinned.has-3d .stage:not(.is-active) .stage__hint{opacity:0}.process.has-3d .stage__fig{margin-bottom:clamp(36px,5.2vh,54px)}.work{padding-block:var(--s-section) calc(var(--s-section) * .8)}.work__head{row-gap:28px;align-items:end;margin-bottom:clamp(72px,9vw,140px)}.work__title{grid-column:1 / span 8}.work__intro{grid-column:9 / span 4;max-width:36ch;color:var(--fg-2)}.work__list{display:grid;gap:clamp(120px,16vw,240px)}.proj__media{display:block;cursor:pointer}@media (hover: hover) and (pointer: fine){.proj__media{cursor:none}}.proj__clip{position:relative;overflow:hidden;background:var(--paper-2)}.proj__zoom{position:absolute;inset:0;transition:transform 1.6s var(--ease)}.proj.is-hover .proj__zoom{transform:scale(1.035)}.proj__img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);will-change:transform}.proj__index{display:flex;gap:20px}.proj__n{color:var(--accent)}.proj__title{margin-top:14px;font-size:clamp(3rem,1rem + 6.2vw,8.5rem);font-weight:500;line-height:.9;letter-spacing:-.05em}.proj__title span{display:block;transition:transform 1s var(--ease)}.proj__place{color:var(--fg-2)}.proj.is-hover .proj__type{transform:translate3d(.06em,0,0)}.proj.is-hover .proj__place{transform:translate3d(.14em,0,0)}.proj__summary{max-width:44ch}.proj__tags{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;color:var(--fg-2)}@media (hover: hover) and (pointer: fine){.proj__tags li{opacity:0;transform:translate3d(0,8px,0);transition:opacity .6s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i, 0) * .05s)}.proj.is-hover .proj__tags li,.proj:focus-within .proj__tags li{opacity:1;transform:none}}.proj__btn{margin-top:30px}.proj__head,.proj__info{opacity:0;transform:translate3d(0,24px,0);transition:opacity 1.1s var(--ease) .2s,transform 1.3s var(--ease) .2s}.proj__info{transition-delay:.35s}.proj.is-in .proj__head,.proj.is-in .proj__info{opacity:1;transform:none}.proj--landscape .proj__clip{height:min(92vh,64vw);height:min(92svh,64vw)}.proj--landscape .proj__body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);padding-inline:var(--m)}.proj--landscape .proj__head{position:relative;z-index:1;grid-column:1 / span 6;margin:calc(-1*clamp(56px,7vw,120px)) 0 0 calc(-1 * var(--m));padding:clamp(24px,2.6vw,44px) clamp(24px,3vw,56px) 0 var(--m);background:var(--bg)}.proj--landscape .proj__info{grid-column:8 / span 5;padding-top:clamp(28px,3vw,48px)}.proj--portrait{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);padding-inline:var(--m);align-items:start}.proj--portrait .proj__media{grid-column:7 / span 6;grid-row:1;margin-right:calc(-1 * var(--m))}.proj--portrait .proj__clip{aspect-ratio:4 / 5}.proj--portrait .proj__body{grid-column:1 / span 5;grid-row:1;position:sticky;top:calc(var(--hdr-h) + 24px);display:grid;gap:clamp(28px,4vw,56px);padding-top:clamp(24px,12vh,140px)}.proj--portrait .proj__title{font-size:clamp(3rem,1rem + 5vw,7rem)}@media (max-width: 820px){.work__title,.work__intro{grid-column:1 / -1}.proj--landscape .proj__clip{height:auto;aspect-ratio:4 / 3}.proj--landscape .proj__head,.proj--landscape .proj__info{grid-column:1 / -1}.proj--landscape .proj__head{margin-top:-40px;margin-right:15%;padding-right:24px}.proj--portrait .proj__media,.proj--portrait .proj__body{grid-column:1 / -1}.proj--portrait .proj__media{margin-right:0}.proj--portrait .proj__body{grid-row:2;position:static;padding-top:28px;gap:0}.proj--portrait .proj__info{margin-top:28px}}.pd{--bar-h: 72px;position:fixed;inset:0;z-index:75;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--bg);clip-path:inset(0 0 0 0);transition:clip-path .95s var(--ease-io),opacity .6s var(--ease)}.pd--fade{opacity:0;transform:translate3d(0,16px,0);transition:opacity .6s var(--ease),transform .8s var(--ease)}.pd--fade.is-open{opacity:1;transform:none}.pd.is-fading{opacity:0!important}.pd__bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:24px;height:calc(var(--bar-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--m) 0;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2)}.pd__count{margin-left:auto}.pd__close{min-height:44px;padding:0 1.2rem}.pd__hero{overflow:hidden;background:var(--paper-2)}.pd__hero img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.8s var(--ease)}.pd.is-open .pd__hero img{transform:none}.pd__content>*{opacity:0;transform:translate3d(0,24px,0);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(.45s + var(--k, 0) * .08s)}.pd.is-open .pd__content>*{opacity:1;transform:none}.pd.is-closing .pd__content,.pd.is-closing .pd__bar,.pd.is-closing .pd__next{opacity:0;transition:opacity .3s var(--ease)}.pd__content{padding:clamp(40px,6vw,96px) var(--m) clamp(64px,8vw,128px)}.pd__index{display:flex;gap:20px}.pd__index .meta:first-child{color:var(--accent)}.pd__title{margin-top:16px;font-size:clamp(3rem,1.2rem + 6vw,8rem);font-weight:500;line-height:.9;letter-spacing:-.05em}.pd__title span{display:block}.pd__summary{max-width:38ch}.pd__sec{display:grid;gap:16px var(--g);padding-top:24px;margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--rule)}.pd__label{font-size:var(--t-small);font-weight:500;color:var(--fg-2)}.pd__text{max-width:52ch;font-size:var(--t-lead);line-height:1.45;letter-spacing:-.01em}.pd__focus{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px var(--g)}.pd__focus h4{font-size:1.125rem;font-weight:500;letter-spacing:-.012em}.pd__focus p{margin-top:6px;color:var(--fg-2)}.pd__credits{display:grid;gap:14px}.pd__credits>div{display:grid;gap:4px}.pd__credits dd{font-size:1.125rem}.pd__tags{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:10px;color:var(--fg-2)}.pd__gallery{gap:var(--g)}.pd__gallery img{width:100%;height:auto}.pd__note{margin-top:clamp(40px,5vw,72px);max-width:60ch;font-size:var(--t-small);color:var(--fg-2)}.pd--landscape .pd__hero{height:min(84vh,64vw);height:min(84svh,64vw)}.pd--landscape .pd__content{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g)}.pd--landscape .pd__content>*{grid-column:1 / -1}.pd--landscape .pd__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);row-gap:28px;align-items:end}.pd--landscape .pd__index,.pd--landscape .pd__title{grid-column:1 / span 7}.pd--landscape .pd__summary{grid-column:8 / span 5;grid-row:2}.pd--landscape .pd__sec{grid-template-columns:repeat(12,minmax(0,1fr))}.pd--landscape .pd__label{grid-column:1 / span 3}.pd--landscape .pd__sec>:not(.pd__label){grid-column:4 / -1}.pd--landscape .pd__note{grid-column:4 / -1}@media (min-width: 900px){.pd--portrait .pd__art{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.pd--portrait .pd__hero{grid-column:2;grid-row:1;position:sticky;top:calc(var(--bar-h) + env(safe-area-inset-top,0px));height:calc(100vh - var(--bar-h) - env(safe-area-inset-top,0px));height:calc(100svh - var(--bar-h) - env(safe-area-inset-top,0px))}.pd--portrait .pd__content{grid-column:1;grid-row:1;padding-right:clamp(32px,4vw,72px)}.pd--portrait .pd__summary{margin-top:28px}}@media (max-width: 899px){.pd--portrait .pd__hero{aspect-ratio:4 / 5;max-height:88svh}.pd--portrait .pd__summary,.pd--landscape .pd__summary{margin-top:24px}}@media (max-width: 600px){.pd__focus{grid-template-columns:1fr}}@media (max-width: 820px){.pd--landscape .pd__hero{height:auto;aspect-ratio:4 / 3}.pd--landscape .pd__head,.pd--landscape .pd__sec{display:grid;grid-template-columns:1fr}.pd--landscape :is(.pd__index,.pd__title,.pd__summary,.pd__label,.pd__note),.pd--landscape .pd__sec>:not(.pd__label){grid-column:1 / -1;grid-row:auto}.pd--landscape .pd__head{row-gap:0}.pd__count{display:none}.pd__close{margin-left:auto}}.pd__next{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px var(--g);padding:clamp(48px,7vw,112px) var(--m) calc(clamp(40px,6vw,96px) + env(safe-area-inset-bottom,0px));overflow:hidden}.pd__next-k{grid-column:1 / -1;font-size:var(--t-small);color:var(--fg-2)}.pd__next-t{font-size:clamp(2.5rem,1rem + 5vw,6.5rem);font-weight:500;line-height:.95;letter-spacing:-.045em;transition:transform 1s var(--ease)}.pd__next:hover .pd__next-t,.pd__next:focus-visible .pd__next-t{transform:translate3d(.08em,0,0)}.pd__next-img{width:clamp(120px,16vw,240px);aspect-ratio:4 / 3;overflow:hidden}.pd__next-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}.pd__next:hover .pd__next-img img{transform:scale(1.08)}@media (prefers-reduced-motion: reduce){.proj__img,.pd__hero img{transform:none!important}.proj__head,.proj__info,.pd__content>*{opacity:1!important;transform:none!important;transition:none!important}.proj__zoom,.proj__title span{transition:none}.proj.is-hover .proj__zoom{transform:none}.pd,.pd--fade{transition:opacity .2s linear;transform:none}}.contact{padding-block:var(--s-section) calc(var(--s-section) * .75);overflow:hidden}.contact__title{font-size:clamp(3rem,1rem + 6vw,8.5rem)}.contact__sub>span{color:var(--fg-2)}.contact__cta{margin-top:clamp(64px,9vw,150px)}.contact__email{position:relative;display:inline-block;padding-bottom:.12em;font-size:clamp(1.9rem,.6rem + 6.2vw,7.5rem);font-weight:500;line-height:1;letter-spacing:-.045em;color:var(--fg);text-decoration:none;max-width:100%;overflow-wrap:anywhere}.contact__email-text{display:inline-block;transition:transform .9s var(--ease)}.contact__at{color:var(--accent);margin:0 .02em}.contact__email-line{position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--rule);overflow:hidden}.contact__email-line:after{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:100% 50%;transition:transform .9s var(--ease)}.contact__email:hover .contact__email-line:after,.contact__email:focus-visible .contact__email-line:after{transform:scaleX(1);transform-origin:0 50%}.contact__email:hover .contact__email-text{transform:translate3d(.04em,0,0)}.contact__cta .contact__email-line{transform:scaleX(0);transform-origin:0 50%;transition:transform 1.6s var(--ease) .3s}.contact__cta.is-in .contact__email-line{transform:none}.contact__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;margin-top:clamp(32px,4vw,56px)}.contact__note{max-width:40ch;font-size:var(--t-lead);line-height:1.4;color:var(--fg-2)}.contact__actions{display:flex;align-items:center;gap:12px}.contact__copy{min-width:10.5rem;justify-content:center}.contact__place{margin-top:clamp(48px,6vw,88px);font-size:var(--t-small);color:var(--fg-2)}@media (prefers-reduced-motion: reduce){.contact__cta .contact__email-line{transform:none;transition:none}.contact__email-text{transition:none}}.ftr{padding:clamp(64px,8vw,120px) 0 calc(clamp(28px,4vw,48px) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--night-rule)}.ftr__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px}.ftr__logo{display:block;width:clamp(260px,60vw,820px);height:auto;aspect-ratio:1472.4 / 329;color:var(--logo);overflow:visible}.ftr__desc{display:block;margin-top:20px;color:var(--fg-2)}.ftr__cols{display:grid;gap:8px;text-align:right}.ftr__base{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 64px;margin-top:clamp(56px,7vw,96px);padding-top:24px;border-top:1px solid var(--rule);font-size:var(--t-small);color:var(--fg-2)}.ftr__disc{max-width:72ch}.ftr__legal{display:grid;gap:4px;text-align:right}@media (max-width: 820px){.ftr__cols,.ftr__legal{text-align:left}.ftr__base{grid-template-columns:1fr}}
