@font-face{font-family:sans;src:url(../media/inter_tight_variable-s.p.0yzw701nbs_dl.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:99.65%;descent-override:24.81%;line-gap-override:0.0%;size-adjust:97.21%}._2AuRza_className{font-family:sans,sans Fallback}._2AuRza_variable{--font-sans:"sans", "sans Fallback"}
:root{--background:#222124;--foreground:#f0f2f0;--muted:#8b8f8c;--line:#3a393d;--accent:#c8f25a;--ease-out:cubic-bezier(.22, 1, .36, 1);--t13:max(.677vw, 12px);--t16:max(.8333vw, 13px);--t20:max(1.0417vw, 15px);--t30:max(1.5625vw, 19px);--t49:max(2.552vw, 28px);--t60:max(3.125vw, 32px);--t85:max(4.427vw, 36px);--gutter:5vw}@media (orientation:portrait){:root{--t13:max(1.324vh, 12px);--t16:max(1.63vh, 13px);--t20:max(2.037vh, 15px);--t30:max(3.0556vh, 20px);--t49:max(4.99vh, 28px);--t60:max(6.11vh, 32px);--t85:max(8.657vh, 34px)}}*,:before,:after{box-sizing:border-box}html,body{margin:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:none;overflow-x:hidden}html::-webkit-scrollbar{display:none}body{background:var(--background);color:var(--foreground);min-height:100svh;font-family:var(--font-sans), system-ui, sans-serif;font-weight:400;overflow-x:clip}::selection{background:var(--accent);color:var(--background)}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0;font-weight:400}:focus-visible{outline:1px solid var(--foreground);outline-offset:6px}.t-13{font-size:var(--t13);line-height:2}.t-16{font-size:var(--t16);line-height:1.375}.t-20{font-size:var(--t20);letter-spacing:.025em;line-height:1.25}.t-30{font-size:var(--t30);line-height:1.1667}.t-49{font-size:var(--t49);line-height:1.2}.t-60{font-size:var(--t60);font-weight:500;line-height:1.0833}.t-85{font-size:var(--t85);line-height:1.2}.muted{color:var(--muted)}.caps{text-transform:uppercase;letter-spacing:.08em}.shell{width:90vw;margin:0 auto}.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}.skip-link{z-index:100;background:var(--foreground);color:var(--background);padding:10px 14px;text-decoration:none;position:fixed;top:-60px;left:16px}.skip-link:focus{top:16px}.noise{z-index:10;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:300%;height:300%;animation:3s steps(5,end) infinite grain;position:fixed;top:-110%;left:-50%}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}.particle-scene{z-index:-1;background:var(--background);position:fixed;inset:0}.particle-scene canvas{width:100%;height:100%;display:block}.content{z-index:1;transition:opacity .8s;position:relative}html[data-preloading=true] .content{opacity:0;visibility:hidden;pointer-events:none}.preloader{z-index:3;pointer-events:none;justify-content:center;align-items:center;transition:opacity .7s,filter .7s;display:flex;position:fixed;inset:0}.preloader[data-dismissing=true]{opacity:0;filter:blur(10px)}.preloader-count{font-variant-numeric:tabular-nums;opacity:0;filter:blur(10px);transition:opacity .6s,filter .6s}.preloader-count[data-entered=true]{opacity:1;filter:blur()}.cursor{z-index:11;pointer-events:none;opacity:0;transition:opacity .3s;position:fixed;top:0;left:0}.cursor[data-visible=true]{opacity:1}.cursor canvas{position:absolute;top:0;left:0}.cursor-head{--s:8px;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);background:var(--foreground);box-shadow:0 0 10px 2px var(--foreground);will-change:transform;border-radius:50%;transition:width .3s,height .3s,margin .3s,background-color .3s,box-shadow .3s;position:absolute;top:0;left:0}.cursor[data-hover=true] .cursor-head{--s:40px;box-shadow:inset 0 0 0 1px var(--foreground);background:0 0}.has-custom-cursor,.has-custom-cursor *{cursor:none!important}.split,.blur-anim{--anim-delay:0s;--anim-stagger:50ms;--anim-duration:.9s}.blur-anim{--anim-duration:1.8s;--anim-stagger:70ms}.split .word-wrapper{vertical-align:top;margin:-7px 0;padding:7px 0;display:inline-block;overflow:hidden}.split .word,.blur-anim .char{display:inline-block}.blur-anim .char{white-space:pre}.blur-anim .char-word{white-space:nowrap;display:inline-block}html.js .split .word{opacity:0;transition:transform var(--anim-duration) var(--ease-out), opacity var(--anim-duration) var(--ease-out);transition-delay:calc(var(--anim-delay) + var(--anim-index,0) * var(--anim-stagger));transform:translateY(30%)}html.js .split.is-visible .word{opacity:1;transform:none}html.js .blur-anim .char{opacity:0;filter:blur(18px)brightness(0);transition:filter var(--anim-duration) cubic-bezier(.16, 1, .3, 1), opacity calc(var(--anim-duration) * .6) ease-out;transition-delay:calc(var(--anim-delay) + var(--anim-index,0) * var(--anim-stagger))}html.js .blur-anim.is-visible .char{opacity:1;filter:none}html.js .fade-blur{opacity:0;filter:blur(10px);transition:opacity .6s,filter .6s;transition-delay:var(--anim-delay,0s)}html.js .fade-blur.is-visible{opacity:1;filter:none}.scroll-ready{opacity:var(--ready,0);filter:blur(calc((1 - var(--ready,0)) * 10px)) brightness(var(--ready,0))}@media (prefers-reduced-motion:reduce){html.js .split .word,html.js .blur-anim .char,html.js .fade-blur{opacity:1;filter:none;transition:none;transform:none}.noise{animation:none}}.hero{align-items:center;height:100svh;display:flex;position:relative}.hero-copy{pointer-events:none;justify-content:space-between;align-items:center;gap:1.25vw;width:100%;display:flex}.hero-copy>:last-child{text-align:right}@media (orientation:portrait){.hero{align-items:stretch;padding-block:5vw}.hero-copy{flex-direction:column;align-items:stretch;height:100%}}.statement{height:350svh;position:relative}.statement-pin{flex-direction:column;justify-content:center;align-items:flex-start;height:100svh;display:flex;position:sticky;top:0}.statement p{max-width:41.67vw}.statement .word{transition-property:transform,opacity,color}.statement[data-focus=parts] .word:not([data-focus=parts]),.statement[data-focus=boards] .word:not([data-focus=boards]),.statement[data-focus=software] .word:not([data-focus=software]){color:var(--muted)}@media (orientation:portrait){.statement-pin{justify-content:flex-end;padding-bottom:12svh}.statement p{max-width:100%}}.journey,.place{pointer-events:none;height:100svh;position:relative}.anchor-label{left:var(--x,50vw);top:var(--y,50vh);white-space:nowrap;align-items:center;gap:.9vw;display:flex;position:fixed;transform:translate(1.6vw,-50%)}.anchor-label:before{content:"";background:var(--muted);width:3vw;height:1px}.anchor-label[data-side=left]{flex-direction:row-reverse;transform:translate(calc(-100% - 1.6vw),-50%)}.anchor-label small{margin-top:.35em;display:block}@media (orientation:portrait){.anchor-label,.anchor-label[data-side=left]{white-space:normal;inset:auto auto 14svh 5vw;transform:none}.anchor-label:before{display:none}}.mit{pointer-events:none;height:210svh;position:relative}.mit-content{justify-content:flex-end;align-items:center;width:90vw;margin:0 auto;display:flex;position:fixed;inset:0}.mit-content p{text-align:right;text-wrap:balance;max-width:30vw}@media (orientation:portrait){.mit-content{align-items:flex-end;padding-bottom:14svh}.mit-content p{max-width:100%}}.works{padding:18svh 0;position:relative}.works-kicker{color:var(--muted);margin:0 0 6svh 5vw}.works-track{flex-direction:column;gap:10svh;width:90vw;margin:0 auto;display:flex}.works-closing{width:90vw;max-width:90vw;margin:12svh auto 0}.works[data-enhanced=true]{padding:0}.works[data-enhanced=true] .works-stage{height:100svh;position:sticky;top:0;overflow:hidden}.works[data-enhanced=true] .works-kicker{opacity:0;filter:blur(10px);margin:0;transition:opacity .4s,filter .4s;position:absolute;top:5.93vh;left:4.17vw}.works[data-enhanced=true] .works-track{will-change:transform;flex-direction:row;align-items:center;gap:12vw;width:max-content;margin:0;padding:0 25vw;position:absolute;top:50%;left:0}.works[data-enhanced=true] .works-closing{text-wrap:balance;opacity:0;filter:blur(10px);pointer-events:none;max-width:33.33vw;margin:0;transition:opacity .4s,filter .4s;position:absolute;top:50%;left:5vw;transform:translateY(-50%)}.works[data-active=true] .works-kicker,.works[data-closing=true] .works-closing{opacity:1;filter:none}@media (orientation:portrait){.works[data-enhanced=true] .works-closing{max-width:90vw}.works[data-enhanced=true] .works-track{gap:10vw;padding:0 7.5vw}}.tile{color:inherit;flex:none;text-decoration:none;display:block}.tile-media{aspect-ratio:16/9;background:var(--tile-bg,#2b2a2e);filter:grayscale()contrast(1.05)brightness(.82);width:50vw;transition:opacity .4s ease-in-out,transform .4s ease-in-out,box-shadow .4s,filter .6s;position:relative;overflow:hidden}.works:not([data-enhanced=true]) .tile-media{width:100%}@media (orientation:portrait){.tile-media{width:85vw}}.tile-media img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out)}.tile-media[data-fit=contain] img{object-fit:contain;padding:6%}.tile:hover .tile-media,.tile:focus-visible .tile-media{filter:none;transform:translateY(-4px);box-shadow:0 1.48vh 2.6vh #ffffff1f}.tile:hover .tile-media img,.tile:focus-visible .tile-media img{transform:scale(1.025)}.tile-caption{justify-content:space-between;align-items:baseline;gap:1.25vw;margin-top:2.78vh;transition:opacity .4s,filter .4s;display:flex}.tile-meta{color:var(--muted);white-space:nowrap;align-items:baseline;gap:.83vw;display:flex}.works-track[data-exiting=true] .tile-media{opacity:0;transform:translateY(10px)}.works-track[data-exiting=true] .tile-caption{opacity:0;filter:blur(10px)}@media (orientation:portrait){.tile-caption{flex-direction:column;gap:4px}}.record{padding:24svh 0 18svh;position:relative}.record-kicker{color:var(--muted);margin-bottom:7svh}.record-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.record-row{border-bottom:1px solid var(--line);grid-template-columns:14vw 1fr 33vw;align-items:baseline;gap:2.5vw;padding:4.4vh 0;display:grid}.record-row h3{margin-bottom:.35em}.record-row a{text-decoration:none}.record-row a:hover{color:var(--muted)}.toolkit{grid-template-columns:repeat(3,1fr);gap:2.5vw;margin-top:12svh;display:grid}.toolkit h3{margin-bottom:1.2vh}@media (max-width:900px),(orientation:portrait){.record-row{grid-template-columns:1fr;gap:8px;padding:32px 0}.toolkit{grid-template-columns:1fr;gap:32px}}.contacts-wrap{position:relative}.contacts{justify-content:center;align-items:center;width:90vw;height:100svh;margin:0 auto;display:flex;position:relative}.contacts-copy{text-align:center;flex-direction:column;align-items:center;gap:1.39vh;display:flex}.contacts-email{text-decoration:none}@media (orientation:portrait){.contacts-email .t-85{font-size:9vw;line-height:1.5}}.contacts-links a{color:var(--foreground);text-decoration:none;transition:color .3s}.contacts-links a:hover{color:var(--muted)}.dis{display:inline-block;position:relative}.dis-wrap{transition:opacity .25s;display:inline-block;position:relative}.dis[data-running=true] .dis-wrap{opacity:0}.dis canvas{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.83vw;width:90vw;margin:0 auto;padding:2.22vh 0;display:flex;position:absolute;bottom:0;left:0;right:0}.footer-line{color:var(--muted);margin:0;transition:color .3s}.footer a{text-decoration:none}.footer a:hover .footer-line{color:var(--foreground)}@media (orientation:portrait){.footer{text-align:center;justify-content:center;row-gap:6vw;padding:10vw 0}.footer-line{letter-spacing:.04em;font-size:3vw}}.monogram{align-items:center;gap:.6vw;display:inline-flex;position:relative}.monogram svg{width:max(2vw,26px);height:auto;color:var(--muted);flex-shrink:0}.monogram .m-ring{fill:var(--accent);fill-opacity:0;stroke:currentColor;stroke-width:4px;transition:fill-opacity .3s,stroke .3s}.monogram .m-e{fill:none;stroke:currentColor;stroke-width:6px;stroke-linecap:round;transition:stroke .3s}.monogram:hover .m-ring,.monogram:focus-visible .m-ring{fill-opacity:1;stroke:var(--accent)}.monogram:hover .m-e,.monogram:focus-visible .m-e{stroke:var(--background)}.monogram-tip{border:1px solid var(--muted);white-space:nowrap;letter-spacing:.08em;opacity:0;filter:blur(10px);pointer-events:none;margin-bottom:1.1vh;padding:.74vh .73vw;transition:opacity .4s,filter .4s;position:absolute;bottom:100%;left:max(1vw,13px);transform:translate(-50%)}.monogram-tip:after{content:"";border:6px solid #0000;border-top-color:var(--muted);position:absolute;top:100%;left:50%;transform:translate(-50%)}.monogram:hover .monogram-tip,.monogram:focus-visible .monogram-tip{opacity:1;filter:none}@media (orientation:portrait){.monogram{flex-direction:column;gap:5vw;width:100%}.monogram svg{width:10vw}.monogram-tip{left:50%}}.project-intro,.project-body{z-index:1;width:90vw;max-width:67.7vw;margin:0 auto;position:relative}.project-intro{padding:5.19vh 0 4.4vh}@media (orientation:portrait),(max-width:900px){.project-intro,.project-body{max-width:90vw}}.back{align-items:center;gap:.4em;margin-bottom:5.93vh;text-decoration:none;transition:color .3s;display:inline-flex}.back:hover,.visit:hover{color:var(--muted)}.title-row{justify-content:space-between;align-items:baseline;gap:1.25vw;margin-bottom:1.85vh;display:flex}@media (orientation:portrait){.title-row{flex-direction:column;align-items:flex-start;gap:.74vh}}.project-hero{aspect-ratio:21/9;background:var(--tile-bg,#2b2a2e);width:100vw;max-height:80svh;overflow:hidden}.project-hero img{object-fit:cover;width:100%;height:100%}.project-hero[data-fit=contain] img{object-fit:contain;padding:4vh 0}@media (orientation:portrait){.project-hero{aspect-ratio:4/3}}.project-body{padding:5.19vh 0 12vh}.project-body p{max-width:41.67vw}@media (orientation:portrait),(max-width:900px){.project-body p{max-width:100%}}.project-section{margin:10vh 0}.project-section>.caps{margin-bottom:1.6vh}.points{counter-reset:pt;max-width:50vw;margin:0;padding:0;list-style:none}@media (orientation:portrait),(max-width:900px){.points{max-width:100%}}.points li{counter-increment:pt;border-top:1px solid var(--line);grid-template-columns:3.2em 1fr;padding:2.2vh 0;display:grid}.points li:before{content:counter(pt, decimal-leading-zero);color:var(--muted);font-size:var(--t16);padding-top:.2em}.stack{flex-wrap:wrap;gap:.52vw;margin:0;padding:0;list-style:none;display:flex}.stack li{border:1px solid var(--muted);padding:.56vh .73vw}@media (orientation:portrait){.stack{gap:8px}.stack li{padding:4px 10px}}.collaboration{text-align:right}.collaboration p{margin-left:auto}.gallery img{width:100%;height:auto}.visit{gap:.4em;text-decoration:none;transition:color .3s;display:inline-flex}.next-project{border-top:1px solid var(--line);padding:10vh 0 0;text-decoration:none;display:block}.next-project:hover .t-60{color:var(--muted)}.next-project .t-60{margin-top:1vh;transition:color .3s}
