@font-face{font-family:ABC Diatype;src:url(/assets/ABCDiatype-Regular-latin.1292868f17.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--space: 16px;--margin: 16px;--cols: 12;--rows: 6;--text: .875rem;--leading: 1.15;--line: calc(var(--text) * var(--leading));--fg: #000;--muted: rgba(0, 0, 0, .5);--placeholder: #d9d9d9;--bg: #fff}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{isolation:isolate;margin:0;background:var(--bg);color:var(--fg);font-family:ABC Diatype,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--text);line-height:var(--leading);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0;z-index:-1;background:var(--bg)}p,h1,h2,ul{margin:0;padding:0;font:inherit}h1:focus{outline:none}ul{list-style:none}a{color:inherit;text-decoration:none}a:hover{color:var(--muted)}a:focus-visible,button:focus-visible{outline:1px solid currentColor;outline-offset:2px}.muted{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.loader{display:none}.has-loader .loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);color:var(--fg);transition:opacity .4s ease}.loader.is-done{opacity:0}.loader__count{font-variant-numeric:tabular-nums}.is-loading .js-i-fade,.is-loading .contact>*,.is-loading .gallery__media,.is-loading .index-grid>a>*{visibility:hidden}.page{--page-h: max(100svh, 640px);--row: calc((var(--page-h) - 2 * var(--margin) - (var(--rows) - 1) * var(--space)) / var(--rows));display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:var(--space);padding:var(--margin);height:var(--page-h);overflow:hidden}.intro,.contact__about,.project__close{position:fixed;top:var(--margin);z-index:300;color:#fff;mix-blend-mode:difference}.intro{left:50%;transform:translate(-50%);text-align:center}.intro a{display:block;width:fit-content;margin-inline:auto}.intro .muted{color:#ffffff80}.intro .muted{-webkit-user-select:none;user-select:none}.intro__roles{min-height:var(--line)}.intro a:hover,.project__close:hover{color:#fff;opacity:.5}.contact{display:contents}.contact__about{right:var(--margin);padding:0;border:0;background:none;font:inherit;cursor:pointer}.contact__about:hover{opacity:.5}body:not(:has(main.index-grid)) .contact__about{opacity:0;visibility:hidden;pointer-events:none}.contact__about{display:grid;justify-items:end}.contact__label,.contact__close{grid-area:1 / 1;transition:opacity .68s cubic-bezier(.65,0,.15,1),filter .68s cubic-bezier(.65,0,.15,1)}.contact__close,.is-about .contact__label{opacity:0;filter:blur(5px);transition-delay:0s}.contact__label,.is-about .contact__close{opacity:1;filter:blur(0);transition-delay:.2s}.about{position:fixed;inset:0;z-index:250;overflow-y:auto;visibility:hidden;transition:visibility 0s linear .68s}.is-about .about{visibility:visible;transition:none}.about__body{opacity:0;filter:blur(5px);transition:opacity .68s cubic-bezier(.65,0,.15,1),filter .68s cubic-bezier(.65,0,.15,1),transform .68s cubic-bezier(.65,0,.15,1)}.about__body{transform:scale(1.1);transform-origin:50% 0}.is-about .about__body{opacity:1;filter:blur(0);transform:none;transition-delay:.2s}.is-about-leaving .index-grid,.is-about-leaving .gallery{transition-delay:.2s}.about__body{width:400px;margin:calc(var(--margin) + var(--row) + var(--space)) auto calc(var(--row) + var(--space) - 2 * var(--line));display:flex;flex-direction:column;align-items:center;gap:var(--space)}.about__text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space);width:100%}.about__text .project__facts{align-self:stretch;padding-top:var(--space)}.about__portrait{display:block;width:100%;height:auto;aspect-ratio:4 / 5;background:var(--ph, var(--placeholder));object-fit:cover;-webkit-user-drag:none}.about__experience{display:flex;flex-direction:column;gap:var(--space)}.about__experience span{display:block}.about__studio{color:var(--fg)}.about__figure{position:relative;width:100%}.about__figure.is-playing{user-select:none;-webkit-user-select:none;cursor:crosshair}.about__figure.is-solved .about__portrait{transition:opacity .68s cubic-bezier(.65,0,.15,1) .2s,filter .68s cubic-bezier(.65,0,.15,1) .2s}.about__figure.is-playing .about__portrait{opacity:0;filter:blur(5px)}.dots{position:absolute;inset:0;transition:opacity .68s cubic-bezier(.65,0,.15,1),filter .68s cubic-bezier(.65,0,.15,1)}.about__figure.is-solved .dots{opacity:0;filter:blur(5px);pointer-events:none}.dots__lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.dots__lines line,.dots__lines polygon{fill:none;stroke:var(--fg);stroke-width:1;vector-effect:non-scaling-stroke}.dots__dot{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--fg)}.dots__label{position:absolute;color:var(--muted);white-space:nowrap;pointer-events:none}.dots__label.is-next{color:var(--fg)}.dots__again{align-self:center;margin:calc(8px - var(--space)) 0 calc(40px - var(--space));padding:0;border:0;background:none;font:inherit;color:var(--fg);cursor:pointer}.dots__again:hover{color:var(--muted)}.about__figure.is-playing+.dots__again{visibility:hidden;opacity:0}.about__figure.is-solved+.dots__again{transition:opacity .68s cubic-bezier(.65,0,.15,1) .2s}@media (prefers-reduced-motion: reduce){.about__figure.is-solved .about__portrait,.about__figure .dots{transition:none!important}}html.is-about{overflow:hidden}.index-grid{transition:opacity .68s cubic-bezier(.65,0,.15,1),filter .68s cubic-bezier(.65,0,.15,1),scale .68s cubic-bezier(.65,0,.15,1)}.is-about .index-grid,.is-about .gallery{opacity:0;filter:blur(5px);scale:.9;pointer-events:none}.project__about,.gallery{transform-origin:50% 0}.is-about .project__about,.is-about .project__close{opacity:0;filter:blur(5px);scale:.9;pointer-events:none}.is-about .project__about,.is-about .project__close,.is-about-leaving .project__about,.is-about-leaving .project__close{transition:opacity .68s cubic-bezier(.65,0,.15,1),filter .68s cubic-bezier(.65,0,.15,1),scale .68s cubic-bezier(.65,0,.15,1)}.is-about-leaving .project__about,.is-about-leaving .project__close{transition-delay:.2s}.project__close{left:var(--margin)}.project__back{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gallery{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.is-dragging,.is-dragging *{cursor:grabbing!important}.project{display:contents}.not-found{grid-area:2 / 1 / 3 / 7}.not-found p+p{margin-top:var(--line)}.project__about{grid-area:2 / 1 / 3 / -1;justify-self:center;width:400px;display:flex;flex-direction:column;align-items:center;gap:var(--space)}.project__text{display:flex;flex-direction:column;align-items:flex-start;width:100%}.project__details{display:grid;grid-template-rows:0fr;width:100%;transition:grid-template-rows .68s cubic-bezier(.65,0,.15,1)}.project.is-expanded .project__details{grid-template-rows:1fr}.project__reveal{min-height:0;overflow:hidden}.project__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space);margin:0;padding-top:var(--space)}.project__facts dd{margin:0}.project__paragraph{display:flex;flex-direction:column;gap:var(--line);padding-top:var(--space)}.project__facts dt,.project__facts dd,.project__facts li{min-height:var(--line)}.project__more{margin-top:var(--space);padding:0;border:0;background:none;font:inherit;color:var(--fg);cursor:pointer}.project__more:hover{color:var(--muted)}@media (min-width: 768px){.is-transitioning .contact__about{transition:opacity .4s ease,visibility 0s linear .4s}.is-transitioning body:has(main.index-grid) .contact__about{transition:opacity .4s ease,visibility 0s}.gallery{transition:transform .68s cubic-bezier(.65,0,.15,1),scale .68s cubic-bezier(.65,0,.15,1),opacity .68s cubic-bezier(.65,0,.15,1),filter .68s cubic-bezier(.65,0,.15,1)}.project.is-expanded .gallery{transform:translateY(calc(3 * (var(--row) + var(--space))));opacity:.3;filter:blur(5px)}.project.is-expanded .gallery,.project.is-expanded .gallery *{cursor:pointer}.is-about .project.is-expanded .gallery{opacity:0}}.gallery{grid-column:1 / -1;grid-row:3 / -1;margin-inline:calc(-1 * var(--margin));overflow:hidden;touch-action:pan-y}.gallery__track{position:relative;display:flex;gap:40px;height:100%;width:max-content;padding-inline:var(--margin)}.gallery__media{flex:none;height:100%;width:auto;aspect-ratio:var(--ar);background:var(--ph, var(--placeholder));object-fit:cover;-webkit-user-drag:none;transform:translate3d(0,var(--gy, 0px),0)}.flight{position:fixed;z-index:50;margin:0;pointer-events:none}.page--grid{height:auto;overflow:visible;grid-template-rows:var(--row) auto}.index-grid{grid-column:1 / -1;grid-row:2;display:grid;--grid-cols: 8;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:40px;row-gap:calc((100vw - 2 * var(--margin) + 40px) / var(--grid-cols) - 96px);align-items:center;justify-items:center;-webkit-user-select:none;user-select:none}.grid__desc{grid-column:span 1;display:flex;flex-direction:column;width:fit-content;text-align:center}.grid__desc:hover{color:var(--fg)}.index-grid>a{transition:opacity .4s ease}.index-grid>a.is-dimmed{opacity:.3}.is-transitioning .index-grid>a{transition:none}.grid__item{display:block;justify-self:stretch;pointer-events:none}.grid__item>*{pointer-events:auto}.grid__media{display:block;width:100%;max-width:96px;height:auto;margin-inline:auto;aspect-ratio:var(--ar);background:var(--ph, var(--placeholder));object-fit:cover;-webkit-user-drag:none}.grid__media.flight{max-width:none;margin:0}.js img.grid__media:not(.is-loaded),.js img.gallery__media:not(.is-loaded),.js img.about__portrait:not(.is-loaded){object-position:-99999px 0}@media (max-width: 767px){.index-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space);margin-top:136px}.grid__desc{grid-column:1 / -1}.grid__desc~.grid__desc{margin-top:calc(40px - var(--space))}.index-grid>a.is-dimmed{opacity:1;filter:none}*,*:before,*:after{transition:none!important;animation:none!important}.project__details{transition:grid-template-rows .68s cubic-bezier(.65,0,.15,1)!important}.about__figure.is-solved .about__portrait{transition:opacity .68s cubic-bezier(.65,0,.15,1) .2s,filter .68s cubic-bezier(.65,0,.15,1) .2s!important}.about__figure.is-solved .dots{transition:opacity .68s cubic-bezier(.65,0,.15,1),filter .68s cubic-bezier(.65,0,.15,1)!important}.page{display:block;height:auto;overflow:visible;padding-top:calc(var(--margin) + 2 * var(--line))}.project,.not-found{display:block;margin-top:136px}.project__about{width:100%;align-items:flex-start}.project__title{align-self:center}.about__body{width:auto;margin:calc(var(--margin) + 2 * var(--line) + 136px) var(--margin) 136px;align-items:flex-start}.gallery{margin:40px 0 0;overflow:visible;touch-action:auto}.gallery__track{gap:var(--space);flex-direction:column;width:auto;height:auto;padding:0}.gallery__media{width:100%;height:auto}.contact{display:contents}}@media (min-width: 768px) and (max-width: 1280px){.index-grid{--grid-cols: 6}}.ctl-panel{position:fixed;left:var(--margin);bottom:var(--margin);z-index:100;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500;font-size:12px;line-height:1.3;color:#000}.ctl-panel button{margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}.ctl-surface{filter:drop-shadow(0 0 1px rgba(0,0,0,.04)) drop-shadow(0 1px 2px rgba(0,0,0,.02)) drop-shadow(0 5px 10px rgba(0,0,0,.04))}.ctl-surface[hidden]{display:none}.ctl-core{display:flex;flex-direction:column;gap:8px;width:264px;padding:12px;border-radius:12px;background:#fff}.ctl-toggle{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#0000000d!important;color:#00000080!important}.ctl-toggle[aria-expanded=true]{background:#0000001a!important;color:#000!important}.ctl-panel .lbl{display:flex;align-items:center;height:16px;color:#00000080}.ctl-rows{display:flex;flex-direction:column;gap:8px}.ctl,.ctl-row{position:relative;display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 8px 0 10px;border-radius:8px;background:#0000000d;overflow:hidden}.ctl{cursor:ew-resize;user-select:none;touch-action:none}.ctl-fill{position:absolute;inset:0 auto 0 0;background:#0000001a;pointer-events:none}.ctl:hover .ctl-fill{background:#00000024}.ctl-label{position:relative;color:#00000080}.ctl-value{position:relative;font-family:IBM Plex Mono,monospace;font-size:12px}.ctl-dd{padding-right:7px}.ctl-dd__button{display:flex;align-items:center;gap:4px;height:100%}.dd-menu{position:absolute;display:flex;flex-direction:column;gap:8px;min-width:140px;padding:8px 7px 8px 10px;border-radius:8px;background:#fff;box-shadow:0 0 1px #0000000a,0 1px 2px #00000005,0 5px 10px #0000000a}.dd-menu[hidden]{display:none}.dd-menu button{text-align:left;color:#00000080!important}.dd-menu button:hover,.dd-menu button.is-active{color:#000!important}.toggle-row{padding:4px 4px 4px 10px}.ctl-pills{position:relative;display:flex;gap:2px}.ctl-pill{padding:4px 9px!important;border-radius:6px;color:#00000080!important}.ctl-pill.is-active{background:#0000001a!important;color:#000!important}.ctl-actions{display:flex;gap:8px}.ctl-btn{flex:1;height:32px;border-radius:8px;background:#0000000d!important}.ctl-btn--primary{background:#000!important;color:#fff!important}
