.header{position:relative;display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-sm)}.header--with-gradient{position:fixed;top:0;left:0;right:0;padding:var(--space-sm) var(--space-md);padding-bottom:var(--space-lg);background:linear-gradient(to bottom,#fff 20px,#fff0);z-index:10}.header__left{flex:1}.header__name{display:block;font-size:var(--font-size-ui);font-weight:400;color:var(--color-text);text-decoration:none;text-transform:uppercase;overflow:hidden;height:1.5em;transition:opacity var(--duration-normal) var(--ease-out)}.header__name>span{display:block;animation:slide-up 1.2s var(--ease-out) both}.header__name:hover{opacity:.5}.header__center{position:absolute;left:50%;transform:translate(-50%)}.header__title{font-size:var(--font-size-ui);color:var(--color-text-muted)}.header__tabs{display:flex;gap:var(--space-md);position:absolute;left:50%;transform:translate(-50%)}.header__tab{font-size:var(--font-size-ui);color:var(--color-text-muted);padding:0;background:none;border:none;cursor:pointer;text-transform:uppercase;overflow:hidden;transition:color var(--duration-fast) ease}.header__tab>span{display:block;animation:slide-up 1.2s var(--ease-out) both}.header__tab:hover,.header__tab--active{color:var(--color-text)}.header__right{flex:1;display:flex;justify-content:flex-end;gap:var(--space-md)}.header__link{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-ui);color:var(--color-text);text-transform:uppercase;overflow:hidden;transition:opacity var(--duration-normal) var(--ease-out)}.header__link>span{display:block;animation:slide-up 1.2s var(--ease-out) .05s both}.header__link:hover{opacity:.5}.header__link-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--color-text-muted);transition:all var(--duration-fast) ease}.header__link--active{color:var(--color-text)}.header__link--active .header__link-dot{background-color:var(--color-text);border-color:var(--color-text)}@media (max-width: 768px){.header__center{display:none}.header__tabs{position:static;transform:none;order:3;width:100%;justify-content:center;margin-top:40px;gap:var(--space-sm)}.header{flex-wrap:wrap;padding-bottom:20px}}@media (max-width: 480px){.header__right{gap:var(--space-sm)}}.footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-sm);font-size:var(--font-size-ui);text-transform:uppercase}.footer--with-gradient{position:fixed;bottom:0;left:0;right:0;padding:var(--space-lg) var(--space-md) var(--space-sm);background:linear-gradient(to bottom,#fff0,#fff calc(100% - 20px));z-index:10}.footer__left{flex:1;white-space:nowrap;overflow:hidden;height:1.5em}.footer__left>span{display:block;animation:slide-up 1.2s var(--ease-out) .2s both}.footer__left a{color:var(--color-text);transition:opacity var(--duration-normal) var(--ease-out)}.footer__left a:hover{opacity:.5}.footer__separator{color:var(--color-text)}.footer__center{color:var(--color-text-muted);font-variant-numeric:tabular-nums;overflow:hidden;height:1.5em}.footer__center>*{animation:slide-up 1.2s var(--ease-out) .25s both}.footer__counter{display:flex;align-items:center;gap:.25rem}.footer__chevron{display:flex;align-items:center;justify-content:center;padding:4px;color:var(--color-text);background:none;border:none;cursor:pointer;transition:opacity var(--duration-normal) var(--ease-out)}.footer__chevron:hover{opacity:.5}.footer__chevron--left{margin-right:4px}.footer__chevron--right{margin-left:4px}.footer__counter-current{color:var(--color-text)}.footer__counter-separator,.footer__counter-total{color:var(--color-text-muted)}.footer__right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:8px}.footer__email-link{overflow:hidden}.footer__email-link>span{display:block;animation:slide-up 1.2s var(--ease-out) .2s both}.footer__right a{color:var(--color-text);transition:opacity var(--duration-normal) var(--ease-out)}.footer__right a:hover{opacity:.5}@media (max-width: 768px){.footer{flex-wrap:wrap;padding-top:20px}.footer__left{overflow:visible;height:auto}.footer__center{order:-1;width:100%;display:flex;justify-content:center;margin-bottom:40px;overflow:visible;height:auto}}.custom-cursor{position:fixed;pointer-events:none;z-index:9999;font-size:.875rem;font-weight:300;color:var(--color-text);transform:translate(-50%,-50%);letter-spacing:.05em;text-transform:uppercase;will-change:left,top;transition:color .15s ease,font-size .15s ease,background .15s ease,padding .15s ease}.custom-cursor--inverted{color:#000;background:#fff;padding:2px 4px;text-shadow:none}.custom-cursor--large{font-size:24px}.custom-cursor--hidden{opacity:0;pointer-events:none}.cursor-trail{position:fixed;pointer-events:none;z-index:9998;font-size:.875rem;font-weight:300;color:var(--color-text);letter-spacing:.05em;text-transform:uppercase;will-change:left,top,opacity,transform;transition:color .15s ease,font-size .15s ease,background .15s ease,padding .15s ease}.cursor-trail--inverted{color:#000;background:#fff;padding:2px 4px;text-shadow:none}.cursor-trail--large{font-size:24px}.cursor-trail--hidden{opacity:0!important;pointer-events:none}*{cursor:none!important}@media (hover: none){.custom-cursor,.cursor-trail{display:none}*{cursor:auto!important}}body[data-hover-state=pointer] .info__link,body[data-hover-state=pointer] .info__link *,body[data-hover-state=pointer] .info__easter-egg,body[data-hover-state=pointer] .info__easter-egg *,body[data-hover-state=pointer] .footer__email-link,body[data-hover-state=pointer] .footer__email-link *,body[data-hover-state=pointer] .header__name,body[data-hover-state=pointer] .header__name *,body[data-hover-state=pointer] .header__link,body[data-hover-state=pointer] .header__link *,body[data-hover-state=pointer] .header__tab,body[data-hover-state=pointer] .header__tab *{cursor:pointer!important}.page-transition{display:contents}.page-transition--exiting .header__name>span,.page-transition--exiting .header__tab>span,.page-transition--exiting .header__link>span,.page-transition--exiting .footer__left>span,.page-transition--exiting .footer__center>*,.page-transition--exiting .footer__email-link>span,.page-transition--exiting .info__label>span,.page-transition--exiting .info__text>span,.page-transition--exiting .info__list-item>span,.page-transition--exiting .info__list-detail>span,.page-transition--exiting .info__list-meta>span{animation:slide-down 1s var(--ease-out) forwards}.page-transition--exiting .work__image-container{animation:slide-down-container 1s var(--ease-out) forwards}.page-transition--exiting .info__row{animation:slide-down .5s var(--ease-out) forwards!important;animation-delay:0s!important}@keyframes slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes slide-down-container{0%{transform:translateY(0);opacity:1}to{transform:translateY(200px);opacity:0}}.app{min-height:100%;display:flex;flex-direction:column;padding:var(--space-sm) var(--space-md)}main{flex:1;display:flex;flex-direction:column;justify-content:center}@media (max-width: 768px){.app{padding:var(--space-sm) var(--space-md)}main{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}}.work{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow:hidden}.work__image-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:900px;height:100%;min-height:0;cursor:pointer;animation:slide-up-container 1.2s var(--ease-out) .1s both;transition:all .4s cubic-bezier(.4,0,.2,1)}@keyframes slide-up-container{0%{transform:translateY(200px);opacity:0}to{transform:translateY(0);opacity:1}}.work__image-container--no-entrance{animation:none}.work__image-wrapper{position:relative;width:min(100%,calc((100vh - 120px) * 36 / 29));width:min(100%,calc((100dvh - 120px) * 36 / 29));aspect-ratio:36 / 29;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.work__media-frame{position:relative}.work__image,.work__video{display:block;max-width:668px;max-height:calc((100dvh - 120px)*.8);transition:transform var(--duration-normal) cubic-bezier(.54,0,.24,1),filter var(--duration-normal) ease}.work__media-frame:hover .work__image,.work__media-frame:hover .work__video{transform:scale(1.1)}.work__image-wrapper[data-opacity=saturated] .work__image,.work__image-wrapper[data-opacity=saturated] .work__video{filter:grayscale(75%)}.work__image-wrapper[data-opacity=saturated] .work__media-frame:hover .work__image,.work__image-wrapper[data-opacity=saturated] .work__media-frame:hover .work__video{filter:grayscale(0%)}.work__media--stacked{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;transition:opacity .5s ease,filter var(--duration-normal) ease}.work__media--stacked.work__media--active{position:relative;width:auto;height:auto;opacity:1;pointer-events:auto;transition:opacity .5s ease,filter var(--duration-normal) ease,transform var(--duration-normal) cubic-bezier(.54,0,.24,1)}.work__media--stacked.work__media--instant{transition:filter var(--duration-normal) ease}.work__media--stacked.work__media--instant.work__media--active{transition:filter var(--duration-normal) ease,transform var(--duration-normal) cubic-bezier(.54,0,.24,1)}.work__media-frame:hover .work__media--stacked.work__media--active{transform:scale(1.1)}.work__badges{display:none;position:absolute;top:16px;left:16px;gap:6px;z-index:10}.work__badge{padding:6px 12px;font-size:.75rem;font-weight:500;letter-spacing:.02em;color:#fff0;background:transparent;border-radius:8px;transition:color .3s ease,background .3s ease,backdrop-filter .3s ease}.work__badges--visible .work__badge{color:#fff;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.work__enlarge-button{display:none;position:absolute;top:16px;right:16px;align-items:center;justify-content:center;padding:8px;color:#fff0;background:transparent;border:none;border-radius:8px;cursor:pointer;z-index:10;transition:color .3s ease,background .3s ease,backdrop-filter .3s ease}.work__enlarge-button--visible{color:#fff;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.work__enlarge-button:hover{background:#ffffff40}.work__image-container--fullscreen{position:fixed;top:0;left:0;max-width:none;width:100vw;height:100vh;height:100dvh;z-index:100;animation:none}.work__image-container--fullscreen.work__image-container--animating{animation:expand-to-fullscreen .4s cubic-bezier(.54,0,.24,1) forwards}.work__image-container--collapsing{position:fixed;top:0;left:0;max-width:none;width:100vw;height:100vh;height:100dvh;z-index:100;animation:collapse-from-fullscreen .4s cubic-bezier(.54,0,.24,1) forwards!important}.work__image-container--collapsing .work__image-wrapper{width:100%;height:100%;aspect-ratio:unset}.work__image-container--collapsing .work__image,.work__image-container--collapsing .work__video{max-width:668px;max-height:calc((100dvh - 120px)*.8)}.work__image-container--collapsing .work__image-wrapper[data-opacity=saturated] .work__image,.work__image-container--collapsing .work__image-wrapper[data-opacity=saturated] .work__video{animation:collapse-image-saturated .4s cubic-bezier(.54,0,.24,1) forwards}@keyframes collapse-image-saturated{0%{filter:grayscale(0%)}to{filter:grayscale(75%)}}.work__image-container--collapsing .work__badge,.work__image-container--collapsing .work__enlarge-button{color:#fff;background:#ffffff26}@keyframes expand-to-fullscreen{0%{top:var(--start-top);left:var(--start-left);width:var(--start-width);height:var(--start-height)}to{top:0;left:0;width:100vw;height:100vh}}@keyframes collapse-from-fullscreen{0%{top:0;left:0;width:100vw;height:100vh}to{top:var(--start-top);left:var(--start-left);width:var(--start-width);height:var(--start-height)}}.work__image-container--fullscreen .work__image-wrapper{width:100%;height:100%;aspect-ratio:unset;background:#000}.work__image-container--fullscreen .work__image,.work__image-container--fullscreen .work__video{max-width:90vw;max-height:90dvh;filter:grayscale(0%)}.work__image-container--fullscreen .work__media--stacked.work__media--active{transform:scale(1);transition:none}.work__image-container--fullscreen:hover .work__media--stacked.work__media--active{transform:scale(1)}.work__image-container--fullscreen .work__badge,.work__image-container--fullscreen .work__enlarge-button{color:#fff;background:#ffffff26}.work__play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:56px;height:56px;color:#fff;background:#00000026;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:9999px;z-index:10;transition:opacity .3s ease}.work__play-button svg{margin-left:2px}.work__play-button--hidden{opacity:0}.work__empty{width:100%;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);color:var(--color-text-muted)}@media (max-width: 768px){.work{flex:1;min-height:0;justify-content:center}.work__image-container{max-width:100%;flex:1;display:flex;flex-direction:column}.work__image-wrapper{flex:1;aspect-ratio:unset;max-height:none}.work__image,.work__video{max-width:100%;max-height:calc(100dvh - 120px);filter:grayscale(0%)}.work__media--stacked{transform:scale(1.1)}.work__media--stacked.work__media--active{transition:opacity .5s ease,filter var(--duration-normal) ease}.work__media--stacked.work__media--instant.work__media--active{transition:filter var(--duration-normal) ease}.work__badges{top:clamp(8px,3%,16px);left:clamp(8px,3%,16px)}.work__badge{color:#fff;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.work__enlarge-button{top:clamp(8px,3%,16px);right:clamp(8px,3%,16px);color:#fff;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.work__image-container--fullscreen .work__image-wrapper{max-height:none;aspect-ratio:unset;height:100%}.work__image-container--collapsing .work__image-wrapper{max-height:none}}.info{display:flex;justify-content:center;flex:1;padding:64px 0}.info__content{width:100%;max-width:1200px}.info__row{display:grid;grid-template-columns:clamp(80px,25%,300px) minmax(0,800px);gap:var(--space-md);padding:var(--space-md) 0;padding-bottom:50px}.info__row:first-child{padding-top:0}.info__label{display:block;font-size:var(--font-size-ui);color:var(--color-text);text-transform:uppercase;overflow:hidden;height:1.5em}.info__label>span{display:block;animation:slide-up 1.2s var(--ease-out) both;animation-delay:calc(.05s + var(--row-index, 0) * .08s)}.info__text{font-size:var(--font-size-ui);color:var(--color-text);line-height:1.6;overflow:hidden}.info__text>span{display:block;animation:slide-up 1.2s var(--ease-out) both;animation-delay:calc(.05s + var(--row-index, 0) * .08s)}.info__list{display:flex;flex-direction:column;gap:.25rem}.info__list-item{font-size:var(--font-size-ui);color:var(--color-text);overflow:hidden}.info__list-item>span{display:block;animation:slide-up 1.2s var(--ease-out) both;animation-delay:calc(.05s + var(--row-index, 0) * .08s + var(--item-index, 0) * .03s)}.info__list-row{display:grid;grid-template-columns:200px 1fr auto;gap:var(--space-md);padding:.25rem 0}.info__list-detail{font-size:var(--font-size-ui);color:var(--color-text-muted);overflow:hidden}.info__list-detail>span{display:block;animation:slide-up 1.2s var(--ease-out) both;animation-delay:calc(.05s + var(--row-index, 0) * .08s + var(--item-index, 0) * .03s)}.info__list-meta{font-size:var(--font-size-ui);color:var(--color-text-muted);text-align:right;overflow:hidden}.info__list-meta>span{display:block;animation:slide-up 1.2s var(--ease-out) both;animation-delay:calc(.05s + var(--row-index, 0) * .08s + var(--item-index, 0) * .03s)}.info__link{text-decoration:underline;transition:opacity var(--duration-normal) var(--ease-out)}.info__link:hover{opacity:.5}@media (max-width: 768px){.info__row{grid-template-columns:1fr;gap:var(--space-sm);padding:var(--space-md) 0}.info__list-row{grid-template-columns:1fr;gap:.125rem}.info__list-meta{text-align:left}}:root{--color-bg: #ffffff;--color-bg-alt: #f5f5f5;--color-text: #000000;--color-text-muted: #808080;--color-border: #e0e0e0;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-ui: .875rem;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 8rem;--container-max: 1200px;--container-padding: 2rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .3s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}ul,ol{list-style:none}.app{min-height:100%;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column}::selection{background-color:#000;color:#fff}:focus-visible{outline:1px solid var(--color-text-muted);outline-offset:2px}@keyframes slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scale-in{0%{transform:scale(0)}to{transform:scale(1)}}.reveal-text{overflow:hidden}.reveal-text>*{animation:slide-up 1.2s var(--ease-out) both}.reveal-delay-1{animation-delay:.05s}.reveal-delay-2{animation-delay:.1s}.reveal-delay-3{animation-delay:.15s}.reveal-delay-4{animation-delay:.2s}.reveal-delay-5{animation-delay:.25s}
