@font-face{font-family:CircularStd;src:url(/assets/CircularStd-Book-_xxcn1PI.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CircularStd;src:url(/assets/CircularStd-Medium-CVu1EBSz.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:CircularStd;src:url(/assets/CircularStd-Bold-Dr62maMw.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:KelsonSans;src:url(/assets/KelsonSans-Bold-B6vYcMQ9.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--color-text:#030303;--color-muted:#80828a;--color-accent:#ef3f4a;--color-background:#fff;--color-panel:#030303;--font-body:"CircularStd", Helvetica, Arial, sans-serif;--font-display:"KelsonSans", "CircularStd", Helvetica, Arial, sans-serif;--ease-out:cubic-bezier(.54, .1, 0, .99);--z-canvas:3;--z-content:10;--z-header:32;--z-transition:100;--z-cursor:110}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}body.is-virtual-scroll{overflow-y:scroll}body.is-touch *{cursor:auto}.smooth-scroll-section{will-change:transform;width:100%;min-height:100vh;position:fixed;inset:0 0 auto}.smooth-scroll-spacer{pointer-events:none}a{color:inherit}button,input,textarea,select{font:inherit}.app-main{z-index:var(--z-content);position:relative}.container{width:min(100% - 200px,1400px);margin:0 auto}.page{min-height:100vh;padding:180px 0 120px}.global-canvas{z-index:var(--z-canvas);pointer-events:auto;width:100vw;height:100vh;position:fixed;inset:0}.global-canvas canvas{width:100%;height:100%;display:block}.scene-fallback{z-index:var(--z-canvas);background:linear-gradient(180deg, #fff0 0%, #f5f5f5cc 68%), var(--color-background);pointer-events:none;position:fixed;inset:0}.global-cursor{z-index:var(--z-cursor);pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:fixed;inset:0}.global-cursor__part{will-change:transform;width:38px;height:38px;position:absolute;top:0;left:0}.global-cursor__part--circle{justify-content:center;align-items:center;width:5px;height:5px;display:flex}.global-cursor__part--circle-inner,.global-cursor__grip{background:var(--color-accent);border-radius:50%;width:5px;height:5px}.global-cursor__part--circle-inner{opacity:1;transition:transform .3s var(--ease-out);display:block}.global-cursor__svg{transition:transform .6s var(--ease-out)}.global-cursor__svg circle{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-dasharray:110;stroke-dashoffset:0}.global-cursor__grip{transition:transform .3s var(--ease-out);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.global-cursor--pressed .global-cursor__part--circle-inner{transform:scale(1.2)}.global-cursor--pressed .global-cursor__svg{transform:scale(.75)}.global-cursor--pressed .global-cursor__grip--top{transform:translate(-50%,calc(-50% - 30px))scale(1)}.global-cursor--pressed .global-cursor__grip--bottom{transform:translate(-50%,calc(30px - 50%))scale(1)}.global-transition{z-index:var(--z-transition);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:space-around;align-items:center;display:flex;position:fixed;inset:0}.global-transition__background{flex-direction:column;width:100%;height:100%;display:flex;position:absolute;inset:0}.global-transition__background-row{flex:1;display:flex}.global-transition__background-cell-container{flex:1;overflow:hidden}.global-transition__background-cell{background:var(--color-panel);width:100%;height:100%}.global-transition__content{z-index:2;position:relative}.global-transition__title-container,.global-transition__description-container{overflow:hidden}.global-transition__title{color:#fff;font-family:var(--font-display);text-transform:uppercase;margin:0 0 4px;font-size:30px;font-weight:700;line-height:1}.global-transition__description{color:#fff;margin:0;font-size:15px}.global-header{color:var(--color-text);transition:color .6s var(--ease-out)}.global-header--dark{color:#fff}.header__container{z-index:var(--z-header);width:calc(100% - 200px);max-width:1400px;color:inherit;transition:color .6s var(--ease-out);justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:fixed;top:70px;left:100px;right:100px}.header__content,.header__nav-list,.header__socials{align-items:center;display:flex}.header__content{flex:1;justify-content:space-between}.header__nav-list,.header__socials{margin:0;padding:0;list-style:none}.header__nav-item{font-size:17px}.header__nav-item a,.header__socials-link{color:inherit;transition:color .6s var(--ease-out);padding:20px;font-weight:500;text-decoration:none;display:inline-flex}.lateral__text{z-index:90;-webkit-user-select:none;user-select:none;letter-spacing:2px;position:fixed;top:50%}.lateral__text--left{writing-mode:vertical-rl;left:50px;transform:translateY(-50%)rotate(180deg)}.lateral__text--right{right:-50px;transform:translateY(-50%)rotate(90deg)}.lateral__text a{text-decoration:none}.lateral__text span{color:currentColor;font-family:var(--font-display);text-transform:uppercase;transition:color .8s var(--ease-out);font-size:13px;font-weight:700}.action-button{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;display:flex}.action-button--reversed{flex-direction:row-reverse}.action-button--reversed .action-button__shapes{transform:rotate(180deg)}.action-button--reversed .action-button__text{margin-left:38px;margin-right:0}.action-button__text{margin-right:36px;font-size:18px;font-weight:700;transition:transform .5s;display:inline-block}.action-button__shapes{width:64px;height:64px;position:relative}.action-button__rectangle{background:var(--color-muted);transform-origin:100%;width:50px;height:2px;transition:transform .5s;position:absolute;top:50%;right:32px;transform:translateY(-50%)scaleX(1)}.action-button__arrow{position:absolute;top:26px;left:27px}.action-button__arrow polygon{fill:var(--color-muted);transition:fill .6s}.action-button__circle{position:absolute;top:0;left:0}.action-button__circle--base{opacity:.6;transition:transform .6s;transform:rotate(-154deg)}.action-button__circle--base circle,.action-button__circle--fill circle{fill:none;stroke-width:2px;stroke-dasharray:200;transition:stroke-dashoffset .6s}.action-button__circle--base circle{stroke:var(--color-muted);stroke-dashoffset:50px}.action-button__circle--fill circle{stroke:var(--color-accent);stroke-dashoffset:200px}body:not(.is-touch) .action-button:hover .action-button__circle--base{transform:rotate(-180deg)}body:not(.is-touch) .action-button:hover .action-button__circle--base circle,body:not(.is-touch) .action-button:hover .action-button__circle--fill circle{stroke-dashoffset:10px}body:not(.is-touch) .action-button:hover .action-button__rectangle{transform:translateY(-50%)scaleX(0)}body:not(.is-touch) .action-button:hover .action-button__arrow polygon{fill:var(--color-accent)}body:not(.is-touch) .action-button:hover .action-button__text{transform:translate(22px)}body:not(.is-touch) .action-button--reversed:hover .action-button__text{transform:translate(-22px)}.header__socials-link{padding:20px 10px}.header__nav-item a:hover,.header__socials-link:hover{color:var(--color-accent)}.home{text-align:left;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.home__actions{z-index:18;align-items:center;gap:34px;display:flex;position:fixed;bottom:68px;left:max(110px,12vw)}.home__eyebrow,.project-intro__meta,.not-found__eyebrow{color:var(--color-muted);font-size:16px;font-weight:500}.home__title,.about__headline-title,.project-intro__title,.not-found__title{color:var(--color-text);font-family:var(--font-display);letter-spacing:0;margin:0;font-size:96px;line-height:.92}.home__title{text-transform:uppercase;width:min(820px,62vw);max-width:820px}.home__titles{width:min(820px,62vw);min-height:180px;position:relative}.home__titles .home__title{position:absolute;inset:0 auto auto 0}.home__titles .home__title--current{position:relative}.home__titles .home__title:not(.home__title--current){pointer-events:none}.home__titles .home__title:not(.home__title--current):not(.home__title--previous){visibility:hidden}.home__title-line{white-space:nowrap;display:block;overflow:hidden}.home__title .home__title-letter-container{vertical-align:top;display:inline-block;overflow:hidden}.home__title .home__title-letter{will-change:transform, opacity;display:inline-block}.home__list{z-index:14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#ffffffd6;place-items:center;display:grid;position:fixed;inset:0}.home__list-container{will-change:transform;gap:26px;display:grid}.home__title--list{color:#0303032e;transition:color .35s var(--ease-out);font-size:58px}.home__title--active{color:var(--color-text)}.home__enter-action,.not-found__link,.project__pager a,.project-section a{color:var(--color-text);font-weight:700;text-decoration:none;display:inline-flex}.home__enter-action,.not-found__link{margin-top:40px}.home__enter-action{color:var(--color-accent);text-transform:uppercase;gap:.35em;font-size:18px}.home__project-list{flex-wrap:wrap;justify-content:center;gap:14px 26px;margin-top:48px;display:flex}.home__project-link{color:var(--color-muted);transition:color .4s var(--ease-out);font-size:15px;font-weight:500;text-decoration:none}.home__project-link:hover{color:var(--color-accent)}.home__project-link--active{color:var(--color-text)}.home__content{z-index:16;width:min(820px,62vw);position:fixed;top:49%;left:max(110px,11.2vw);transform:translateY(-50%)}.about{color:#fff;background:0 0}.project{color:#fff;background:0 0;padding:0}.about__head{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.about__head .container{justify-content:flex-end;display:flex}.about__content-container{z-index:20;width:50%;position:relative}.about__description{color:#ffffffc2;max-width:440px;font-size:20px;line-height:1.5}.about__headline{z-index:20;width:100%;position:absolute;bottom:-50px;left:0;right:0;overflow:hidden}.about__headline-container{width:100000px;transform:translate(-40px)}.about__headline-title,.about__headline-title span{color:#141414;font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;margin:0;font-size:280px;font-weight:700;line-height:1}.about__headline-title span{display:inline-block}.about__headline-title span:not(:last-child){margin-right:100px}.about__content{z-index:2;background:#1a1a1a;padding-top:260px;position:relative}[data-reveal]{opacity:0;transition:opacity .75s var(--ease-out), transform .75s var(--ease-out);will-change:opacity, transform;transform:translateY(28px)}[data-reveal][data-visible=true]{opacity:1;transform:translate(0,0)}.about__content-section{justify-content:space-between;align-items:flex-start;max-width:none;padding-bottom:120px;display:flex}.about__content-section-left,.about__content-section-right{width:50%}.about__content-section-left{padding-right:60px}.about__content-section-right{padding-left:30px}.about__content-section-title{color:#fff;font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:.16em;margin:0;font-size:34px;line-height:1.08;text-decoration-thickness:.08em;position:sticky;top:140px}.about__content-section p{color:#ffffffb8;margin:0 0 18px;font-size:18px;line-height:1.72}.about__content-experiences,.about__content-skills,.about__content-mentions,.about__content-skill-details{margin:0;padding:0;list-style:none;display:grid}.about__content-experience,.about__content-mention{border-bottom:1px solid #ffffff1a;justify-content:space-between;gap:40px;padding:0 0 34px;display:flex}.about__content-experience:not(:last-child),.about__content-mention:not(:last-child),.about__content-skill:not(:last-child){margin-bottom:34px}.about__content-experience-left,.about__content-mention-left{gap:8px;max-width:560px;display:grid}.about__content-experience-right,.about__content-mention-right{text-align:right;flex:0 0 180px}.about__experience-url{color:inherit;text-decoration:none}.about__content-experience-title,.about__content-mention-title,.about__content-skill-title{color:#fff;margin:0;font-size:20px;font-weight:700}.about__content-experience-description,.about__content-experience-period,.about__content-mention-description,.about__content-mention-period,.about__content-skill-detail{color:#ffffff8f;line-height:1.5}.about__content-skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.about__content-skill-details{gap:8px;margin-top:16px}.about__footer{z-index:2;background:#1a1a1a;position:relative}.about-slider{cursor:grab;touch-action:pan-y;grid-auto-columns:minmax(260px,420px);grid-auto-flow:column;gap:22px;width:min(100% - 200px,1400px);margin:0 auto 120px;display:grid;overflow:hidden}.about-slider:active{cursor:grabbing}.about-slider__item{transition:transform .55s var(--ease-out);will-change:transform;margin:0}.about-slider__item img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.project__content{z-index:2;color:#030303;background:#fff;margin-top:80vh;position:relative}.project-section{color:#030303}.project-intro{padding:100px 0 120px}.project-explanation,.project-details{padding:120px 0 0}.project-intro .container,.project-explanation .container,.project-details .container{justify-content:space-between;align-items:flex-start;display:flex}.project-intro__content,.project-details__content{width:65%}.project-intro__title,.project-explanation__title,.project-details__title{color:#030303;max-width:680px;font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;margin:0 0 40px;font-size:48px;font-weight:700;line-height:1.1}.project-intro__title,.project-intro__meta,.project-intro__description,.project-intro__action{opacity:0;will-change:opacity, transform}.project-explanation__title,.project-details__title{max-width:640px;font-size:40px}.project-intro__description,.project-explanation__description,.project-details__description{color:#80828a;max-width:620px;margin:0;font-size:18px;line-height:1.5}.project-intro__meta{width:35%;margin:0;padding-left:80px}.project-intro__meta-section:not(:last-child){margin-bottom:20px}.project-intro__meta-title{color:#030303;font-family:var(--font-display);text-transform:uppercase;font-size:14px;font-weight:700}.project-intro__meta-list{color:#80828a;gap:2px;margin:12px 0 0;line-height:1.5;display:grid}.project-intro__meta-item{display:block}.project-intro__action{color:#030303;margin-top:40px;font-weight:700;text-decoration:none;display:inline-block}.project-explanation__head{width:35%}.project-explanation__content{width:65%;padding-left:100px}.project-explanation__description:not(:last-child){margin-bottom:40px}.project-picture,.project-video{padding:120px 0}.project-picture__container,.project-video__container{width:100%;height:auto;overflow:hidden}.project-picture__source,.project-video__source{will-change:transform;width:100%;height:auto;display:block}.project-parallax{width:100%;margin:120px 0}.project-parallax__container{width:100%;height:90vh;max-height:90vh;overflow:hidden}.project-parallax__source{object-fit:cover;will-change:transform;width:100%;height:100%;display:block;transform:scale(1.2)}.project-fullwidth{width:100%;margin:120px 0}.project-fullwidth__container,.project-fullwidth__source{width:100%;height:auto;display:block}.project-headline{padding:120px 0}.project-headline .container{text-align:center;justify-content:center;display:flex}.project-headline__title{color:#030303;font-family:var(--font-display);letter-spacing:0;margin:0;font-size:54px;line-height:1.08}.project-slider{padding:120px 0}.project-slider__container{cursor:grab;touch-action:pan-y;width:100%;padding-left:max(70px,50vw - 580px);overflow:hidden}.project-slider__container:active{cursor:grabbing}.project-slider__slider{width:max-content;transition:transform .9s var(--ease-out);will-change:transform;display:flex}.project-slider__element{margin-right:30px;overflow:hidden}.project-slider__element-source{width:50vw;height:auto;display:block}.project-slider__nav-container{justify-content:flex-end;display:flex}.project-slider__nav{align-items:center;gap:32px;margin-top:50px;display:flex}.project-slider__nav-previous{flex-direction:row-reverse}.project-slider__nav-previous .action-button__shapes{transform:rotate(180deg)scale(.7)}.project-slider__nav-previous .action-button__text{margin-left:24px;margin-right:0}.project__pager{border-top:1px solid #03030329;flex-wrap:wrap;gap:24px;margin-top:100px;padding-top:40px;display:flex}.project__pager a,.project-section a{color:#030303}.footer{padding:120px 0 100px}.footer--light .footer__link,.footer--light .footer__text{color:#fff}.footer--light .footer__copyright{color:#fff;opacity:.4}.footer--light .footer__link-icon path{stroke:#fff;fill:#fff}.footer__divider{opacity:.12;background:currentColor;width:100%;height:1px;margin-bottom:140px}.footer__text{max-width:920px;color:var(--color-text);font-family:var(--font-display);text-transform:uppercase;margin:0 0 80px;font-size:60px;font-weight:700;line-height:1.1}.footer__items{align-items:center;gap:44px;margin:0;padding:0;list-style:none;display:flex}.footer__link{color:var(--color-text);transition:color .8s var(--ease-out);font-size:18px;font-weight:500;text-decoration:none}.footer__link:hover{color:var(--color-accent)}.footer__link:hover .footer__link-icon path{fill:var(--color-accent);stroke:var(--color-accent)}.footer__link-text{margin-right:8px;display:inline-block}.footer__link-icon{width:10px;height:auto}.footer__link-icon path{stroke:var(--color-text);stroke-width:2px;transition:fill .8s var(--ease-out), stroke .8s var(--ease-out)}.footer__copyright{color:var(--color-muted);margin:140px 0 0;font-size:17px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.container{width:calc(100% - 60px)}.page{padding:130px 0 80px}.header__container{width:calc(100% - 60px);top:30px;left:30px;right:30px}.header__content{justify-content:flex-end}.header__socials{display:none}.header__nav-item{font-size:16px}.header__nav-item:last-child{display:none}.home__actions{gap:8px;bottom:24px;right:24px}.global-cursor,.lateral__text,.action-button__text{display:none}.action-button__shapes,.action-button--reversed .action-button__shapes{transform:scale(.6)}.action-button--reversed .action-button__shapes{transform:rotate(180deg)scale(.6)}.home__title,.about__headline-title,.project-intro__title,.not-found__title{font-size:54px}.home__title--list{font-size:34px}.home__project-list{margin-top:34px}.project-explanation,.project-details{gap:52px;margin-top:72px}.about__content-section{flex-direction:column;padding-bottom:72px}.about__content-section-left,.about__content-section-right{width:100%;padding:0}.about__content-section-left{margin-bottom:28px}.about__content-section-title{position:static}.about__content-experience,.about__content-mention{flex-direction:column;gap:12px}.about__content-experience-right,.about__content-mention-right{text-align:left;flex:auto}.about__content-skills{grid-template-columns:1fr}.about-slider{width:calc(100% - 60px)}.project-intro,.project-picture,.project-video,.project-headline,.project-slider{padding:80px 0}.project-parallax,.project-fullwidth{margin:80px 0}.project-slider__container{padding-left:30px}.project-slider__element-source{width:80vw}.project-intro .container,.project-explanation .container,.project-details .container{flex-direction:column}.project-intro__content,.project-intro__meta,.project-explanation__head,.project-explanation__content,.project-details__content{width:100%;padding-left:0}.project-intro__meta{padding-top:40px}.about__content-section-title{font-size:28px}.project-intro__title,.project-explanation__title,.project-details__title{font-size:36px}.project-section blockquote{font-size:34px}.footer{padding:80px 0}.footer__divider{margin-bottom:80px}.footer__text{font-size:40px}.footer__items{flex-direction:column;align-items:flex-start;gap:10px}.footer__copyright{margin-top:80px}}@media (width<=1080px){.lateral__text{display:none}}
