:root{--page: #ffffff;--ink: #111111;--ink-soft: #333333;--muted: #8a8a8a;--placeholder: #1c1c1c;--photo: #d9d5cf;--home-fade: rgba(255, 255, 255, .55);--trail: #ed0e3e;--ease: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--page: #0b0b0b;--ink: #f2f2f2;--ink-soft: #bdbdbd;--muted: #777777;--placeholder: #161616;--photo: #1c1c1c;--home-fade: rgba(0, 0, 0, .45);--trail: #e9ed0e;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{background:var(--page)}body{margin:0}body{font-family:Archivo,Helvetica Neue,Helvetica,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}img,video,iframe{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trail{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;image-rendering:pixelated;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--trail) 55%,transparent)) drop-shadow(0 0 10px color-mix(in srgb,var(--trail) 25%,transparent))}.frame{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}.panel{flex:1;background:transparent;padding:24px 24px 64px;width:100%;max-width:1600px;margin:0 auto}@media(max-width:640px){.panel{padding:16px 16px 48px}.frame>.nav{padding:16px 16px 0}}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 32px;margin-bottom:28px;position:relative;z-index:101;text-transform:uppercase;font-size:14px;font-weight:350;letter-spacing:-.02em;line-height:1}.nav-group{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:flex-start}.nav-left{display:flex;gap:10px 32px;align-items:flex-start}.frame>.nav{padding:24px 24px 0}.frame>.nav+.panel{padding-top:0}.nav-col{display:flex;flex-direction:column;gap:6px}.nav-col--back{align-items:center}.arrows{display:flex;gap:10px}.lang .sep,.lang .off{color:var(--muted)}@media(max-width:640px){.nav{font-size:13px;gap:10px 18px}.nav-group{gap:10px 18px}.nav--project{display:grid;grid-template-columns:1fr auto;align-items:start;gap:14px 16px}.nav--project>.nav-left{grid-column:1;grid-row:1;gap:14px}.nav--project>.nav-group{grid-column:2;grid-row:1;flex-wrap:nowrap;gap:14px}.nav--project>.nav-col{grid-column:1 / -1;grid-row:2}}.on{filter:url(#goo);font-weight:650}.g{position:relative;display:inline-block}.g .b,.g .f{transition:opacity .9s var(--ease)}.g .f{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;pointer-events:none;filter:url(#goo);-webkit-text-stroke:.04em currentColor}.g:hover .f,.g:focus-visible .f,.tile:hover .g .f,.tile:focus-visible .g .f{opacity:1}.g:hover .b,.g:focus-visible .b,.tile:hover .g .b,.tile:focus-visible .g .b{opacity:0}.g svg{display:block}@media(prefers-reduced-motion:reduce){.g .b,.g .f{transition:none}}:root[data-theme=dark] .icons img{filter:invert(1)}@view-transition{navigation:auto}@property --vt-color{syntax: "<color>"; inherits: false; initial-value: transparent;}@property --vt-size{syntax: "<percentage>"; inherits: false; initial-value: 100%;}.nav{view-transition-name:nav}::view-transition-group(nav){animation:none}::view-transition-old(nav){display:none}::view-transition-new(nav){animation:none}::view-transition-image-pair(root){background:linear-gradient(var(--vt-color),var(--vt-color)) center / var(--vt-size) var(--vt-size) no-repeat;animation:page-tint .8s cubic-bezier(.65,0,.35,1) both}::view-transition-old(root){mix-blend-mode:luminosity;animation:page-back .8s cubic-bezier(.65,0,.35,1) both}::view-transition-new(root){animation:page-over .7s cubic-bezier(.16,1,.3,1) .15s both}@keyframes page-tint{to{--vt-color: color-mix(in srgb, var(--trail) 75%, transparent);--vt-size: 95%}}@keyframes page-back{to{transform:scale(.95);filter:blur(12px) brightness(.9)}}@keyframes page-over{0%{transform:translateY(6vh) scale(.985);opacity:0;filter:blur(8px);box-shadow:0 -24px 60px #0000004d}to{transform:none;opacity:1;filter:blur(0);box-shadow:0 -24px 60px #0000}}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}.curtain{position:fixed;inset:0;z-index:100;background:#000;pointer-events:none;opacity:0;transition:opacity .3s var(--ease)}.curtain-out .curtain,.curtain-in .curtain{opacity:1}.curtain-out .curtain{pointer-events:auto}@media(prefers-reduced-motion:reduce){.curtain{transition:none}}.theme-toggle{appearance:none;background:none;border:0;padding:0;margin:0 0 0 4px;color:inherit;cursor:pointer;display:inline-flex;align-items:center;vertical-align:top;height:1em}.theme-toggle svg{width:.85em;height:.85em;display:block;transition:transform .6s var(--ease)}:root[data-theme=dark] .theme-toggle svg{transform:rotate(180deg)}.theme-toggle:hover svg{transform:rotate(90deg)}:root[data-theme=dark] .theme-toggle:hover svg{transform:rotate(270deg)}.media{position:relative;overflow:hidden;background:var(--placeholder)}.media>video,.media>img.cover{width:100%;height:100%;object-fit:cover}.tint{position:relative}@media(hover:hover)and (pointer:fine){.media:after,.tint:after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--trail);mix-blend-mode:color;opacity:0;transition:opacity 2s var(--ease)}.media:hover:after,.tint:hover:after{opacity:1;transition:opacity 1.5s ease-in 3s}}@media(hover:hover)and (pointer:fine)and (prefers-reduced-motion:reduce){.media:after,.tint:after{transition-duration:0s}.media:hover:after,.tint:hover:after{transition:opacity 0s linear 3s}}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.tile{display:flex;flex-direction:column;gap:10px}.tile .media{aspect-ratio:16 / 9;box-shadow:0 1px 2px #0000001f,0 14px 32px -14px #00000073}:root[data-theme=dark] .tile .media{box-shadow:0 0 0 1px #ffffff0f,0 1px 3px #ffffff14,0 14px 34px -14px #ffffff38}.tile .media>video,.tile .media>img.cover{transition:opacity .4s var(--ease)}.tile:hover .media>video{opacity:.92}.tile .logo{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:40%;max-height:36%;object-fit:contain;pointer-events:none}.cap{font-weight:350;font-size:14px;letter-spacing:-.02em;line-height:1;text-transform:uppercase}.empty{text-transform:uppercase;font-size:14px;font-weight:350;letter-spacing:-.02em}@media(max-width:640px){.grid{grid-template-columns:1fr;gap:24px}.cap{font-size:13px}}.top{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.film{flex:1 1 560px;min-width:0}.film.wide{flex:3 1 640px}.player{position:relative;aspect-ratio:16 / 9;background:var(--placeholder)}.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.film-picker{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px;text-transform:uppercase;font-size:17px;font-weight:350;letter-spacing:-.02em;line-height:1}.film-picker button{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.film-picker .is-active{cursor:default}.film-picker .is-active .f{opacity:1}.film-picker .is-active .b{opacity:0}.stills{flex:1 1 420px;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stills img{width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--placeholder)}.credits{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:14px;text-transform:uppercase;font-size:18px;font-weight:350;letter-spacing:-.02em;line-height:1.15}.credits .role{font-size:15px}@media(min-width:1000px){.top{flex-wrap:nowrap}.credits{flex:0 0 360px;margin-left:auto}}.credits p{margin:0;max-width:40ch;white-space:pre-line;text-transform:none;font-size:17px;font-weight:300;letter-spacing:-.01em;line-height:1.4;color:var(--ink-soft)}.blocks{margin-top:48px;display:flex;flex-direction:column;gap:16px}.block{--gap: 16px;display:flex;justify-content:center;gap:var(--gap)}.block>.media{flex:0 0 calc((100% - (var(--cols, 1) - 1) * var(--gap)) / var(--cols, 1))}.block[data-format=landscape] .media{aspect-ratio:16 / 9}.block[data-format=portrait] .media{aspect-ratio:4 / 5}.block[data-format=vertical] .media{aspect-ratio:9 / 16}.block[data-format=square] .media{aspect-ratio:1 / 1}@media(max-width:640px){.credits{font-size:17px}.film-picker{font-size:16px;gap:8px 18px}.stills,.blocks{gap:8px}.block{--gap: 8px}}.home{--page: #0b0b0b;--ink: #f2f2f2;--ink-soft: #bdbdbd;--muted: #777777;--home-fade: rgba(0, 0, 0, .45);position:relative;min-height:100vh;min-height:100svh;padding:24px;background:var(--page);color:var(--ink);overflow:hidden}.cuts{position:fixed;inset:0}.cuts video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;visibility:hidden}.cuts video.on{visibility:visible}.home:before{content:"";position:fixed;inset:0 0 auto;height:200px;z-index:1;pointer-events:none;background:linear-gradient(var(--home-fade),transparent)}.home .nav{margin:0}.home .theme-toggle{visibility:hidden}.home{cursor:pointer}@media(max-width:640px){.home{padding:16px}}.info{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}.photo-wrap{width:min(100%,420px)}.photo{width:100%;aspect-ratio:4 / 5;object-fit:cover;background:var(--photo)}.tagline{margin:0;max-width:52ch;white-space:pre-line;font-size:14px;font-weight:300;line-height:1.5;letter-spacing:-.01em;color:var(--ink-soft)}.contact{display:flex;flex-direction:column;align-items:center;gap:2px;text-transform:uppercase;font-size:14px;font-weight:350;letter-spacing:-.02em;line-height:1.2}.icons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.icons a{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;letter-spacing:-.05em;transition:transform .3s var(--ease)}.icons a:hover{transform:scale(1.08)}.icons img{width:30px;height:30px;object-fit:contain}@media(max-width:640px){.contact{font-size:13px}}.extras{margin-top:24px;display:flex;flex-direction:column;align-items:center;gap:6px}.legal-link{font-size:11px;text-transform:uppercase;letter-spacing:-.01em;color:var(--muted)}button.legal-link{appearance:none;background:none;border:0;padding:0;font:inherit;font-size:11px;color:var(--muted);cursor:pointer}button.legal-link:hover{color:var(--ink)}.gb{--gb: var(--trail);width:min(94vw,560px,72vh);max-height:96vh;padding:0;border:0;background:transparent;overflow:visible;text-align:center}.gb::backdrop{background:#0009;backdrop-filter:blur(6px)}.gb-board{position:relative;aspect-ratio:4 / 5;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}.gb-pcb{position:absolute;inset:0;width:100%;height:100%}.gb-frame{position:absolute;left:14%;top:12.5%;width:72%;aspect-ratio:1 / 1.02;padding:7% 6% 13%;border-radius:3%;background:radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(96,72,30,.28) 100%),linear-gradient(160deg,#f1ead6,#ddd3b8 45%,#c2b796);box-shadow:inset 2px 2px 1px #ffffffe6,inset -2px -3px 2px #0000002e,0 1px #b9b5aa,0 3px #a19d92,0 8px 14px #0014088c}.gb-frame:before,.gb-frame:after{content:"";position:absolute;top:3%;width:9%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 55%,#6f6c64 0 22%,#bdb9af 24% 34%,#f6f4ee 36%);box-shadow:inset 1px 1px 1px #fff,inset -1px -1px 2px #0003,0 2px 3px #00140873}.gb-frame:before{left:-7%}.gb-frame:after{right:-7%}.gb-grime{position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 0.35  0 0 0 0 0.3  0 0 0 0 0.2  0 0 0 1.6 -0.75' result='d'/%3E%3CfeGaussianBlur in='d' stdDeviation='0.6' result='b'/%3E%3CfeSpecularLighting in='b' surfaceScale='3' specularConstant='0.8' specularExponent='14' lighting-color='%23fff' result='l'%3E%3CfeDistantLight azimuth='225' elevation='40'/%3E%3C/feSpecularLighting%3E%3CfeComposite in='l' in2='d' operator='in' result='h'/%3E%3CfeMerge%3E%3CfeMergeNode in='d'/%3E%3CfeMergeNode in='h'/%3E%3C/feMerge%3E%3C/filter%3E%3Crect width='220' height='220' filter='url%28%23n%29'/%3E%3C/svg%3E")}.gb-lcd{z-index:1}.gb-lcd:before{content:"";position:absolute;inset:4%;z-index:1;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 0.35  0 0 0 0 0.3  0 0 0 0 0.2  0 0 0 1.6 -0.75' result='d'/%3E%3CfeGaussianBlur in='d' stdDeviation='0.6' result='b'/%3E%3CfeSpecularLighting in='b' surfaceScale='3' specularConstant='0.8' specularExponent='14' lighting-color='%23fff' result='l'%3E%3CfeDistantLight azimuth='225' elevation='40'/%3E%3C/feSpecularLighting%3E%3CfeComposite in='l' in2='d' operator='in' result='h'/%3E%3CfeMerge%3E%3CfeMergeNode in='d'/%3E%3CfeMergeNode in='h'/%3E%3C/feMerge%3E%3C/filter%3E%3Crect width='220' height='220' filter='url%28%23n%29'/%3E%3C/svg%3E")}.gb-frame video{display:none}.gb-lcd{position:relative;display:block;width:100%;padding:4%;border:0;cursor:pointer;background:linear-gradient(#1b1b17,#2c2c26);border-radius:2px;box-shadow:inset 0 3px 6px #000c,inset 0 -1px #ffffff14,0 0 0 2px #c4c0b5,0 -1px 0 2px #a8a498,0 1px 0 2px #fff}.gb-lcd:after{content:"";position:absolute;inset:4%;pointer-events:none;background:radial-gradient(60% 50% at 70% 80%,rgba(190,180,150,.12),transparent 70%),linear-gradient(125deg,#ffffff29,#ffffff0d 30%,#fff0 45%);box-shadow:inset 0 0 12px #0000008c}.gb-lcd[data-live]{cursor:default}.gb-lcd canvas{display:block;width:100%;height:auto;aspect-ratio:160 / 144;image-rendering:pixelated}.gb-leds{position:absolute;left:0;right:0;top:74.5%;display:flex;justify-content:center;gap:9%}.gb-led{width:5.5%;aspect-ratio:1;padding:0;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 34% 28%,#ffffffe6 0 12%,#fff0 30%),radial-gradient(circle at 50% 65%,var(--led) 0 45%,color-mix(in srgb,var(--led) 55%,#000) 100%);box-shadow:0 0 0 2px #b9b9b9,0 0 0 3px #555,0 3px 4px #00140899;filter:brightness(.4) saturate(.6);transition:filter .3s,box-shadow .3s}.gb-led{position:relative}.gb-led:after{content:"";position:absolute;inset:-12px;border-radius:50%}.gb-led[data-color=green]{--led: #e9ed0e}.gb-led[data-color=red]{--led: #ed0e3e}.gb-led[aria-pressed=true]{filter:none;box-shadow:0 0 0 2px #b9b9b9,0 0 0 3px #555,0 3px 4px #00140899,0 0 12px 3px var(--led),0 0 28px 6px color-mix(in srgb,var(--led) 45%,transparent)}.gb-push{position:absolute;z-index:1;left:13%;top:82%;width:11%;aspect-ratio:1;padding:0;border:0;border-radius:12%;cursor:pointer;background:linear-gradient(145deg,#fafafa,#b5b5b5 45%,#e2e2e2 70%,#7e7e7e);box-shadow:inset 1px 1px #fff,inset -1px -1px 1px #00000059,0 3px 5px #00140899}.gb-push:before{content:"";position:absolute;inset:-10% -14%;z-index:-1;pointer-events:none;background:linear-gradient(#c9c9c9,#8a8a8a) 0 18% / 16% 14% no-repeat,linear-gradient(#c9c9c9,#8a8a8a) 100% 18% / 16% 14% no-repeat,linear-gradient(#c9c9c9,#8a8a8a) 0 82% / 16% 14% no-repeat,linear-gradient(#c9c9c9,#8a8a8a) 100% 82% / 16% 14% no-repeat}.gb-push span{position:absolute;inset:20%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#6a6a6a 0,#1d1d1d 45%,#000);box-shadow:0 2px 3px #000000b3,inset 0 1px 1px #ffffff40;transition:transform .08s}.gb-push:active span{transform:translateY(1px) scale(.94)}.gb-push:disabled{cursor:default}.gb-push-label{position:absolute;left:13%;width:11%;top:93%;font:7px/1 monospace;color:#bfe8cc;letter-spacing:.1em}.gb-status{min-height:1.2em;margin:12px 0 0;font-size:12px;color:#d8d8d8}.gb-privacy{margin:4px 0 0;font-size:11px;color:#a5a5a5}.legal-link:hover{color:var(--ink)}.legal{max-width:62ch;font-size:14px;font-weight:300;line-height:1.5}.legal h1,.legal h2{margin:0 0 8px;text-transform:uppercase;font-weight:400;letter-spacing:-.02em;line-height:1.1}.legal h1{font-size:18px;margin-bottom:28px}.legal h2{font-size:14px}.legal section{margin-bottom:28px}.legal p{margin:0 0 10px;color:var(--ink-soft)}.legal a{text-decoration:underline;text-underline-offset:2px}.legal .pre{white-space:pre-line}
