@font-face{font-family:"Intel One Mono";font-style:normal;font-weight:300;font-display:swap;src:url("../assets/fonts/IntelOneMono-Light-latin.woff2") format("woff2");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}@font-face{font-family:"Intel One Mono";font-style:normal;font-weight:300;font-display:swap;src:url("../assets/fonts/IntelOneMono-Light-pl.woff2") format("woff2");unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C}:root{--4lb-black:#000000;--4lb-white:#EFEFEF;--4lb-grey:#DDDDDD;--4lb-turquoise:#00EECC;--4lb-green:#00FFAF;--4lb-font:"Intel One Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono","Courier New",monospace,"Noto Sans Symbols 2","Noto Sans Symbols","Segoe UI Symbol","Apple Symbols","DejaVu Sans",sans-serif}:root{--text-base:16px;--t-sm:calc(var(--text-base) - 4px);--t-md:var(--text-base);--t-l:calc(var(--text-base) + 10px);--t-xl:calc(var(--text-base) + 24px);--lh-tight:1;--lh-body:1.55;--pad:2.5rem;--gutter:1rem;--max:none;}*{box-sizing:border-box;}h1,h2,h3{font-weight:300;}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--pad) + 5.8rem);}body{margin:0;background:var(--4lb-white);color:var(--4lb-black);font-family:var(--4lb-font);font-weight:300;font-size:var(--t-md);line-height:var(--lh-body);border-left:var(--pad) solid var(--4lb-grey);border-right:var(--pad) solid var(--4lb-grey);border-bottom:var(--pad) solid var(--4lb-grey);border-top:0;padding:0;}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad);}.site-header{position:sticky;top:0;z-index:50;background:var(--4lb-white);border-top:var(--pad) solid var(--4lb-grey);}.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:calc(var(--pad) * 0.5);}.wordmark{display:inline-flex;align-items:center;line-height:1;text-decoration:none;}.wordmark__logo{display:block;width:202px;height:57px;color:var(--4lb-black);}.wordmark em{font-style:normal;color:var(--4lb-black);}.main-nav{display:flex;gap:clamp(1rem, 3vw, 2.25rem);align-items:baseline;}.main-nav a{color:var(--4lb-black);text-decoration:none;font-size:var(--t-md);letter-spacing:0.01em;padding-top:1px;padding-bottom:1px;border-top:0 solid var(--4lb-black);border-bottom:0 solid var(--4lb-black);transition:border-color 0.15s,color 0.15s;}.main-nav a:hover{padding-bottom:0;border-bottom-width:1px;}.main-nav a:active{padding-top:0;border-top-width:1px;}.nav-toggle{display:none;}.nav-overlay{display:contents;}.hero{padding-block:clamp(4.5rem, 12vw, 9rem) clamp(3rem, 8vw, 6rem);}.hero__statement{margin:0;font-size:var(--t-xl);line-height:var(--lh-tight);letter-spacing:-0.03em;max-width:64ch;}.hero__meta{margin:2rem 0 0;color:var(--4lb-black);font-size:var(--t-md);max-width:52ch;}.works{padding-top:2rem;}.works__error{color:var(--4lb-black);}.project{margin-bottom:clamp(4rem, 10vw, 8rem);padding-top:clamp(1.5rem, 4vw, 3rem);border-top:1px solid var(--4lb-black);}.project__head{display:flex;align-items:baseline;gap:var(--gutter);margin-bottom:clamp(1.5rem, 4vw, 2.5rem);}.project__title-wrap{flex:1;}.project__title{margin:0;font-size:var(--t-l);letter-spacing:-0.02em;line-height:var(--lh-tight);}.project__tag{margin:0.5rem 0 0;color:var(--4lb-black);font-size:var(--t-sm);}.project__more{align-self:center;flex-shrink:0;color:var(--4lb-black);text-decoration:none;font-size:var(--t-sm);letter-spacing:0.01em;border-bottom:1px solid var(--4lb-black);}.project__more:hover{border-bottom-width:0;text-decoration:line-through;text-decoration-thickness:1px;}.project__more-label{display:block;will-change:transform;transition:transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);}.project__more:hover .project__more-label{transform:translateY(-6px);}.project__media{overflow:hidden;background:var(--4lb-black);}.project__media img{display:block;width:100%;height:100%;object-fit:cover;}.project__media video{display:block;width:100%;height:100%;object-fit:cover;}.project__media--square{aspect-ratio:1 / 1;}.project__stage{position:relative;margin-top:clamp(1.5rem, 4vw, 2.5rem);}.project__grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--gutter);}.project__media,.pmedia{margin:0;}.project__media-link{display:block;}.project__media-link .project__media:hover img,.project__media-link .project__media:hover video{transform:scale(1.2);}.project__media img,.project__media video{transition:transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);}.info-grid{display:grid;grid-template-columns:1fr;gap:0;align-items:start;}.info{padding-block:clamp(1.5rem, 4vw, 3rem);container-type:inline-size;}.info__split{display:grid;grid-template-columns:minmax(0, 3fr) minmax(0, 2fr);gap:clamp(2rem, 6vw, 4rem);align-items:start;max-width:min(100%, calc(120ch + 4rem));}.info__art{container-type:inline-size;}.info__title{margin:0 0 1.5rem;font-size:var(--t-l);letter-spacing:-0.02em;}.info__body,.pdescription{max-width:72ch;color:var(--4lb-black);}.info__body pre{font-family:var(--4lb-font);line-height:1;white-space:pre;font-size:clamp(5px, calc((100vw - 3rem) * 0.98 / 44.208), 11px);overflow-x:auto;scrollbar-width:none;}.info__body pre::-webkit-scrollbar{display:none;}@media (hover: none){.info__body pre{-webkit-user-select:none;user-select:none;}}.info__body pre code{font-family:var(--4lb-font);}@supports (container-type: inline-size){.info__body pre{overflow-x:clip;font-size:min(calc(100cqw * 0.985 / 44.208), 11px);}}.art-stage{position:relative;}.art-stage .art-frame--alt{position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;}.art-stage:hover .art-frame--base,.art-stage--always .art-frame--base{opacity:0;}.art-stage:hover .art-frame--1,.art-stage--always .art-frame--1{animation:artglitch-1 0.7s steps(1, end) infinite;}.art-stage:hover .art-frame--2,.art-stage--always .art-frame--2{animation:artglitch-2 0.7s steps(1, end) infinite;}.art-stage:hover .art-frame--3,.art-stage--always .art-frame--3{animation:artglitch-3 0.7s steps(1, end) infinite;}.art-stage:hover .art-frame--4,.art-stage--always .art-frame--4{animation:artglitch-4 0.7s steps(1, end) infinite;}@keyframes artglitch-1{0%,0%{opacity:0;}0%,25%{opacity:1;}25%,100%{opacity:0;}}@keyframes artglitch-2{0%,25%{opacity:0;}25%,50%{opacity:1;}50%,100%{opacity:0;}}@keyframes artglitch-3{0%,50%{opacity:0;}50%,75%{opacity:1;}75%,100%{opacity:0;}}@keyframes artglitch-4{0%,75%{opacity:0;}75%,100%{opacity:1;}100%,100%{opacity:0;}}@media (hover: none){.art-stage:hover .art-frame--base{opacity:1;}.art-stage:hover .art-frame--alt{animation:none;}}@media (prefers-reduced-motion: reduce){.art-stage:hover .art-frame--alt,.art-stage--always .art-frame--alt{animation:none;}.art-stage:hover .art-frame--base,.art-stage--always .art-frame--base{opacity:1;}}.link,.info__body a{color:var(--4lb-black);text-decoration:none;padding-bottom:1px;border-bottom:1px solid var(--4lb-black);transition:color 0.15s;}.link:hover,.info__body a:hover{border-bottom-width:0;text-decoration:line-through;text-decoration-thickness:1px;}.info__body a.plain,.info__body a.plain:hover{border-bottom:0;text-decoration:none;}.exticon{display:inline-block;width:20px;height:20px;margin-left:10px;vertical-align:5px;overflow:visible;}.ext-arrow{transition:transform 0.18s ease;}a:hover .ext-arrow{animation:ext-bob 0.6s ease-in-out infinite alternate;}@keyframes ext-bob{from{transform:translate(0px, 0px);}to{transform:translate(2px, -2px);}}.site-footer{padding-block:3rem calc(3rem + env(safe-area-inset-bottom));border-top:1px solid var(--4lb-black);color:var(--4lb-black);font-size:var(--t-sm);margin-top:5vh;}.site-footer__copy{margin:0;}:root{--page-max:1440px;}.project--page{max-width:var(--page-max);margin:0 auto;}.project--page .project__head{padding-top:clamp(2rem, 6vh, 4rem);}.pdescription{margin:clamp(1.5rem, 4vw, 2.5rem) 0;padding-top:2rem;}.pdescription p{margin:0 0 1rem;}.pstack{display:flex;flex-direction:column;padding-bottom:clamp(3rem, 8vw, 6rem);}.pmedia img{display:block;width:100%;height:auto;}.pmedia video{display:block;width:100%;height:auto;}.pmedia--vimeo{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;}.pmedia--vimeo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;}.pmedia--video{width:100%;}@media (max-width: 800px){.project--page .project__head{padding-top:2rem;}}@media (min-width: 801px){.project--page{display:flex;flex-direction:column;}.project--page > .project__head{order:0;}.project--page > .pdescription{order:1;}.project--page > .pmedia{order:2;}.project--page > .pstack{order:3;}}.cta{padding-block:clamp(3rem, 8vw, 6rem);border-top:1px solid var(--4lb-black);text-align:center;}.cta__title{margin:0 0 clamp(1.5rem, 4vw, 2.5rem);font-size:var(--t-l);line-height:var(--lh-tight);letter-spacing:-0.02em;}.cta__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--gutter)*2.5);align-items:center;}.cta__btn{display:inline-block;padding:0.75rem 1.75rem;border:1px solid var(--4lb-black);background:var(--4lb-white);color:var(--4lb-black);text-decoration:none;letter-spacing:0.08em;font-size:var(--t-sm);transition:background 0.15s,color 0.15s;}.cta__btn:hover{background:var(--4lb-black);color:var(--4lb-white);}.cta__btn:hover .exticon path{fill:var(--4lb-white);}.cta__link{color:var(--4lb-black);text-decoration:none;padding-bottom:1px;border-bottom:1px solid var(--4lb-black);font-size:var(--t-sm);transition:color 0.15s;}.cta__link:hover{border-bottom-width:0;text-decoration:line-through;text-decoration-thickness:1px;}.back-to-top{position:fixed;left:50%;bottom:var(--pad);transform:translateX(-50%);z-index:90;width:calc(var(--pad) * 1.5);height:calc(var(--pad) * 1.5);min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;background:var(--4lb-white);border:1px solid var(--4lb-black);color:var(--4lb-black);text-decoration:none;}.back-to-top svg{width:45%;height:45%;}.back-to-top:hover{background:var(--4lb-grey);}@keyframes back-to-top-show{to{visibility:visible;}}@supports (animation-timeline: scroll(root)){.back-to-top{visibility:hidden;animation:back-to-top-show linear both;animation-timeline:scroll(root);animation-range:10% 11%;}}@keyframes reveal-move{from{translate:0 200px;}to{translate:0 0;}}@supports (animation-timeline: view()){.project--linked,.info__reveal{animation:reveal-move cubic-bezier(0.2, 0, 0.25, 1) both;animation-timeline:view();animation-range:entry 0% cover 50%;}}@media (max-width: 1800px){:root{--text-base:18px;}}@media (min-width: 1025px) and (max-width: 1799px),(max-width: 800px){.project__grid > .project__media-link:last-child{display:none;}}@media (max-width: 1024px){:root{--text-base:16px;}.project__grid{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media (max-width: 800px){:root{--pad:1.5rem;--text-base:16px;}.project__grid{grid-template-columns:1fr;}.info-grid{grid-template-columns:1fr;gap:0;}.info__split{grid-template-columns:1fr;}.project__head{flex-wrap:wrap;align-items:center;gap:0.75rem;}.project__title-wrap{flex-basis:calc(100% - 4rem);}.wordmark{position:relative;z-index:45;}.site-header__inner{position:relative;}.nav-toggle--open,.nav-toggle--close{top:calc(var(--pad) + 1.7rem - 0.175rem);right:calc(var(--pad) - 0.175rem);z-index:70;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;cursor:pointer;}.nav-toggle--close{display:none;}.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:1.6rem;height:2px;background:var(--4lb-black);content:"";}.nav-toggle span{position:relative;}.nav-toggle span::before{position:absolute;top:-0.5rem;left:0;}.nav-toggle span::after{position:absolute;top:0.5rem;left:0;}.nav-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--4lb-white);border:var(--pad) solid var(--4lb-grey);z-index:40;margin:0;padding:calc(var(--pad) + var(--header-h, 5.8rem) + 1.5rem) var(--pad) 2rem;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(calc(-1 * (var(--pad) + var(--header-h, 5.8rem))));overflow-y:auto;}.nav-overlay .main-nav{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;}.nav-overlay .main-nav a{display:block;font-size:var(--t-md2, 2rem);}.nav-overlay:target{opacity:1;visibility:visible;transform:translateY(0);}.nav-overlay:target ~ .nav-toggle--open{display:none;}.nav-overlay:target ~ .nav-toggle--close{display:inline-flex;}.nav-overlay:target ~ .nav-toggle--close span{background:transparent;}.nav-overlay:target ~ .nav-toggle--close span::before{top:0;transform:rotate(45deg);}.nav-overlay:target ~ .nav-toggle--close span::after{top:0;transform:rotate(-45deg);}.back-to-top{width:calc(var(--pad) * 2.5);height:calc(var(--pad) * 2.5);}.works{padding-top:0;}.hero{padding-bottom:1.5rem;}}@media (max-width: 400px){:root{--pad:0.75rem;--text-base:18px;}}@media (min-width: 1800px){:root{--text-base:20px;}.project__grid{grid-template-columns:repeat(4, minmax(0, 1fr));}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}a:hover .ext-arrow{animation:none;transform:translate(2px, -2px);}.project--linked,.info__reveal,.project--page .project__head,.pdescription,.pmedia{animation:none;}}