.code-logo[data-astro-cid-gasnrkeq]{--recursive-duration:1.2s;--resolution-cycle-duration:2.4s;--diagonal-ease:cubic-bezier(.895, .03, .685, .22);color:#050505;opacity:.3;width:100%;height:100%;display:block;position:relative}.logo-composition[data-astro-cid-gasnrkeq]{opacity:0;position:absolute;inset:0}.logo-composition--final[data-astro-cid-gasnrkeq]{opacity:1}.logo-region[data-astro-cid-gasnrkeq],.logo-grain[data-astro-cid-gasnrkeq]{position:absolute;inset:0}.logo-grain[data-astro-cid-gasnrkeq]{opacity:0}.logo-region[data-astro-cid-gasnrkeq][data-grain=coarse] .logo-grain--coarse[data-astro-cid-gasnrkeq],.logo-region[data-astro-cid-gasnrkeq][data-grain=medium] .logo-grain--medium[data-astro-cid-gasnrkeq],.logo-region[data-astro-cid-gasnrkeq][data-grain=fine] .logo-grain--fine[data-astro-cid-gasnrkeq]{opacity:1}.logo-cube[data-astro-cid-gasnrkeq]{top:var(--cube-y);left:var(--cube-x);width:var(--cube-size);height:var(--cube-size);position:absolute}.logo-cube[data-astro-cid-gasnrkeq]:before,.logo-cube[data-astro-cid-gasnrkeq]:after{content:"";background:currentColor;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:both;position:absolute;inset:0}.logo-cube[data-astro-cid-gasnrkeq]:before{clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,100% 100%,0 100%)}.logo-cube[data-astro-cid-gasnrkeq]:after{clip-path:inset(100% 0 0 100%)}.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--coarse[data-astro-cid-gasnrkeq],.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--medium[data-astro-cid-gasnrkeq]{opacity:1}.code-logo[data-astro-cid-gasnrkeq][data-animation=glitch] .logo-composition--final[data-astro-cid-gasnrkeq],.code-logo[data-astro-cid-gasnrkeq][data-animation=reconstruct] .logo-composition--final[data-astro-cid-gasnrkeq],.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--final[data-astro-cid-gasnrkeq]{opacity:0}.code-logo[data-astro-cid-gasnrkeq][data-animation=glitch] .logo-composition--glitch[data-astro-cid-gasnrkeq],.code-logo[data-astro-cid-gasnrkeq][data-animation=reconstruct] .logo-composition--glitch[data-astro-cid-gasnrkeq]{opacity:1}.code-logo[data-astro-cid-gasnrkeq][data-animation=reconstruct] .logo-grain[data-astro-cid-gasnrkeq]{transition:opacity 35ms cubic-bezier(.32,.72,0,1)}.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--coarse[data-astro-cid-gasnrkeq],.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--medium[data-astro-cid-gasnrkeq],.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--fine[data-astro-cid-gasnrkeq],.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--final[data-astro-cid-gasnrkeq]{animation-duration:var(--resolution-cycle-duration);animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:both}.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--coarse[data-astro-cid-gasnrkeq]{animation-name:code-logo-resolution-coarse}.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--medium[data-astro-cid-gasnrkeq]{animation-name:code-logo-resolution-medium}.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--fine[data-astro-cid-gasnrkeq]{animation-name:code-logo-resolution-fine}.code-logo[data-astro-cid-gasnrkeq][data-animation=resolution-cycle] .logo-composition--final[data-astro-cid-gasnrkeq]{animation-name:code-logo-resolution-final}.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--final[data-astro-cid-gasnrkeq] .logo-cube[data-astro-cid-gasnrkeq]:before{animation-name:code-logo-recursive-final-subtract;animation-duration:var(--recursive-duration)}.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--final[data-astro-cid-gasnrkeq] .logo-cube[data-astro-cid-gasnrkeq]:after{animation-name:code-logo-recursive-final-add;animation-duration:var(--recursive-duration)}.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--coarse[data-astro-cid-gasnrkeq] .logo-cube[data-astro-cid-gasnrkeq]:before{animation-name:code-logo-recursive-coarse-subtract;animation-duration:var(--recursive-duration)}.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--coarse[data-astro-cid-gasnrkeq] .logo-cube[data-astro-cid-gasnrkeq]:after{animation-name:code-logo-recursive-coarse-add;animation-duration:var(--recursive-duration)}.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--medium[data-astro-cid-gasnrkeq] .logo-cube[data-astro-cid-gasnrkeq]:before{animation-name:code-logo-recursive-medium-subtract;animation-duration:var(--recursive-duration)}.code-logo[data-astro-cid-gasnrkeq][data-animation=recursive] .logo-composition--medium[data-astro-cid-gasnrkeq] .logo-cube[data-astro-cid-gasnrkeq]:after{animation-name:code-logo-recursive-medium-add;animation-duration:var(--recursive-duration)}@keyframes code-logo-resolution-coarse{0%,6%,22%,28%,44%,50%,66%,72%{opacity:1}8%,20%,30%,42%,52%,64%,74%,to{opacity:0}}@keyframes code-logo-resolution-medium{0%,6%,15%,28%,37%,50%,59%,72%,81%,to{opacity:0}8%,13%,30%,35%,52%,57%,74%,79%{opacity:1}}@keyframes code-logo-resolution-fine{0%,13%,22%,35%,44%,57%,66%,79%,to{opacity:0}15%,20%,37%,42%,59%,64%,81%,88%{opacity:1}92%{opacity:0}}@keyframes code-logo-resolution-final{0%,88%{opacity:0}92%,to{opacity:1}}@keyframes code-logo-recursive-final-subtract{0%{clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,100% 100%,0 100%);animation-timing-function:var(--diagonal-ease)}16.667%,to{clip-path:polygon(0 0,100% 0,100% 0,0 0,0 100%,0 100%)}}@keyframes code-logo-recursive-coarse-add{0%,16.667%{clip-path:inset(100% 0 0 100%);opacity:1}16.667%{animation-timing-function:var(--diagonal-ease)}33.333%{clip-path:inset(0);opacity:1}33.334%,to{clip-path:inset(0);opacity:0}}@keyframes code-logo-recursive-coarse-subtract{0%,33.332%{clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,100% 100%,0 100%);opacity:0}33.333%{clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,100% 100%,0 100%);opacity:1;animation-timing-function:var(--diagonal-ease)}50%,to{clip-path:polygon(0 0,100% 0,100% 0,0 0,0 100%,0 100%);opacity:1}}@keyframes code-logo-recursive-medium-add{0%,50%{clip-path:inset(100% 0 0 100%);opacity:1}50%{animation-timing-function:var(--diagonal-ease)}66.667%{clip-path:inset(0);opacity:1}66.668%,to{clip-path:inset(0);opacity:0}}@keyframes code-logo-recursive-medium-subtract{0%,66.666%{clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,100% 100%,0 100%);opacity:0}66.667%{clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,100% 100%,0 100%);opacity:1;animation-timing-function:var(--diagonal-ease)}83.333%,to{clip-path:polygon(0 0,100% 0,100% 0,0 0,0 100%,0 100%);opacity:1}}@keyframes code-logo-recursive-final-add{0%,83.333%{clip-path:inset(100% 0 0 100%)}83.333%{animation-timing-function:var(--diagonal-ease)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.logo-composition--coarse[data-astro-cid-gasnrkeq],.logo-composition--medium[data-astro-cid-gasnrkeq],.logo-composition--fine[data-astro-cid-gasnrkeq]{opacity:0!important}.logo-composition--final[data-astro-cid-gasnrkeq]{opacity:1!important}.logo-composition[data-astro-cid-gasnrkeq],.logo-grain[data-astro-cid-gasnrkeq],.logo-cube[data-astro-cid-gasnrkeq]:before,.logo-cube[data-astro-cid-gasnrkeq]:after{transition:none!important;animation:none!important}}@font-face{font-family:Beausite;src:url(/assets/raw/fonts/yO11UHomPLakdRRyJKYNVnY7bA8.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light;color:#0a0a0a;font-synthesis:none;--page-pad:clamp(18px, 2.4vw, 36px);--line:#00000014;--muted:#00000073;--motion-smooth:cubic-bezier(.19, 1, .22, 1);--motion-snappy:cubic-bezier(.175, .885, .32, 1.1);--motion-fade:cubic-bezier(.22, 1, .36, 1);background:#fff;font-family:Beausite,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fff;min-width:320px;margin:0;font-size:14px;line-height:1.35}img,video{max-width:100%;display:block}a{color:inherit;transition:opacity .16s var(--motion-fade);text-decoration:none}a:hover{opacity:.55}p,h1,h2,ul,blockquote,figure{margin:0}ul{padding:0;list-style:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:100;pointer-events:none;justify-content:space-between;align-items:center;width:100%;height:48px;padding:24px 24px 0;display:flex;position:fixed;top:0;left:0}.brand,.site-header nav{pointer-events:auto;align-items:center;display:flex}.brand{width:24px;height:24px}.brand:hover{opacity:1}.site-header nav{gap:12px}.site-header nav a{color:#00000026;letter-spacing:-.5px;align-items:center;height:29px;font-size:20px;line-height:1;display:flex}.site-header nav a[aria-current=page]{color:#0000004d}.work-route{isolation:isolate;background:#fff;width:100vw;height:100svh;position:relative;overflow:hidden}.work-scroller{--work-inline-padding:96px;--visual-padding:48px;--work-media-gap:var(--visual-padding);--work-project-gap:50vw;--work-enter-distance:24px;--work-top-space:calc(52px + env(safe-area-inset-top));--work-bottom-space:calc(100px + env(safe-area-inset-bottom));--work-usable-height:max(0px, calc(100svh - 48px - var(--work-top-space) - var(--work-bottom-space)));--work-media-height:min(600px, calc(var(--work-usable-height) * .75), 40.5vw);z-index:1;width:100vw;height:calc(100svh - 48px);padding:var(--work-top-space) 0 var(--work-bottom-space);overscroll-behavior:contain;scroll-padding-inline:var(--work-inline-padding);flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:fixed;top:48px;left:0;overflow:auto hidden}.work-track{width:max-content;height:var(--work-media-height);align-items:center;gap:var(--work-project-gap);padding-inline:var(--work-inline-padding);flex-shrink:0;display:flex}.work-project{align-items:center;gap:var(--work-media-gap);flex:none;height:100%;display:flex}@media (prefers-reduced-motion:no-preference){[data-work-entrance]{animation:work-enter-slide .56s var(--motion-smooth) var(--work-enter-delay) both, work-enter-fade .3s var(--motion-fade) var(--work-enter-delay) both}[data-work-entrance]:focus-within{animation:none}}@keyframes work-enter-slide{0%{transform:translateX(var(--work-enter-distance))}to{transform:none}}@keyframes work-enter-fade{0%{opacity:0}to{opacity:1}}.project-heading,.project-scope{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.label{color:#0003;letter-spacing:-.01em;font-size:13px;line-height:1.4}blockquote{flex-direction:column;gap:12px;width:256px;display:flex}blockquote p{color:#0009;font-size:16px;line-height:1.4}.testimonial-author{align-items:center;gap:10px;display:flex}blockquote cite{color:#00000073;font-size:13px;font-style:normal;line-height:1.4}.avatar{object-fit:cover;border-radius:9999px;flex:0 0 24px;width:24px;height:24px}.gallery-item{--visual-radius:10px;box-sizing:content-box;width:calc(var(--work-media-height) * 16 / 9);height:var(--work-media-height);padding:var(--visual-padding);border-radius:calc(var(--visual-radius) + var(--visual-padding));flex:none;position:relative;overflow:hidden}.gallery-item--square{width:var(--work-media-height)}.gallery-item img,.gallery-item video{object-fit:cover;border-radius:var(--visual-radius);width:100%;height:100%}.gallery-item:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 .5px #00000024}@media (width<=809.98px),(hover:none) and (pointer:coarse){.gallery-item:after{box-shadow:inset 0 0 0 1px #00000024}}.video-retry{color:#fff;font:inherit;cursor:pointer;background:#000c;border:0;border-radius:8px;padding:12px 16px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.video-retry:focus-visible{outline-offset:3px;outline:2px solid #fff}.project-navigation{--project-label-height:28px;--navigation-intro-duration:.7s;--navigation-intro-ease:cubic-bezier(.22, .9, .16, 1);z-index:90;bottom:calc(24px + env(safe-area-inset-bottom));transform-origin:bottom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;left:50%;transform:translate(-50%)scale(1.25)}.project-navigation.has-project-years{--project-label-height:44px}.project-navigation *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.project-dialog-trigger-stage{z-index:1;width:132px;height:var(--project-label-height);transform-origin:var(--project-label-origin-x,50%) bottom;visibility:visible;transition:opacity .3s var(--motion-fade), filter .5s var(--motion-smooth), transform var(--navigation-intro-duration) var(--navigation-intro-ease), visibility 0s;position:relative}.project-navigation[data-navigation-intro=dots] .project-dialog-trigger-stage,.project-navigation.is-project-scrubbing .project-dialog-trigger-stage{opacity:0;pointer-events:none;filter:blur(4px);transform:translateY(calc(var(--project-label-height) / 4 + 13px)) scale(.5)}.project-navigation[data-navigation-intro=dots] .project-dialog-trigger-stage{visibility:hidden}.project-navigation.is-project-scrubbing .project-dialog-trigger-stage{visibility:hidden;transition:opacity .15s var(--motion-fade), filter 0s .15s, transform 0s .15s, visibility 0s .15s}@media (prefers-reduced-motion:no-preference){.project-navigation[data-navigation-intro=gauge] .project-progress-item{transition:transform var(--navigation-intro-duration) var(--navigation-intro-ease)}.project-navigation[data-navigation-intro=gauge] .project-progress-track{transition:background-color .16s var(--motion-fade), scale .22s var(--motion-snappy)}.project-navigation[data-navigation-intro=gauge] .project-progress-item.is-active .project-progress-track{animation:project-gauge-enter var(--navigation-intro-duration) var(--navigation-intro-ease) both}.project-navigation[data-navigation-intro=dots] .project-progress{opacity:0}.project-navigation.is-project-label-ready[data-navigation-intro=dots] .project-progress{animation:work-enter-fade .18s var(--motion-fade) .3s both}.project-navigation[data-navigation-intro=dots] .project-progress-item{transform:translate(0)!important}.project-navigation[data-navigation-intro=dots] .project-progress-item.is-active .project-progress-track{clip-path:inset(0 12px round 999px)}.project-navigation[data-navigation-intro=dots] .project-progress-fill{opacity:0}@keyframes project-gauge-enter{0%{clip-path:inset(0 12px round 999px)}to{clip-path:inset(0 round 999px)}}}.project-dialog-trigger{width:132px;height:var(--project-label-height);appearance:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;will-change:transform;background:0 0;border:0;padding:0;position:absolute;inset:0}.project-dialog-trigger-shell{clip-path:inset(0 40px round 8px);transition:opacity .16s var(--motion-fade);will-change:clip-path;background:#00000012;border-radius:8px;position:absolute;inset:0;overflow:hidden}.project-dialog-trigger-strip{width:max-content;height:var(--project-label-height);color:#00000085;font:inherit;will-change:transform;align-items:center;gap:24px;font-size:12px;line-height:1;display:flex;position:absolute;top:0;left:0;transform:translate(52px)}.project-dialog-trigger-label{white-space:nowrap;flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.project-dialog-trigger-year{color:#00000059;font-size:10px}.project-navigation.is-project-label-ready .project-dialog-trigger,.project-navigation.is-project-label-ready .project-dialog-trigger-strip{transition:transform .38s var(--motion-smooth)}.project-navigation.is-project-label-ready .project-dialog-trigger-shell{transition:opacity .16s var(--motion-fade), clip-path .38s var(--motion-smooth)}.project-dialog-trigger:hover .project-dialog-trigger-shell{opacity:.7}.project-dialog-trigger:focus{outline:none}.project-dialog-trigger:focus-visible .project-dialog-trigger-name{text-underline-offset:3px;text-decoration:underline}.project-dialog-close:focus-visible{outline-offset:3px;outline:2px solid #00000059}.project-progress{isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:center;gap:8px;margin:-12px -24px;padding:12px 24px;display:flex;position:relative}.project-progress:before{z-index:0;content:"";opacity:0;pointer-events:none;transform-origin:var(--scrub-origin-x,50%) center;transition:opacity .14s var(--motion-fade), transform .22s var(--motion-snappy);background:#e8e8e8fa;border-radius:18px;position:absolute;inset:0;transform:scale(.92)}.project-progress.is-scrubbing:before{opacity:1;transition-duration:.14s,.22s;transform:scale(1)}.project-progress.is-scrubbing,.project-progress.is-scrubbing *{cursor:ew-resize}.project-progress-item{z-index:1;appearance:none;cursor:pointer;width:6px;height:6px;transition:transform .38s var(--motion-smooth);background:0 0;border:0;flex:0 0 6px;padding:0;position:relative}.project-progress-item:before{content:"";position:absolute;inset:-9px -4px}.project-progress-track{clip-path:inset(0 12px round 999px);width:30px;height:6px;transition:background-color .16s var(--motion-fade), clip-path .38s var(--motion-smooth), scale .22s var(--motion-snappy);background:#0000001f;border-radius:999px;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.project-progress-item.is-active .project-progress-track{clip-path:inset(0 round 999px)}.project-progress-item:not(.is-active):hover .project-progress-track{background:#0003}.project-progress.is-scrubbing .project-progress-track{background:#00000029}.project-progress.is-scrubbing .project-progress-item.is-scrub-target .project-progress-track{background:#00000042;scale:1 1.12}.project-navigation.is-project-scrubbing .project-dialog-trigger,.project-navigation.is-project-scrubbing .project-dialog-trigger-strip,.project-navigation.is-project-scrubbing .project-progress-item,.project-navigation.is-project-scrubbing .project-dialog-trigger-shell,.project-navigation.is-project-scrubbing .project-progress-track{transition-duration:.18s}.project-progress-item:focus-visible{outline:none}.project-progress-item:focus-visible:after{content:"";outline-offset:2px;border-radius:999px;outline:2px solid #00000059;position:absolute;inset:-5px}.project-progress-item.is-active:focus-visible:after{inset-inline:-17px}.project-progress-fill{transform-origin:0;background:#0000007a;border-radius:0;position:absolute;inset:0;transform:scaleX(0)}.project-progress-item.is-active .project-progress-fill{will-change:transform}.project-dialog{width:min(480px,100vw - 48px);max-width:none;max-height:calc(100dvh - 48px);color:inherit;opacity:0;transition:opacity .2s var(--motion-fade);background:0 0;border:0;padding:0;overflow:visible}.project-dialog.is-open{opacity:1}.project-dialog::backdrop{opacity:0;backdrop-filter:blur(10px);transition:opacity .2s var(--motion-fade);background:#ffffffb8}.project-dialog.is-open::backdrop{opacity:1}.project-dialog-panel{filter:blur(4px);width:100%;max-height:calc(100dvh - 48px);transition:filter .2s var(--motion-fade), transform .36s var(--motion-smooth);overscroll-behavior:contain;background:#ededed;border-radius:16px;padding:28px;position:relative;overflow:hidden auto;transform:translateY(8px)scale(.99)}.project-dialog.is-open .project-dialog-panel{filter:blur();transform:translateY(0)scale(1)}.project-dialog[data-closing],.project-dialog[data-closing]::backdrop,.project-dialog[data-closing] .project-dialog-panel{transition-duration:.2s}.project-dialog[data-closing] .project-dialog-panel{filter:blur(2px);transform:translateY(4px)scale(.995)}.project-dialog-close{color:#00000080;cursor:pointer;width:32px;height:32px;transition:opacity .16s var(--motion-fade);background:#00000012;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:20px;right:20px}.project-dialog-close:hover{opacity:.65}.project-dialog-close:active{scale:.94}.project-dialog-close{transition:opacity .16s var(--motion-fade), scale .22s var(--motion-snappy)}.project-dialog[data-instant],.project-dialog[data-instant]::backdrop,.project-dialog[data-instant] .project-dialog-panel,.project-navigation:has(:focus-visible) :is(.project-dialog-trigger,.project-dialog-trigger-shell,.project-dialog-trigger-strip,.project-progress-item,.project-progress-track){transition:none}.project-dialog-close svg{width:14px;height:14px}.project-dialog-close path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.25px}.project-dialog-content{flex-direction:column;justify-content:space-between;gap:72px;min-height:380px;padding-top:44px;display:flex}.project-dialog-content[hidden]{display:none}.project-dialog-meta{flex-direction:column;gap:32px;display:flex}.project-dialog-content h2,.project-dialog-content .project-scope li{color:#0000008c;letter-spacing:-.02em;font-size:24px;font-weight:400;line-height:1.3}.project-dialog-testimonial{width:100%}.project-dialog-testimonial p{max-width:360px}.info-route .site-header{background:linear-gradient(#fff 80%,#fff0);height:72px;padding:24px}.info-page{letter-spacing:-.012em;color:#444;width:min(100% - 48px,640px);margin-inline:auto;padding:112px 0 80px;font-size:17px;line-height:1.6}.info-portrait{object-fit:cover;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:128px;height:128px;margin:clamp(40px,6vw,80px) auto clamp(56px,7vw,96px);padding:0;display:block}.info-portrait:disabled{cursor:default}.info-portrait:focus-visible{outline-offset:4px;outline:2px solid}.info-portrait-media{border-radius:inherit;width:100%;height:100%;display:block;position:relative;overflow:hidden;transform:translateZ(0)}.info-portrait :is(video,[data-portrait-poster],[data-portrait-loading]){object-fit:cover;border-radius:inherit;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.info-portrait [data-portrait-loading]{z-index:1;background:#fff}.info-portrait [data-portrait-poster]{z-index:1}@keyframes info-reveal-rise{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes info-reveal-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:no-preference){[data-info-entrance]{animation:info-reveal-rise .56s var(--motion-smooth) var(--info-reveal-delay,0s) both, info-reveal-fade .3s var(--motion-fade) var(--info-reveal-delay,0s) both}.info-route :is([data-info-entrance],.info-reveal-item):focus-within{opacity:1;pointer-events:auto;transition:none;animation:none;transform:none}}.info-page h1,.info-page h2,.info-page h3{color:#171717;font-weight:400}.info-page h1{letter-spacing:-.025em;max-width:590px;margin:0 0 24px;font-size:25px;line-height:1.35}.info-page h2{letter-spacing:-.015em;margin:0 0 16px;font-size:19px;line-height:1.4}.info-page h3{font-size:inherit;line-height:inherit;margin:0 0 4px}.info-page p+p{margin-top:16px}.info-section{margin-top:48px}.info-services{border-top:1px solid var(--line);margin-top:24px}.info-service{border-bottom:1px solid var(--line)}.info-page summary{cursor:pointer;color:#171717;align-items:center;gap:20px;list-style:none;display:flex}.info-page summary::-webkit-details-marker{display:none}.info-page summary::marker{content:""}.info-page summary:hover .info-disclosure{color:#171717}.info-page summary:focus-visible,.info-page a:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #555}.info-service summary{padding:16px 0}.info-service summary img{object-fit:contain;background:#f6f6f5;border-radius:4px;flex-shrink:0;width:112px;height:76px}.info-service-label{flex-direction:column;gap:3px;display:flex}.info-caption{color:#737373;letter-spacing:0;font-size:13px;line-height:1.5}.info-disclosure{color:#777;width:16px;height:16px;transition:color .16s var(--motion-fade);flex-shrink:0;margin-left:auto;display:inline-flex;position:relative}.info-disclosure:before,.info-disclosure:after{content:"";background:currentColor;border-radius:1px;width:12px;height:1px;position:absolute;top:7.5px;left:2px}.info-disclosure:after{transition:transform .26s var(--motion-smooth);transform:rotate(90deg)}.info-page details[open]:not([data-expanded=false])>summary .info-disclosure:after{transform:rotate(0)}.info-page details[data-animating]{overflow-y:clip}.info-page summary:focus-visible .info-disclosure:after{transition:none}.info-detail-body{padding:0 0 20px;font-size:15px;line-height:1.65}.info-service .info-detail-body{padding-left:132px}.info-capabilities{padding-left:18px;list-style:outside}.info-capabilities li+li{margin-top:4px}.info-journey{--story-ease-snappy:cubic-bezier(.175, .885, .32, 1.1);--story-ease-smooth:cubic-bezier(.19, 1, .22, 1);--story-layout-duration:.22s}.info-journey:has(input[name=full-story]:checked){--story-layout-duration:.3s}.info-journey-heading{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.info-journey-heading h2{margin:0}.info-journey-toggle{color:#737373;cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:12px;line-height:1.4;display:inline-flex;position:relative}.info-journey-toggle input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.info-journey-switch-track{pointer-events:none;width:28px;height:16px;transition:background-color .16s var(--story-ease-smooth);background:#d1d1ce;border-radius:8px;flex-shrink:0;position:relative}.info-journey-switch-track:before{content:"";width:12px;height:12px;transition:transform .22s var(--story-ease-snappy);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.info-journey-toggle input:checked+.info-journey-switch-track{background:#555}.info-journey-toggle input:checked+.info-journey-switch-track:before{transform:translate(12px)}.info-journey-toggle input:focus-visible+.info-journey-switch-track{outline-offset:3px;outline:2px solid #555}.info-events{--event-date-width:80px;--event-gap:16px;--event-axis:0px;--event-font-size:15px;font-size:var(--event-font-size);margin:24px 0 0 4px;padding:0;line-height:1.5;list-style:none}.info-events>li{grid-template-rows:1fr;display:grid;position:relative}.info-event-row{grid-template-columns:var(--event-date-width) minmax(0, 1fr);column-gap:var(--event-gap);min-height:0;transition:padding-bottom var(--story-layout-duration) var(--story-ease-smooth);align-items:start;padding:0 0 22px 24px;display:grid}.info-events>li:before{content:"";left:var(--event-axis);background:#dededb;width:1px;position:absolute;top:0;bottom:0}.info-events>li:after{content:"";left:calc(var(--event-axis) - 3px);background:#777;border-radius:50%;width:7px;height:7px;position:absolute;top:calc(.75em - 3px)}@media (prefers-reduced-motion:no-preference){.info-events>li:not(.info-event-secondary):before,.info-events>li:not(.info-event-secondary):after{animation:info-reveal-fade .3s var(--motion-fade) var(--info-axis-delay,0s) both}}.info-events>li:first-child:before{top:.75em}.info-events>li:last-child:before{bottom:calc(100% - .75em)}.info-events>li:last-child>.info-event-row{padding-bottom:0}.info-journey:has(input[name=full-story]:not(:checked)) .info-events>li:nth-child(1 of :not(.info-event-secondary)):before{top:.75em}.info-journey:has(input[name=full-story]:not(:checked)) .info-events>li:nth-last-child(1 of :not(.info-event-secondary)):before{bottom:calc(100% - .75em)}.info-journey:has(input[name=full-story]:not(:checked)) .info-events>li:nth-last-child(1 of :not(.info-event-secondary))>.info-event-row{padding-bottom:0}.info-events time{font-size:inherit;white-space:nowrap}.info-events summary{display:block}.info-events summary,.info-event-title{font-size:inherit;line-height:inherit;color:#444}.info-event-ending{white-space:nowrap}.info-event-chevron{vertical-align:-.13em;color:#777;transition:transform .26s var(--motion-smooth);margin-left:4px;display:inline-block}.info-events details[open]:not([data-expanded=false])>summary .info-event-chevron{transform:rotate(90deg)}.info-events summary:focus-visible .info-event-chevron{transition:none}.info-event-secondary .info-event-title,.info-event-secondary summary,.info-event-secondary .info-detail-body,.info-event-secondary time{color:#929292}.info-event-secondary .info-event-chevron{color:inherit}.info-events>.info-event-secondary:after{background:#c5c5c2}.info-events>.info-event-secondary{transition:grid-template-rows var(--story-layout-duration) var(--story-ease-smooth), opacity .2s var(--story-ease-smooth) 35ms, visibility 0s}.info-event-secondary>.info-event-row{overflow:hidden}.info-event-secondary>.info-event-row>*{transition:transform var(--story-layout-duration) var(--story-ease-smooth)}.info-journey:has(input[name=full-story]:not(:checked)) .info-event-secondary{opacity:0;visibility:hidden;pointer-events:none;transition-duration:var(--story-layout-duration), .12s, 0s;transition-delay:0s, 0s, var(--story-layout-duration);grid-template-rows:0fr}.info-journey:has(input[name=full-story]:not(:checked)) .info-event-secondary>.info-event-row{padding-bottom:0}.info-journey:has(input[name=full-story]:not(:checked)) .info-event-secondary>.info-event-row>*{transform:translateY(-4px)}.info-journey:has(input[name=full-story]:focus-visible) :is(.info-journey-switch-track,.info-event-secondary,.info-event-row,.info-event-secondary>.info-event-row>*),.info-journey:has(input[name=full-story]:focus-visible) .info-journey-switch-track:before{transition:none}.info-events .info-detail-body{margin-left:calc(-1 * (var(--event-date-width) + var(--event-gap)));padding:12px 0 0}.info-principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.info-principles li{background:#f6f6f5;border-radius:8px;padding:20px}.info-principles h3{margin-bottom:12px;font-size:16px;line-height:1.4}.info-principles p{font-size:15px;line-height:1.6}.info-clients{flex-wrap:wrap;gap:8px 24px;display:flex}.info-contact{border-top:1px solid var(--line);padding-top:32px}.info-contact-links{flex-wrap:wrap;gap:12px 28px;margin-top:20px;display:flex}.info-contact a{text-underline-offset:4px;color:#171717;align-items:center;gap:7px;min-height:44px;text-decoration:underline;display:inline-flex}.info-contact a svg{transition:transform .22s var(--motion-snappy)}@media (hover:hover){.info-contact a:hover svg{transform:translate(2px,-2px)}}.info-contact .info-social{color:#737373;margin-top:24px;font-size:13px}@media (width<=480px){.info-page{width:calc(100% - 40px);padding:96px 0 48px;font-size:16px}.info-page h1{font-size:23px}.info-section{margin-top:40px}.info-service summary{gap:14px}.info-service summary img{width:88px;height:64px}.info-service .info-detail-body{padding-left:0}.info-caption{font-size:12px}.info-events{--event-date-width:72px;--event-gap:12px}}@media (width<=1199.98px){.work-scroller{--visual-padding:32px}.gallery-item{--visual-radius:8px}}@media (width<=640px){.info-principles{grid-template-columns:1fr}}@media (width<=809.98px){.gallery-item{--visual-radius:6px}.work-scroller{--visual-padding:16px;--work-inline-padding:24px;--work-media-height:min(320px, calc(var(--work-usable-height) * .75))}.project-dialog{width:100vw;height:100dvh;max-height:none;margin:0}.project-dialog-panel{width:100%;height:100%;max-height:none;padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));box-shadow:none;border-radius:0}.project-dialog-close{top:calc(20px + env(safe-area-inset-top));right:20px}.project-dialog-content{min-height:100%;padding-top:52px}}@media (prefers-reduced-motion:reduce){.info-journey-switch-track,.info-journey-switch-track:before,.info-event-secondary,.info-event-row,.info-event-secondary>.info-event-row>*,a,.info-contact a svg,.info-disclosure,.info-disclosure:after,.info-event-chevron{transition:none!important}.info-contact a:hover svg{transform:none}html{scroll-behavior:auto}.project-dialog-trigger,.project-dialog-trigger-stage,.project-dialog-trigger-shell,.project-dialog-trigger-strip,.project-progress-item,.project-progress-track,.project-progress:before,.project-dialog,.project-dialog::backdrop,.project-dialog-panel,.project-dialog-close{transition:none!important}}.work-chapter{z-index:2;pointer-events:none;opacity:0;visibility:hidden;backdrop-filter:blur(18px);transition:opacity .42s var(--motion-smooth), visibility 0s .42s;background:#ffffffbf;position:fixed;inset:0}.work-chapter.is-visible{opacity:1;visibility:visible;transition:opacity .28s var(--motion-smooth), visibility 0s}.work-chapter-heading{top:var(--chapter-center-y,50%);color:#1717176b;text-align:center;width:88%;max-width:100%;position:absolute;left:6%;translate:0 -50%}.work-chapter-eyebrow{letter-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:13px;line-height:1.2;position:absolute;bottom:calc(100% + 16px);left:0}.work-chapter-number{vertical-align:bottom;width:2ch;height:1.2em;display:inline-block;position:relative;overflow:visible}.work-chapter-number-current{display:block}.work-chapter-number-previous{position:absolute;inset:0}.work-chapter-title{color:#171717;letter-spacing:-.055em;text-align:center;text-wrap:balance;overflow-wrap:anywhere;font-size:clamp(48px,9vw,144px);font-weight:500;line-height:1.02;display:block}.work-chapter-title,.work-chapter-eyebrow{opacity:0;filter:blur(4px);transition:opacity .42s var(--motion-smooth), filter .42s var(--motion-smooth)}.work-chapter-title-outgoing{position:absolute;inset:0}.work-chapter.is-visible .work-chapter-title,.work-chapter.is-visible .work-chapter-eyebrow{opacity:1;filter:blur();transition-duration:.52s}@media (width>=1200px){.work-chapter-title{font-size:clamp(36px,4.5vw,72px)}}@media (prefers-reduced-motion:reduce){.work-chapter-title,.work-chapter.is-visible .work-chapter-title,.work-chapter.is-leaving .work-chapter-title,.work-chapter-eyebrow,.work-chapter.is-visible .work-chapter-eyebrow{filter:none;transition:none;transform:none}.work-chapter,.work-chapter.is-visible{backdrop-filter:none;transition:none}}.info-contact-inline a{-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .28s var(--motion-smooth);background-image:linear-gradient(currentColor,currentColor),linear-gradient(#d0d0d0,#d0d0d0);background-position:100% 100%,0 100%;background-repeat:no-repeat;background-size:0% 1px,100% 1px;padding-bottom:1px;text-decoration:none}.info-contact-inline a:hover{opacity:1}@media (hover:hover) and (pointer:fine){.info-contact-inline a:hover{background-position:0 100%,0 100%;background-size:100% 1px,100% 1px;transition-duration:.38s}}.info-contact-inline a:focus-visible{background-position:0 100%,0 100%;background-size:100% 1px,100% 1px;transition-duration:.38s}@media (prefers-reduced-motion:reduce){.info-contact-inline a{transition:none}}
