*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%;scroll-behavior:smooth}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:12px;line-height:1;color:#111;background-color:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}a{text-decoration:none;color:inherit;cursor:pointer}h1,h2,h3,h4,h5,h6,p{font-weight:400;overflow-wrap:break-word}ul,ol{list-style:none}input,textarea,select,button{font:inherit;color:inherit;background:none;border:none;outline:none}button{cursor:pointer}#root,#__astro,main{isolation:isolate}::selection{background-color:transparent;color:inherit}html{scroll-behavior:smooth;overscroll-behavior-y:none}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:root{--font-size-xs: .6rem;--font-size-sm: 1rem;--font-size-md: 1.5rem;--font-size-lg: clamp(1.75rem, 3vw, 2rem);--font-size-xl: 3rem;--font-size-xxl: clamp(2rem, 3vw, 3rem);--font-size-home: clamp(1.5rem, 6vw, 6.5rem);--font-size-work-item: clamp(24px, 4vw, 48px);--font-size-switcher: 24px}@media(max-width:767px){:root{--font-size-lg: clamp(1.15rem, 1.25vw, 1.5rem)}}::selection{background:#0400ff;color:#fff}html.is-loading .work-list{visibility:hidden}body{margin:0;font-family:Times New Roman,Times,serif;background:#e5e5e5;color:#222}header{padding:1rem;background:#fff;display:none}nav a{margin-right:1rem;text-decoration:none;color:#333}main{margin:0 auto}img{max-width:100%;height:auto;display:block}.works-section{background:#e5e5e5;min-height:100vh}.work-list{padding:0;margin:0;display:flex;flex-direction:column;padding:.5rem}.work-item{display:flex;flex-direction:row;align-items:end;gap:1rem;min-width:0;list-style-type:none;font-size:var(--font-size-work-item);font-weight:400;margin:0;line-height:1.1;letter-spacing:-.05rem}.work-link{display:flex;align-items:end;min-width:0;text-decoration:none}.work-details{display:flex;align-items:baseline}.work-quote{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:clip;text-overflow:ellipsis;display:block}.work-quote:after{content:"–";padding:0 1rem}.work-client{flex:0 0 auto;white-space:nowrap}.work-item a{text-decoration:none;color:inherit}.work-item a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25rem}.work-category{display:inline-block;color:#bababa;font-size:60%;margin-left:2rem}.work-image{display:none}.view-switcher{display:flex;position:fixed;bottom:1rem;left:1rem;gap:.25rem;font-size:24px;z-index:99;color:#fff;mix-blend-mode:difference}.view-switcher button.is-active:before{content:"("}.view-switcher button.is-active:after{content:")"}.work-list[data-view=images]{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:.25rem;align-items:start}.work-list[data-view=images] .work-item{flex-direction:column;gap:0;align-items:flex-start;position:relative;height:auto;width:100%;overflow:hidden}.work-list[data-view=images] .work-link{flex-direction:column;align-items:flex-start}.work-list[data-view=images] .work-image{display:block;inset:0;width:100%;height:auto;order:0;position:relative;z-index:10;transition:transform .2s ease}.work-list[data-view=images] .gallery-video{display:block}.work-list[data-view=images] .gallery-video--fullscreen{transition:transform .2s ease;z-index:10}.work-list[data-view=images] .work-link:hover .work-image,.work-list[data-view=images] .work-link:hover .gallery-video--fullscreen{transform:translateY(-1.25rem)}.work-list[data-view=images] .work-quote{display:none}.work-list[data-view=images] .work-details{gap:.5rem;position:absolute;bottom:0;justify-content:space-between;width:100%}.work-list[data-view=images] .work-client,.work-list[data-view=images] .work-category{font-size:var(--font-size-sm)}.work-list[data-view=images] .work-category{margin:0}.work-list[data-view=list]{display:flex;flex-direction:column}.work-list[data-view=list] .work-image,.work-list[data-view=list] .gallery-video{display:none}.work-list[data-view=list] .work-category{display:block}.home{position:fixed;z-index:10;background-color:#e5e5e5;width:100%}.home-inner{position:relative;height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;transition:height .6s cubic-bezier(.76,0,.24,1);overflow:hidden}.home-inner.panel-open{height:50dvh}@media(max-width:767px){.home-inner.panel-open{height:0}}.home-inner h1{font-size:var(--font-size-home);font-weight:500;line-height:.9;margin:0;padding:0 1rem;letter-spacing:-.1rem;max-width:1440px}.home-inner span{text-decoration:none;color:inherit;position:relative;transition:color .2s ease}.home-inner span:hover{text-decoration:underline;text-decoration-thickness:.15rem;text-underline-offset:.5rem}.home-inner a:hover{color:#666}.link-container{display:inline-block;cursor:default}.link-container span{z-index:99;mix-blend-mode:difference;color:#fff}.link-images{position:fixed;z-index:0;display:block;border-radius:6rem}.home-stack-media{border-radius:.5rem;will-change:opacity}@media(max-width:767px){.home-inner h1{writing-mode:vertical-rl;max-height:75vh;font-size:clamp(2rem,5vh,3rem);letter-spacing:0rem}.home-inner span:hover{text-decoration-thickness:.1rem;text-underline-offset:.15rem}.home-stack-media{left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}}.home img,.home video{overflow:hidden}.has-placeholder{position:relative}.has-placeholder:before{content:"";position:absolute;inset:0;background:var(--placeholder-color, #e9e9e9);transition:opacity .3s ease;pointer-events:none;opacity:1;z-index:1}.has-placeholder:not(.has-placeholder):before{opacity:0}.has-placeholder>img,.has-placeholder>video{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:cover}img.has-placeholder,video.has-placeholder{background:var(--placeholder-color, #e9e9e9);background-size:cover;background-position:center;display:block;width:100%;height:100%;object-fit:cover}img.has-placeholder{opacity:0;transition:opacity .3s ease}video.has-placeholder{opacity:0;transition:opacity .3s ease}img:not(.has-placeholder),video:not(.has-placeholder){opacity:1;transition:opacity .3s ease}.caption-container{font-size:var(--font-size-lg);position:absolute;bottom:1rem;right:1rem;z-index:10}@media(max-width:767px){.caption-container{top:1rem;left:50%;bottom:auto;right:auto;transform:translate(-50%);text-align:center;width:90%}}.contact-body{font-size:clamp(2rem,3vw,3rem)}[onclick]{cursor:pointer}.work-detail{position:fixed;top:1rem;left:1rem;z-index:999;font-size:1rem}.content-wrapper{height:100vh;transition:height .6s cubic-bezier(.76,0,.24,1);overflow:hidden}.content-wrapper.panel-open{height:50vh}@media(max-width:767px){.content-wrapper.panel-open{height:0}}.work-overlay{position:fixed;inset:0;background:#fffffff2;backdrop-filter:blur(2px);color:#e5e5e5c8;display:none;justify-content:center;align-items:center;z-index:1000;overflow-y:hidden;opacity:0;transition:opacity .3s ease}.work-overlay.active{display:flex;flex-direction:column;justify-content:flex-start;opacity:1}.overlay-content{position:relative}.overlay-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#fff;cursor:pointer}.info-button{position:absolute;bottom:1rem;left:1rem;background:none;color:inherit;border:none;cursor:pointer;z-index:10;font-size:var(--font-size-lg);transition:opacity .3s ease}.info-button.hidden{opacity:0;pointer-events:none}@media(max-width:767px){.info-button{top:auto;bottom:1rem;left:50%;right:auto;transform:translate(-50%);text-align:center;width:100%}}.info-panel{position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);transition:transform .6s cubic-bezier(.76,0,.24,1);background:#fffffffb;color:#000;display:flex;align-items:start;justify-content:start;z-index:20;height:50dvh;font-size:var(--font-size-lg);width:100%;box-shadow:0 -1px #000}@media(max-width:767px){.info-panel{height:100dvh}}.info-panel.active{transform:translateY(0);pointer-events:auto}.info-panel__content{padding:2rem;text-align:left;z-index:99;max-width:60%;height:100%}@media(max-width:600px){.info-panel__content{max-width:100%;padding:4rem 2rem 2rem}}.info-close{background:none;color:#000;cursor:pointer;position:absolute;top:1rem;right:1rem}.fullscreen-swiper{width:100vw;height:100%}.fullscreen-swiper img{width:100%;height:100%;object-fit:contain}.swiper-button-next,.swiper-button-prev{position:absolute!important;top:50%;transform:translateY(-50%);z-index:1000;width:44px;height:44px;mix-blend-mode:difference;color:#fff!important}.swiper-button-next:after,.swiper-button-prev:after{font-size:var(--font-size-switcher)}.swiper-button-next{right:1rem!important;left:auto}.swiper-button-prev{left:1rem!important;right:auto}.swiper-button-next:hover:after,.swiper-button-prev:hover:after{color:#555}.swiper-button-next:after,.swiper-button-prev:after{content:"";display:block;width:30px;height:30px;background-size:contain;background-repeat:no-repeat}.swiper-button-next:after{content:"→"}.swiper-button-prev:after{content:"←"}.gallery-video{width:100%;height:100%;object-fit:cover;display:flex;justify-content:center;align-items:center;display:none}.gallery-video--fullscreen{width:100%;height:100%;object-fit:cover}.gallery-video--inset{padding:8rem;object-fit:contain;margin:0 auto}.project-video{width:100%;height:100%;object-fit:cover;display:flex;justify-content:center;align-items:center}.project-video--fullscreen{width:100%;height:100%;object-fit:cover}.project-video--inset{padding:4rem 8rem;object-fit:contain;margin:0 auto}.gallery-image{width:100%;height:auto;display:block;object-fit:cover}.gallery-image--fullscreen{width:100vw;height:100vh;object-fit:cover}.gallery-image--inset{padding:4rem 8rem;height:auto;object-fit:contain;margin:0 auto}.difference{mix-blend-mode:difference;color:#fff!important}.contact-panel__text{display:flex;flex-direction:column;gap:1rem;height:100%;overflow:scroll;scrollbar-width:none;-ms-overflow-style:none}.contact-panel__text::-webkit-scrollbar{display:none}.contact-panel__text a{color:inherit;text-decoration:none}.contact-panel__text a:hover{text-decoration:underline 2px;text-underline-offset:4px}.contact-panel__links{display:flex;flex-direction:column;align-items:start}.contact-panel__links a{display:inline-block}.contact-panel__links a:hover{text-decoration:underline 2px;text-underline-offset:4px}.slide-grid.slide-grid--two-up{display:flex;height:100vh;width:100%;gap:1rem}
