html.is--home{scrollbar-width:none;overscroll-behavior:none}html.is--home::-webkit-scrollbar{display:none}html.is--locked{overflow:hidden}.stage{position:fixed;inset:0;z-index:0;background:var(--off-black)}.stage__canvas{display:block;width:100%;height:100%}.scroll-length{height:calc(var(--scroll-viewports, 8) * 100vh);height:calc(var(--scroll-viewports, 8) * 100svh);pointer-events:none}.plain{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}.preloader{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--black);color:var(--ice);transition:opacity .45s ease-in}.preloader[data-exiting]{opacity:0;pointer-events:none}.preloader__text{font-size:2.25rem;line-height:1.4;text-shadow:0 0 .2rem rgb(255 255 255 / .8)}.preloader__bar{display:flex;align-items:center;width:9.3125rem;height:.9375rem;margin-top:-.25rem;overflow:hidden;border:1px solid currentColor;border-radius:999px;filter:drop-shadow(0 0 .09rem rgb(255 255 255 / .8))}.preloader__bar span{width:.6875rem;height:.6875rem;flex:none;border-radius:50%;background:currentColor;animation:dot-right 1.4s linear infinite}@keyframes dot-right{0%{transform:translate(-.6875rem)}to{transform:translate(9.1875rem)}}body:not(.menu-open,.is--project,.is--last,.over-photo,.no-webgl) .header{mix-blend-mode:difference}body.on-white:not(.menu-open,.is--project,.is--last,.over-photo) .header__dot{background:#e0f}body.on-white:is(.is--project,.is--last) .header{color:var(--black)}body:is(.is--project,.is--last,.over-photo):not(.on-white) .header{text-shadow:0 0 .25rem rgb(0 0 0 / .85),0 0 .75rem rgb(0 0 0 / .6)}@media(min-width:64rem){body.on-white.menu-open .header{color:var(--black)}}@media(min-width:64rem){body.on-white .menu-backdrop{background:#ffffffbf}body.on-white .menu__link{color:var(--black)}body.on-white .menu__link:hover{color:var(--white)}body.on-white .menu__link[aria-current=page]{background:var(--black);color:var(--white)}body.on-white .menu__footer .footer-bar{color:#00000080}}.intro,.campus,.work,.project,.last{position:fixed;z-index:50;pointer-events:none;text-transform:uppercase}.intro,.campus,.work,.last{visibility:hidden;opacity:0;transition:opacity .15s var(--ease-out),visibility .15s var(--ease-out)}.intro{inset:0;display:flex;align-items:flex-end;color:var(--white)}body.is--intro:not(.is--loading) .intro{visibility:visible;opacity:1;transition:opacity 1s var(--ease-out) .35s,visibility 0s}.intro__inner{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:calc(3.5rem + var(--safe-bottom))}.intro__name{display:none;color:var(--pale);white-space:nowrap;text-shadow:0 0 .375rem rgb(230 230 230 / .7)}.intro__title{font-size:2rem;line-height:.86}.intro__title span{display:block}.intro__meta{display:flex;justify-content:space-between;gap:1.5rem;margin-top:.55rem;font-size:max(14px,.75rem);font-weight:500;line-height:.8}.intro__tagline{max-width:22ch;font-size:min(6.6vw,2.5rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;text-shadow:0 0 .25rem rgb(255 255 255 / .7)}.intro__hint{display:none;position:absolute;inset-inline:0;bottom:1.5625rem;text-align:center;font-size:.875rem;animation:blink-slow 2.4s ease-in-out infinite}@media(min-width:64rem){.intro{align-items:center}.intro__inner{align-items:center;padding-bottom:0}.intro__name,.intro__hint{display:block}.intro__tagline{width:14.6875rem;max-width:none;font-size:.875rem;font-weight:800;line-height:1.1;text-align:justify}}.campus{inset:auto 0 0;padding:9rem 0 calc(3rem + var(--safe-bottom));color:var(--white);background:linear-gradient(to top,rgb(0 0 0 / .78) 35%,transparent);text-shadow:0 0 .25rem #000,0 0 .75rem rgb(0 0 0 / .8)}body.is--campus .campus{visibility:visible;opacity:1;transition:opacity .6s var(--ease-out),visibility 0s}.campus__label{margin-bottom:.7rem;font-size:.875rem;letter-spacing:.12em;color:var(--gray)}.campus__title{max-width:14ch;font-size:clamp(1.875rem,6vw,3rem);line-height:.92}.campus__sub{margin-top:.7rem;font-size:1rem;font-weight:800;letter-spacing:-.02em}.work{inset-inline:0;bottom:calc(1.75rem + var(--safe-bottom));color:var(--black)}body.is--carousel:not(.is--project) .work{visibility:visible;opacity:1;transition-duration:.4s}.work__title{margin-bottom:.6rem;font-size:1.75rem;line-height:.8}.work__list{position:relative;font-size:max(14px,.75rem);font-weight:800;line-height:1.25;letter-spacing:-.04em}.work__dot{position:absolute;top:0;left:0;display:flex;align-items:center;height:1.25em;transform:translateY(calc(var(--active-index, 0) * 100%));transition:transform var(--t-menu) var(--ease-menu)}.work__dot span{width:.25rem;height:.25rem;border-radius:50%;background:var(--black)}.work__item{display:block;width:fit-content;color:#000000b3;text-align:left;pointer-events:auto;transition:translate var(--t-menu) var(--ease-menu),color var(--t-menu) var(--ease-menu)}.work__item:hover{color:var(--black)}.work__item[aria-current=location]{translate:.5625rem 0;color:var(--black)}.work__hint{margin-top:.7rem;font-size:max(12px,.6875rem);font-weight:600}.when-coarse{display:none}@media(hover:none){.when-fine{display:none}.when-coarse{display:inline}.work__item{padding-block:.35rem}.work__dot{height:calc(1.25em + .7rem)}}@media(min-aspect-ratio:11/10){.work{top:50%;bottom:auto;transform:translateY(-50%)}}.project-label{position:fixed;top:0;left:0;z-index:60;color:var(--white);font-size:1.5rem;font-weight:900;line-height:1;text-transform:uppercase;white-space:nowrap;-webkit-text-stroke:.5px currentColor;text-shadow:0 .0625rem .375rem rgb(0 0 0 / .6);pointer-events:none;opacity:0;transition:opacity .15s var(--ease-out);will-change:transform}.project-label[data-shown]{opacity:1}.project-label:after{content:"> open";display:block;margin-top:.3rem;font-size:.75rem;font-weight:800;-webkit-text-stroke:0}.project{inset:0;text-shadow:0 0 .25rem #000,0 0 .75rem #000,0 0 1.5rem rgb(0 0 0 / .9),0 .125rem .25rem #000}.project__panel{position:fixed;inset:0;display:flex;flex-direction:column;padding:calc(5.75rem + env(safe-area-inset-top,0px)) var(--gutter) calc(2rem + var(--safe-bottom));color:var(--white);visibility:hidden;opacity:0;transition:opacity .15s var(--ease-out),visibility .15s var(--ease-out)}.project__panel[data-shown]{visibility:visible;opacity:1;transition:opacity var(--t-reveal) var(--ease-reveal) .3s,visibility 0s}.project__scrim{position:absolute;inset-inline:0;z-index:-1}.project__scrim--top{top:0;height:40%;background:linear-gradient(to bottom,rgb(5 5 5 / .85) 35%,transparent)}.project__scrim--bottom{bottom:0;height:60%;background:linear-gradient(to top,rgb(5 5 5 / .85) 40%,transparent)}.project__row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.project__key{margin-bottom:.5rem;color:var(--gray);font-size:.875rem;line-height:.95;letter-spacing:.12em}.project__row .project__key{margin-bottom:0}.project__count{color:var(--gray);font-size:.875rem;letter-spacing:.12em}.project__count span{color:var(--white)}.project__title{font-size:1.875rem;line-height:.95;text-wrap:balance}.project__details{display:flex;flex-direction:column;gap:1.5rem;margin-top:auto}.project__info p{max-width:44ch;line-height:1.2}.project__roles{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.project__side{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.project__slides{display:flex;flex-wrap:wrap;gap:.5625rem}.project__slide{display:grid;place-items:center;width:3.125rem;height:1.875rem;overflow:hidden;border:1px solid var(--white);background:color-mix(in srgb,var(--tint, #fff) 30%,#050505);font-size:.6875rem;text-shadow:none;opacity:.5;transition:opacity .15s var(--ease-out)}.project__slide:hover{opacity:.75}.project__slide[data-slide-active]{opacity:1}.project__slide img{width:100%;height:100%;object-fit:cover}.project__visit{width:fit-content;font-size:.875rem;font-weight:900}.project__panel[data-shown] :is(a,button){pointer-events:auto}@media(min-width:64rem)and (min-aspect-ratio:11/10){.project__panel{inset:71.5% 0 auto;flex-direction:row;justify-content:center;gap:2.25rem;padding:0 var(--gutter)}.project__scrim--top{position:fixed;height:24%;background:linear-gradient(to bottom,rgb(5 5 5 / .82),transparent)}.project__scrim--bottom{position:fixed;height:62%;background:linear-gradient(to top,rgb(5 5 5 / .94) 48%,transparent)}.project__head{width:13.5rem;flex:none}.project__row{margin-bottom:.75rem}.project__key{color:var(--white);letter-spacing:-.01rem;margin-bottom:.4375rem}.project__count{display:none}.project__title{font-size:1.4375rem;letter-spacing:-.03em}.project__details{display:contents}.project__info{width:17.5625rem;flex:none}.project__info p{max-width:16.6875rem;line-height:1.1}.project__role{width:6.625rem;flex:none}.project__roles{flex-direction:column;flex-wrap:nowrap;gap:0;line-height:1.1}.project__side{width:17.875rem;flex:none;margin-top:.5625rem}}.close-button{position:fixed;top:calc(3.6rem + env(safe-area-inset-top,0px));left:50%;z-index:1000;padding:.5rem .75rem;color:var(--white);font-size:.875rem;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 .25rem #000,0 0 .75rem #000;transform:translate(-50%);visibility:hidden;opacity:0;transition:opacity .15s var(--ease-out),visibility .15s var(--ease-out)}body.is--project .close-button{visibility:visible;opacity:1}@media(min-width:64rem){.close-button{top:calc(var(--header-top) - .6rem)}}.last{inset:0;color:var(--white)}body.is--last .last{visibility:visible;opacity:1}.last__backdrop{position:absolute;inset-block:0;left:0;width:100%;background:linear-gradient(to left,transparent,rgb(0 0 0 / .7));transition:opacity .7s var(--ease-out)}.last:has(.last__stage--talk[data-active]) .last__backdrop{opacity:0}.last__stage{position:absolute;inset:0;outline:none;visibility:hidden;opacity:0;transition:opacity .15s var(--ease-out),visibility .15s var(--ease-out)}.last__stage[data-active]{visibility:visible;opacity:1;transition:opacity .5s var(--ease-out) .1s,visibility 0s}.last__stage[data-active] :is(a,button){pointer-events:auto}.blurb{position:absolute;right:var(--gutter);bottom:calc(6.5rem + var(--safe-bottom));left:3.25rem;display:flex;flex-direction:column;gap:.8125rem;font-size:1rem;text-shadow:0 .0625rem .5rem rgb(0 0 0 / .6)}.blurb__rail{position:absolute;top:.35rem;bottom:.3rem;left:-2rem;width:.5rem;border-left:1px dotted rgb(255 255 255 / .7)}.blurb__rail i{position:absolute;left:-.25rem;border:.22rem solid transparent}.blurb__rail i:first-child{top:-.45rem;border-bottom-color:var(--white)}.blurb__rail i:last-child{bottom:-.45rem;border-top-color:var(--white)}.blurb__rail span{position:absolute;top:calc(var(--rail, 0) * 100%);left:-.2rem;width:.34rem;height:.34rem;margin-top:-.17rem;background:var(--white);box-shadow:0 0 .4rem #fffc}.blurb__rail i:last-child{animation:blink-slow 1.6s ease-in-out infinite}.blurb__photo{position:relative;width:5.5rem;aspect-ratio:4 / 5;margin-bottom:.4rem;overflow:hidden;border:1px solid rgb(255 255 255 / .7);border-radius:.3125rem}.blurb__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15)}.blurb__photo:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,#0000 0 2px,#00000047 2px 3px)}@media(max-height:34rem){.blurb__photo{display:none}}.blurb__label{font-weight:800;line-height:1.1;letter-spacing:-.02em}.blurb__lead{max-width:31ch;line-height:1.4}.blurb__body{max-width:31ch;line-height:1.2;letter-spacing:-.02em}.blurb__link{width:fit-content;margin-top:.2rem;line-height:1.1;letter-spacing:-.02em}@media(min-width:48rem){.last__backdrop{width:78.8%}.blurb{right:auto;bottom:12.5rem;left:4.5rem}.blurb__lead,.blurb__body{max-width:42ch}}.cta-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3.75rem;padding:2rem var(--gutter) 3rem;text-align:center}.cta-glow{position:absolute;top:50%;left:50%;width:min(62rem,160vw);height:32.5rem;border-radius:50%;background:radial-gradient(ellipse farthest-side at center,rgb(0 0 0 / .5) 0%,rgb(0 0 0 / .42) 40%,transparent 100%);transform:translate(-50%,-50%)}.cta-wrap .socials{position:relative}.cta{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.9375rem 1.5625rem}.cta__marks{position:absolute;inset:0;transition:inset .35s var(--ease-menu)}.cta:hover .cta__marks,.cta:focus-visible .cta__marks{inset:-.5rem}.cta__marks i{position:absolute;width:1.5rem;height:1.5rem;background:linear-gradient(#ffffff80,#ffffff80) center / 100% 1px no-repeat,linear-gradient(#ffffff80,#ffffff80) center / 1px 100% no-repeat}.cta__marks i:nth-child(1){top:-.75rem;left:-.75rem}.cta__marks i:nth-child(2){top:-.75rem;right:-.75rem}.cta__marks i:nth-child(3){bottom:-.75rem;left:-.75rem}.cta__marks i:nth-child(4){right:-.75rem;bottom:-.75rem}.cta .smiley{position:absolute;top:-2.6rem;left:50%;width:1.8125rem;height:1.8125rem;transform:translate(-50%)}.cta:hover .smiley,.cta:focus-visible .smiley{animation:blink .4s step-end infinite}.cta__title{font-size:1.875rem;line-height:1.06;text-shadow:0 0 .625rem #000}.cta__title span{display:block}.cta__sub{max-width:15rem;font-size:.875rem;font-weight:800;line-height:1.3;letter-spacing:-.02em}.last__foot{position:absolute;inset-inline:0;bottom:calc(1.25rem + var(--safe-bottom));text-align:center}.last__credit{margin-top:.35rem;font-size:min(2.3vw,.625rem);letter-spacing:-.02em;color:#fff6}.last__top{margin:0 auto .25rem;padding:.75rem 1rem;font-size:.875rem;font-weight:900;line-height:1.1;letter-spacing:-.02em;text-transform:uppercase}@media(min-width:48rem){.cta{min-width:28.9375rem}.cta__title{font-size:2.5rem}}@media(min-width:64rem){.last__foot{bottom:1.5625rem}}@media(max-height:26rem){.last__top{display:none}.cta-wrap{gap:1.5rem}}body.no-webgl :is(.stage,.scroll-length,.preloader,.intro,.campus,.work,.project,.project-label,.close-button,.last){display:none}body.no-webgl .plain{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;max-width:44rem;padding:7rem var(--gutter) 5rem;font-size:1rem;line-height:1.4}body.no-webgl .plain :is(h1,h2,h3){font-weight:900;line-height:1.05;text-transform:uppercase}body.no-webgl .plain h1{font-size:2rem;margin-bottom:1rem}body.no-webgl .plain h2{margin:3.5rem 0 1.25rem;padding-bottom:.5rem;border-bottom:1px dotted rgb(255 255 255 / .5);font-size:1.5rem}body.no-webgl .plain h3{margin:1.75rem 0 .4rem;font-size:1.125rem}body.no-webgl .plain p+p{margin-top:.5rem}body.no-webgl .plain a{text-decoration:underline dotted;text-underline-offset:.25em}
