@font-face{font-family:Wagon;src:url(/fonts/wagon-extralight-webfont.woff2)format("woff2");font-display:swap}:root{--paper:#f5f2ec;--ink:#1f1c19;--muted:#837e76;--accent:#a45d47;--display:"Wagon", "Times New Roman", serif;--ui:Arial, Helvetica, sans-serif;--frame-size:40px;--grid-frame-size:40px;--lightbox-duration:.5s;--lightbox-easing-in:cubic-bezier(.7, 0, .84, 0);--lightbox-easing-out:cubic-bezier(.16, 1, .3, 1);--lightbox-easing:var(--lightbox-easing-out);--carousel-duration:.65s;--carousel-easing:cubic-bezier(.65, 0, .35, 1);--dock-lift:40px;--lightbox-image-scale:1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);font-family:var(--ui);background:#201d1a}html.is-lightbox-open,html.is-page-transition-open{--frame-size:0px;--lightbox-easing:var(--lightbox-easing-in)}*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-gutter:stable}body{min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:#0000}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.image-cursor-layer{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.image-cursor{pointer-events:none;will-change:transform;width:52px;height:52px;position:absolute;top:-26px;left:-26px;transform:translate(-200px,-200px)}.image-cursor-disc{color:#f5f2ec;opacity:0;background:#272725;border-radius:50%;place-items:center;width:100%;height:100%;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .12s linear;display:grid;transform:scale(.7)}.image-cursor.is-visible .image-cursor-disc{opacity:1;transform:scale(1)}html.is-lightbox-open .image-cursor,html.is-page-transition-open .image-cursor{visibility:hidden}@media (hover:hover) and (pointer:fine){[data-image-cursor].is-image-cursor-target,[data-image-cursor].is-image-cursor-target *{cursor:none!important}}@media (hover:none),(pointer:coarse){.image-cursor-layer{display:none}}.backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.backdrop-photo,.backdrop-frame-photo{background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.12)}.backdrop-photo.is-outgoing{z-index:1;animation:.76s cubic-bezier(.22,1,.36,1) both backdrop-out}.backdrop-photo.is-incoming{z-index:2;animation:.76s cubic-bezier(.22,1,.36,1) both backdrop-in}.backdrop-paper{z-index:3;inset:var(--frame-size);background:var(--paper);transition:inset var(--lightbox-duration) var(--lightbox-easing);position:absolute}.backdrop-frame-edge{z-index:24;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) top/100% var(--frame-size) no-repeat,linear-gradient(#000 0 0) right/var(--frame-size) 100% no-repeat,linear-gradient(#000 0 0) bottom/100% var(--frame-size) no-repeat,linear-gradient(#000 0 0) left/var(--frame-size) 100% no-repeat;-webkit-mask:linear-gradient(#000 0 0) top/100% var(--frame-size) no-repeat,linear-gradient(#000 0 0) right/var(--frame-size) 100% no-repeat,linear-gradient(#000 0 0) bottom/100% var(--frame-size) no-repeat,linear-gradient(#000 0 0) left/var(--frame-size) 100% no-repeat;mask:linear-gradient(#000 0 0) top/100% var(--frame-size) no-repeat,linear-gradient(#000 0 0) right/var(--frame-size) 100% no-repeat,linear-gradient(#000 0 0) bottom/100% var(--frame-size) no-repeat,linear-gradient(#000 0 0) left/var(--frame-size) 100% no-repeat;transition:mask-size var(--lightbox-duration) var(--lightbox-easing),-webkit-mask-size var(--lightbox-duration) var(--lightbox-easing);position:fixed;inset:0}.backdrop-frame-edge.is-outgoing{z-index:24}.backdrop-frame-edge.is-incoming{z-index:25}.backdrop-frame-edge.is-outgoing .backdrop-frame-photo{animation:.76s cubic-bezier(.22,1,.36,1) both backdrop-out}.backdrop-frame-edge.is-incoming .backdrop-frame-photo{animation:.76s cubic-bezier(.22,1,.36,1) both backdrop-in}.portfolio-frame{z-index:4;isolation:isolate;min-height:100vh;margin:0 var(--grid-frame-size);padding:0 40px 40px;position:relative;overflow:visible}.topbar{z-index:20;pointer-events:none;width:min(390px,100vw - 100px);position:fixed;top:54px;left:50%;transform:translate(-50%)}.topbar p{max-width:390px;color:var(--ink);font-family:var(--ui);letter-spacing:0;text-align:center;text-transform:uppercase;margin:0;font-size:12px;line-height:1.55}.topbar a{color:inherit;pointer-events:auto;text-underline-offset:2px;text-decoration-thickness:1px}.category-sections{position:relative}.category-stage{min-height:max(240svh,1900px);scroll-margin-top:40px;position:relative;overflow:hidden}.stage-note{display:none}.fixed-category-title{z-index:8;width:max-content;max-width:calc(100vw - 96px);color:var(--ink);pointer-events:none;align-items:flex-start;gap:12px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.fixed-category-title h1{font-family:var(--display);white-space:nowrap;justify-content:center;margin:0;font-size:96px;font-weight:400;line-height:.9;display:flex;position:relative;overflow:hidden}.title-letter{display:inline-block;transform:translateY(0)}.title-exit{top:0;left:50%;transform:translate(-50%);position:absolute!important}.title-exit.exit-down .title-letter{animation:.36s cubic-bezier(.76,0,.24,1) both title-out-up;animation-delay:calc(var(--letter-index)*24ms)}.title-exit.exit-up .title-letter{animation:.36s cubic-bezier(.76,0,.24,1) both title-out-down;animation-delay:calc(var(--letter-index)*24ms)}.title-enter.enter-down .title-letter{animation:.36s cubic-bezier(.76,0,.24,1) both title-in-down;animation-delay:calc(var(--letter-index)*24ms)}.title-enter.enter-up .title-letter{animation:.36s cubic-bezier(.76,0,.24,1) both title-in-up;animation-delay:calc(var(--letter-index)*24ms)}.fixed-category-count{font-family:var(--display);padding-top:9px;font-size:13px;font-style:italic}.floating-shot{z-index:2;background:#e8e3da;border-radius:0;margin:0;animation:.85s cubic-bezier(.2,.7,.2,1) both float-in;display:block;position:absolute;overflow:hidden}.floating-shot.is-over-title{z-index:9}.floating-shot.is-lightbox-source{opacity:0!important}.is-returning-to-grid .floating-shot{animation:none}.floating-shot .parallax-image{object-fit:cover;transform:translate3d(0, var(--parallax-y,0px), 0) scale(1.15);will-change:transform;border-radius:0}.floating-shot-button{appearance:none;width:100%;height:100%;color:inherit;cursor:zoom-in;font:inherit;background:0 0;border:0;border-radius:0;padding:0;display:block;position:absolute;inset:0}.category-dock{z-index:30;bottom:calc(max(22px,env(safe-area-inset-bottom)) + var(--dock-lift));width:min(252px,100vw - 32px);transition:width .32s cubic-bezier(.22,1,.36,1),margin-left .32s cubic-bezier(.22,1,.36,1);position:fixed;left:50%;transform:translate(-50%)}.category-dock.is-expanded{width:min(368px,100vw - 32px)}.portfolio-dock{z-index:60}.category-dock.is-carousel{z-index:60;width:min(252px,100vw - 90px);margin-left:-29px}.dock-current{color:#fbf8f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#22201eeb;border:1px solid #ffffff21;border-radius:28px;align-items:center;gap:10px;height:52px;padding:5px 6px 5px 7px;transition:gap .32s cubic-bezier(.22,1,.36,1),padding .32s cubic-bezier(.22,1,.36,1);display:flex;box-shadow:0 10px 34px #0f0d0c40}.dock-thumbnail-frame{border-radius:50%;flex:none;width:40px;height:40px;display:block;position:relative;overflow:hidden}.dock-thumbnail-image{border-radius:inherit;object-fit:cover}.dock-thumbnail-image.is-outgoing{z-index:1;animation:.42s both dock-thumbnail-out}.dock-thumbnail-image.is-incoming{z-index:2;animation:.42s both dock-thumbnail-in}.dock-current-title{flex:1;font-size:11px}.dock-current-count{color:#c4beb4;font-family:var(--display);font-size:12px;font-style:italic}.dock-toggle{color:#fff;cursor:pointer;background:#4b4844;border:0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.dock-toggle span{border-bottom:1px solid;border-right:1px solid;width:8px;height:8px;transition:transform .18s;transform:translateY(-2px)rotate(45deg)}.dock-toggle.is-open span{transform:translateY(2px)rotate(225deg)}.dock-current.is-slider{gap:6px;padding:5px}.dock-current.is-slider>*{animation:.26s cubic-bezier(.22,1,.36,1) both dock-slider-enter;animation-delay:calc(var(--dock-item-index,0)*24ms)}.dock-current.is-slider>:first-child{--dock-item-index:0}.dock-current.is-slider>:nth-child(2){--dock-item-index:1}.dock-current.is-slider>:nth-child(3){--dock-item-index:2}.dock-current.is-slider>:nth-child(4){--dock-item-index:3}.dock-current.is-slider>:nth-child(5){--dock-item-index:4}.dock-current.is-slider>:nth-child(6){--dock-item-index:5}.dock-step{color:#fff;cursor:pointer;background:#4b4844;border:0;border-radius:20px;flex:none;place-items:center;width:34px;height:38px;display:grid}.dock-step:disabled{opacity:.3;cursor:default}.dock-step span{border-top:1px solid;border-right:1px solid;width:7px;height:7px}.dock-step.is-previous span{transform:translate(2px)rotate(-135deg)}.dock-step.is-next span{transform:translate(-2px)rotate(45deg)}.dock-close span{border:0;width:12px;height:12px;position:relative;transform:none}.dock-close span:before,.dock-close span:after{content:"";background:currentColor;width:10px;height:1px;position:absolute;top:5px;left:1px}.dock-close span:before{transform:rotate(45deg)}.dock-close span:after{transform:rotate(-45deg)}.dock-current.is-slider .dock-current-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dock-carousel-count{color:#fbf8f2;font-family:var(--display);text-align:center;white-space:nowrap;flex:1;font-size:14px;font-style:italic}.dock-current.has-zoom{background:#221f1d;border:0}.dock-morph{height:52px;position:relative}.dock-morph:before{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);content:"";background:#22201eeb;border:1px solid #ffffff21;border-radius:28px;transition:background .32s,border-color .32s;position:absolute;inset:0;box-shadow:0 10px 34px #0f0d0c40}.dock-morph.is-gallery:before{background:#221f1d;border-color:#0000}.dock-morph .dock-current{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:1px solid #0000}.dock-layer{transition:opacity .28s,transform .32s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.dock-layer.is-gallery{opacity:0;pointer-events:none;transform:translateY(6px)}.dock-morph.is-gallery .dock-layer.is-base{opacity:0;pointer-events:none;transform:translateY(-6px)}.dock-morph.is-gallery .dock-layer.is-gallery{opacity:1;pointer-events:auto;transform:translateY(0)}.dock-zoom-control{color:#fff;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.dock-zoom-slider{flex:1;min-width:0;height:40px;display:block;position:relative}.dock-zoom-track{pointer-events:none;border-top:2px dotted #68635f;justify-content:space-between;height:2px;display:flex;position:absolute;top:50%;left:14px;right:14px}.dock-zoom-track:before{width:var(--zoom-position);content:"";border-top:2px dotted #fff;position:absolute;top:-2px;left:0}.dock-zoom-track span{background:#aaa5a1;border-radius:50%;flex:none;width:4px;height:4px;position:relative;transform:translateY(-3px)}.dock-zoom-track span:first-child{background:#fff}.dock-zoom-control input{appearance:none;cursor:ew-resize;touch-action:none;background:0 0;border:0;width:100%;height:40px;margin:0;padding:0;display:block;position:relative}.dock-zoom-control input::-webkit-slider-runnable-track{background:0 0;height:28px}.dock-zoom-control input::-moz-range-track{background:0 0;height:28px}.dock-zoom-control input::-moz-range-progress{background:0 0}.dock-zoom-control input::-webkit-slider-thumb{appearance:none;background:#fff linear-gradient(90deg,#93908d 0 1.5px,#0000 1.5px 4px,#93908d 4px 5.5px,#0000 5.5px 8px,#93908d 8px 9.5px) 50%/10px 10px no-repeat;border:0;border-radius:50%;width:28px;height:28px}.dock-zoom-control input::-moz-range-thumb{background:#fff linear-gradient(90deg,#93908d 0 1.5px,#0000 1.5px 4px,#93908d 4px 5.5px,#0000 5.5px 8px,#93908d 8px 9.5px) 50%/10px 10px no-repeat;border:0;border-radius:50%;width:28px;height:28px}.dock-zoom-control input:focus-visible{outline-offset:3px;border-radius:20px;outline:2px solid #fff}.dock-zoom-value{font-variant-numeric:tabular-nums;background:#373330;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:13px;display:grid}.lightbox-carousel{z-index:50;touch-action:none;outline:0;position:fixed;inset:0;overflow:hidden}.lightbox-carousel:not(.page-transition){--lightbox-scroll-height:max(100vh, calc(100vh * var(--lightbox-image-scale)));--lightbox-screen-center-y:max(50vh, calc(50vh * var(--lightbox-image-scale)));touch-action:pan-y}.lightbox-carousel:before{background:var(--paper);content:"";pointer-events:none;position:absolute;inset:0}.lightbox-carousel.is-opening:before{animation:lightbox-paper-in var(--lightbox-duration) var(--lightbox-easing) both}.lightbox-carousel.is-closing:before{animation:lightbox-paper-out var(--lightbox-duration) var(--lightbox-easing) both}.lightbox-thumbs{z-index:3;top:50%;left:max(18px,env(safe-area-inset-left));scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;gap:8px;width:68px;max-height:min(72svh,100svh - 148px);padding:4px;display:flex;position:absolute;overflow-y:auto;transform:translateY(-50%)}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumb{cursor:pointer;opacity:0;background:#22201e8f;border:0;border-radius:0;flex:none;width:58px;height:76px;padding:0;transition:opacity .28s,transform .36s cubic-bezier(.22,1,.36,1);display:block;position:relative;overflow:hidden;transform:translate(-24px)}.lightbox-thumb img{object-fit:cover}.lightbox-carousel.is-open .lightbox-thumb{opacity:.58;transition-delay:var(--thumb-enter-delay,0s);transform:translate(0)}.lightbox-carousel.is-open .lightbox-thumb:hover,.lightbox-carousel.is-open .lightbox-thumb:focus-visible,.lightbox-carousel.is-open .lightbox-thumb.is-active{opacity:1}.lightbox-thumb.is-active{cursor:default}.lightbox-carousel.is-open .lightbox-thumb.is-active{transform:translate(5px)}.lightbox-carousel.is-hiding-controls .lightbox-thumb{transition-delay:var(--thumb-exit-delay,0s)}.lightbox-carousel:not(.is-open) .lightbox-thumbs{pointer-events:none}.lightbox-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.lightbox-image-frame{border-radius:0;width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden}.lightbox-carousel.is-opening .lightbox-image-frame{animation:lightbox-frame-in var(--lightbox-duration) var(--lightbox-easing) both}.lightbox-carousel.is-closing .lightbox-image-frame{animation:lightbox-frame-out var(--lightbox-duration) var(--lightbox-easing) both}.lightbox-scroll-viewport{overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;position:absolute;inset:0;overflow:hidden}.lightbox-scroll-viewport::-webkit-scrollbar{display:none}.lightbox-carousel.is-open .lightbox-scroll-viewport{overflow-y:auto}.lightbox-scroll-content{height:var(--lightbox-scroll-height);position:relative}.lightbox-slide{position:absolute;inset:0}.lightbox-slide.is-current.is-next{animation:lightbox-slide-in-next var(--carousel-duration) var(--carousel-easing) both}.lightbox-slide.is-current.is-previous{animation:lightbox-slide-in-previous var(--carousel-duration) var(--carousel-easing) both}.lightbox-slide.is-outgoing.is-next{animation:lightbox-slide-out-next var(--carousel-duration) var(--carousel-easing) both}.lightbox-slide.is-outgoing.is-previous{animation:lightbox-slide-out-previous var(--carousel-duration) var(--carousel-easing) both}.lightbox-image-surface{top:var(--lightbox-screen-center-y,50vh);left:var(--lightbox-screen-center-x,50vw);width:var(--lightbox-screen-width,calc(100vh * var(--lightbox-image-aspect)));height:var(--lightbox-screen-height,100vh);border-radius:0;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.lightbox-carousel:not(.page-transition) .lightbox-image-surface{overflow:visible}.lightbox-carousel.is-opening .lightbox-image-surface{animation:lightbox-surface-in var(--lightbox-duration) var(--lightbox-easing) both}.lightbox-carousel.is-closing .lightbox-image-surface{animation:lightbox-surface-out var(--lightbox-duration) var(--lightbox-easing) both}.lightbox-image{object-fit:contain;object-position:center;transform:scale(var(--lightbox-image-scale));will-change:transform;border-radius:0}.lightbox-carousel.is-open .lightbox-image{transition:transform .18s ease-out}.lightbox-carousel.is-opening .lightbox-image{animation:lightbox-image-in var(--lightbox-duration) var(--lightbox-easing) both}.lightbox-carousel.is-preparing-close .lightbox-image{animation:none}.lightbox-carousel.is-closing .lightbox-image{animation:lightbox-image-out var(--lightbox-duration) var(--lightbox-easing) both}.page-transition .lightbox-image-frame{clip-path:inset(0);will-change:clip-path;width:100%;height:100%}.page-transition.is-opening .lightbox-image-frame{animation-name:page-frame-in}.page-transition.is-closing .lightbox-image-frame{animation-name:page-frame-out}.page-transition .lightbox-image-surface{will-change:transform}.page-transition.is-opening .lightbox-image-surface{animation-name:page-surface-in}.page-transition.is-closing .lightbox-image-surface{animation-name:page-surface-out}.page-transition.is-opening .lightbox-image,.page-transition.is-closing .lightbox-image{animation:none}.page-transition.is-case-slide{z-index:25}.page-transition.is-case-slide:before{content:none}.page-transition.is-case-slide .lightbox-image-frame{background:var(--paper)}.page-transition.is-preparing-slide .lightbox-image-frame{clip-path:var(--case-slide-clip)}.page-transition.is-sliding .lightbox-image-frame{animation:case-slide-reveal var(--carousel-duration) var(--carousel-easing) both}.page-transition.is-sliding .lightbox-image-surface{animation:case-slide-parallax var(--carousel-duration) var(--carousel-easing) both}@keyframes case-slide-reveal{0%{clip-path:var(--case-slide-clip)}to{clip-path:inset(0)}}@keyframes case-slide-parallax{0%{transform:translate(-50%, -50%) translate3d(var(--case-slide-parallax-x), 0, 0)}to{transform:translate(-50%,-50%)translate(0,0)}}@keyframes page-frame-in{0%{clip-path:var(--page-origin-clip)}to{clip-path:inset(0)}}@keyframes page-frame-out{0%{clip-path:inset(0)}to{clip-path:var(--page-origin-clip)}}@keyframes page-surface-in{0%{transform:translate(-50%, -50%) translate3d(var(--page-origin-offset-x), var(--page-origin-offset-y), 0) scale(var(--page-origin-scale))}to{transform:translate(-50%,-50%)translate(0,0)scale(1)}}@keyframes page-surface-out{0%{transform:translate(-50%,-50%)translate(0,0)scale(1)}to{transform:translate(-50%, -50%) translate3d(var(--page-origin-offset-x), var(--page-origin-offset-y), 0) scale(var(--page-origin-scale))}}@keyframes dock-slider-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes lightbox-frame-in{0%{top:var(--lightbox-origin-top);left:var(--lightbox-origin-left);width:var(--lightbox-origin-width);height:var(--lightbox-origin-height)}to{width:100vw;height:100vh;top:0;left:0}}@keyframes lightbox-frame-out{0%{width:100vw;height:100vh;top:0;left:0}to{top:var(--lightbox-origin-top);left:var(--lightbox-origin-left);width:var(--lightbox-origin-width);height:var(--lightbox-origin-height)}}@keyframes lightbox-surface-in{0%{top:var(--lightbox-crop-center-y);left:var(--lightbox-crop-center-x);width:var(--lightbox-crop-width);height:var(--lightbox-crop-height)}to{top:var(--lightbox-screen-center-y,50vh);left:var(--lightbox-screen-center-x,50vw);width:var(--lightbox-screen-width,calc(100vh * var(--lightbox-image-aspect)));height:var(--lightbox-screen-height,100vh)}}@keyframes lightbox-surface-out{0%{top:var(--lightbox-screen-center-y,50vh);left:var(--lightbox-screen-center-x,50vw);width:var(--lightbox-screen-width,calc(100vh * var(--lightbox-image-aspect)));height:var(--lightbox-screen-height,100vh)}to{top:calc(var(--lightbox-crop-center-y) + var(--lightbox-scroll-top,0px));left:var(--lightbox-crop-center-x);width:var(--lightbox-crop-width);height:var(--lightbox-crop-height)}}@keyframes lightbox-paper-in{0%{opacity:0;clip-path:inset(var(--grid-frame-size))}to{opacity:1;clip-path:inset(0)}}@keyframes lightbox-paper-out{0%{opacity:1;clip-path:inset(0)}to{opacity:0;clip-path:inset(var(--grid-frame-size))}}@keyframes lightbox-image-in{0%{transform:scale(1)}to{transform:scale(var(--lightbox-image-scale))}}@keyframes lightbox-image-out{0%{transform:scale(var(--lightbox-image-scale))}to{transform:scale(1)}}@keyframes lightbox-slide-in-next{0%{transform:translate(100vw)}to{transform:translate(0)}}@keyframes lightbox-slide-in-previous{0%{transform:translate(-100vw)}to{transform:translate(0)}}@keyframes lightbox-slide-out-next{0%{transform:translate(0)}to{transform:translate(-100vw)}}@keyframes lightbox-slide-out-previous{0%{transform:translate(0)}to{transform:translate(100vw)}}@keyframes title-in-down{0%{transform:translateY(110%)}to{transform:translateY(0)}}@keyframes title-in-up{0%{transform:translateY(-110%)}to{transform:translateY(0)}}@keyframes title-out-up{0%{transform:translateY(0)}to{transform:translateY(-110%)}}@keyframes title-out-down{0%{transform:translateY(0)}to{transform:translateY(110%)}}@keyframes backdrop-in{0%{opacity:0;transform:scale(1)}to{opacity:1;transform:scale(1.12)}}@keyframes backdrop-out{0%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1.18)}}@keyframes dock-thumbnail-in{0%{opacity:0}to{opacity:1}}@keyframes dock-thumbnail-out{0%{opacity:1}to{opacity:0}}@keyframes float-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.category-sections{width:calc(100vw - 2*var(--grid-frame-size));margin-left:calc(-1*var(--grid-frame-size))}.category-stage{grid-template-columns:repeat(12,minmax(0,1fr));gap:12vh 2%;min-height:0;padding:14vh 2.5% 20vh;scroll-margin-top:0;display:grid}.category-stage .floating-shot,.case-gallery .floating-shot{width:100%;aspect-ratio:var(--shot-aspect);align-self:start;position:relative}.category-stage .floating-shot:nth-of-type(4n+1){grid-column:2/span 2}.category-stage .floating-shot:nth-of-type(4n+2){grid-column:9/span 3;margin-top:12vh}.category-stage .floating-shot:nth-of-type(4n+3){grid-column:4/span 3}.category-stage .floating-shot:nth-of-type(4n){grid-column:9/span 2;margin-top:28vh}.floating-shot.is-project-cover{overflow:visible}.is-project-cover .floating-shot-button{cursor:pointer}.floating-shot-media{position:absolute;inset:0;overflow:hidden}.project-caption{z-index:1;color:var(--ink);opacity:0;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;padding:0;font-size:11px;transition:transform .22s ease-out,opacity .22s ease-out;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateY(6px)}.project-caption svg{flex:none}.is-preview-cover .project-caption,.is-project-cover:hover .project-caption,.is-project-cover:focus-within .project-caption{opacity:1;transform:translateY(0)}.case-study{z-index:4;background:var(--paper);--case-base-title-size:232px;position:relative}.case-topbar{z-index:1;top:18px}.case-topbar p{color:var(--ink)}.case-fixed-statement{z-index:70;mix-blend-mode:difference}.case-fixed-statement p{color:#fff}.case-hero{z-index:3;height:var(--hero-height,clamp(200svh, 100vw / var(--cover-aspect), 240svh));color:#fff;--hero-scroll:0px;--hero-image-y:0px;--hero-shade:0;--title-y:0px;--initial-x:0px;--details-y:0px;--details-opacity:0;position:relative;overflow:hidden}.case-hero-image-plane{position:absolute;inset:0;overflow:hidden}.case-hero-background{object-fit:cover;transform:translateY(var(--hero-image-y))}.case-hero-shade{opacity:var(--hero-shade);pointer-events:none;background:#000;position:absolute;inset:0}.case-hero-scene{z-index:2;width:100%;height:100svh;transform:translateY(var(--hero-scroll));position:absolute;top:0;left:0}.case-hero-head{width:100%;transform:translateY(calc(var(--case-title-base-y,0px) + var(--title-y)));position:absolute;top:26px;left:0}.case-hero-title{width:100%;font-family:var(--display);font-size:var(--case-title-size,var(--case-base-title-size));font-kerning:none;text-align:center;white-space:pre;margin:0;font-weight:400;line-height:1.2;position:relative;overflow:hidden}.case-hero-letter{vertical-align:top;transform:translateY(var(--letter-y,0%));display:inline-block}.case-hero-letter.is-initial{transform:translateX(var(--initial-x))}.case-hero-letter-glyph{display:block}.case-hero-title.is-entry-pending .case-hero-letter-glyph{transform:translateY(110%)}.case-hero-title.is-entering .case-hero-letter-glyph{animation:case-title-enter .6s cubic-bezier(.76, 0, .24, 1) var(--title-entry-delay,0s) both}@keyframes case-title-enter{0%{transform:translateY(110%)}to{transform:translateY(0)}}.case-hero-portrait{z-index:3;top:var(--portrait-top,100svh);width:var(--portrait-width,23.26%);aspect-ratio:var(--cover-aspect);position:absolute;left:50%;transform:translate(-50%)}.case-hero-portrait img{object-fit:cover}.case-introduction,.case-credits{z-index:1;width:23.26%;opacity:var(--details-opacity);transform:translateY(calc(-50% + var(--details-y)));position:absolute;top:50%}.case-introduction{left:9.58%}.case-introduction h2{font-family:var(--display);overflow-wrap:anywhere;margin:0;font-size:36px;font-weight:400}.case-introduction p{max-width:320px;margin:20px 0 0;font-size:12px;line-height:1.5}.case-credits{margin:0;font-size:11px;line-height:1.6;right:9.58%}.case-credits>div{grid-template-columns:1fr 1.6fr;gap:16px;display:grid}.case-credits dt{opacity:.8}.case-credits dd{overflow-wrap:anywhere;text-align:right;text-transform:uppercase;margin:0}.case-gallery{padding:max(112px,8vh) 18px 24vh;position:relative}.case-gallery-initial{z-index:2;color:var(--ink);font-family:var(--display);font-size:var(--case-title-size,var(--case-base-title-size));font-kerning:none;pointer-events:none;line-height:1.2;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.case-gallery-grid{z-index:3;grid-template-columns:repeat(12,minmax(0,1fr));gap:16vh 16px;display:grid;position:relative}.case-gallery .floating-shot:nth-child(4n+1){grid-column:1/span 5}.case-gallery .floating-shot:nth-child(4n+2){grid-column:4/span 8}.case-gallery .floating-shot:nth-child(4n+3){grid-column:7/span 6}.case-gallery .floating-shot:nth-child(4n){grid-column:2/span 5}.case-video{z-index:3;background:var(--paper);padding:0 8% 20vh;position:relative}.case-video video{width:100%;max-height:90vh;display:block}.case-next-stage{z-index:3;height:calc(var(--next-height,100svh)*2);position:relative}.case-next-scene{width:100%;height:var(--next-height,100svh);clip-path:var(--next-clip,inset(100% 26.0417% 0 26.0417%));background:var(--paper);color:#fff;text-decoration:none;display:block;position:sticky;top:0;overflow:hidden}.case-next-image-plane{width:100%;height:var(--next-backdrop-height,clamp(200svh, 100vw / var(--cover-aspect), 240svh));transform:translateY(var(--next-image-y,50svh));position:absolute;top:0;left:0}.case-next-image-plane img{object-fit:cover;border-radius:0}.case-next-content{z-index:1;width:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.case-next-title{width:100%;font-family:var(--display);font-size:var(--next-label-size,var(--case-base-title-size));font-kerning:none;text-align:center;white-space:pre;transform:translateX(var(--next-initial-x,0px));margin:0;font-weight:400;line-height:1.2;overflow:hidden}.case-next-title span{vertical-align:top;transform:translateY(var(--letter-y,100%));display:inline-block}.case-next-title span:first-child{transform:none}.case-next-scene:focus-visible{outline-offset:-8px;outline:2px solid #fff}.page-transition.is-handoff{z-index:25;--case-head-top:26px}.page-transition.is-handoff .lightbox-image-frame{width:100%}.case-handoff-label,.case-handoff-head,.case-slide-head{color:#fff;width:100%;font-family:var(--display);font-kerning:none;text-align:center;white-space:pre;font-weight:400;line-height:1.2;position:absolute;left:0}.case-handoff-label{top:50%;transform:translateY(-50%)}.case-handoff-label>div{overflow:hidden}.case-handoff-label span,.case-handoff-head span,.case-slide-head span{vertical-align:top;display:inline-block}.case-handoff-label span{animation:case-handoff-label-out .45s cubic-bezier(.76, 0, .24, 1) var(--handoff-delay,0s) both}.case-handoff-head{top:var(--case-head-top);animation:.9s cubic-bezier(.76,0,.24,1) .12s both case-handoff-head}.case-handoff-head h2,.case-slide-head h2{font:inherit;font-kerning:none;margin:0;font-size:232px;overflow:hidden}.case-handoff-head span{animation:case-handoff-title-in .6s cubic-bezier(.76, 0, .24, 1) calc(.12s + var(--handoff-delay,0s)) both}.case-slide-head{z-index:1;transform:translateY(var(--case-title-base-y,0px));top:26px}.page-transition.is-preparing-slide .case-slide-head span{transform:translateY(110%)}.page-transition.is-case-slide:not(.is-preparing-slide) .case-slide-head span{animation:case-title-enter .6s cubic-bezier(.76, 0, .24, 1) var(--handoff-delay,0s) both}@keyframes case-handoff-label-out{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes case-handoff-title-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes case-handoff-head{0%{transform:translateY(calc(50vh - 50% - var(--case-head-top)))}to{transform:translateY(var(--case-title-base-y,0px))}}.case-dock{width:min(252px,100vw - 100px);margin-left:-27px}.case-dock.is-expanded{width:min(368px,100vw - 100px)}.case-dock .dock-current-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.case-dock .dock-current-title small{color:#b0a99e;margin-bottom:3px;font-size:9px;font-weight:400;display:block}.case-dock .case-next-progress{font-variant-numeric:tabular-nums;background:#37332e;border:0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:10px;display:grid;transform:none}.case-close,.dock-gallery-close{color:#fff;background:#22201eeb;border:1px solid #ffffff21;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute;top:0;left:calc(100% + 6px)}.dock-gallery-close{cursor:pointer;background:#221f1d;border:0}@media (max-width:1000px){.case-credits{width:30%;right:4%}.case-introduction{left:4%}}@media (max-width:760px){:root{--frame-size:14px;--grid-frame-size:14px;--mobile-dock-bottom:30px}:focus,button:focus,a:focus,.dock-zoom-control input:focus,.case-next-scene:focus{outline:none}.portfolio-frame{padding:0 14px 28px}.topbar{width:min(310px,100vw - 70px);top:34px}.topbar p{font-size:10px}.fixed-category-title{gap:5px;max-width:calc(100vw - 52px)}.fixed-category-title h1{font-size:64px}.fixed-category-title h1.is-long-title{font-size:48px}.fixed-category-count{padding-top:4px;font-size:10px}.category-dock{bottom:var(--mobile-dock-bottom)}.category-stage{flex-direction:column;align-items:stretch;gap:7vh;padding:12vh 12px 18vh;display:flex}.category-stage .floating-shot{flex:none;max-width:calc(100% - 24px)}.category-stage .floating-shot:nth-of-type(n){margin:0}.category-stage .floating-shot:nth-of-type(4n+1){align-self:flex-start;width:39vw}.category-stage .floating-shot:nth-of-type(4n+2){align-self:flex-end;width:34vw}.category-stage .floating-shot:nth-of-type(4n+3){align-self:flex-start;width:44vw}.category-stage .floating-shot:nth-of-type(4n){align-self:flex-end;width:36vw}.case-study{--case-base-title-size:100px}.case-topbar{top:18px}.case-hero{height:var(--hero-height,200svh)}.case-hero-image-plane{height:100svh;transform:translateY(var(--hero-scroll));bottom:auto}.case-hero-head,.case-slide-head{--case-title-base-y:calc(50svh - 50% - 50px);top:50px}.case-introduction{width:42%;top:80%;left:20px}.case-introduction h2{font-size:26px}.case-introduction p{margin-top:12px;font-size:10px}.case-credits{width:42%;font-size:9px;top:80%;right:20px}.case-credits>div{grid-template-columns:1fr;gap:0;margin-bottom:8px}.case-credits dd{text-align:left}.case-gallery{padding:8vh 12px 18vh}.case-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12vh 8px}.case-gallery .floating-shot:nth-child(odd){grid-column:1/span 5}.case-gallery .floating-shot:nth-child(2n){grid-column:2/span 5}.case-next-image-plane{height:var(--next-backdrop-height,100svh)}.page-transition.is-handoff{--case-head-top:50px;--case-title-base-y:calc(50svh - 50% - 50px)}.case-handoff-head h2{font-size:100px}.case-slide-head{top:50px}.case-slide-head h2{font-size:100px}.case-video{padding:0 12px 18vh}.lightbox-thumbs{top:74px;bottom:calc(var(--mobile-dock-bottom) + 68px);left:max(10px,env(safe-area-inset-left));width:48px;max-height:none;transform:none}.lightbox-thumb{width:40px;height:54px}.lightbox-carousel.is-open .lightbox-thumb.is-active{transform:translate(3px)}}@media (max-width:360px){.fixed-category-title h1{font-size:54px}.fixed-category-title h1.is-long-title{font-size:40px}}@media (prefers-reduced-motion:reduce){.lightbox-thumb{transition-delay:0s!important}.case-hero-title.is-entry-pending .case-hero-letter-glyph{transform:none}.case-hero-title.is-entering .case-hero-letter-glyph{animation-delay:0s}.case-gallery-initial{display:none}.case-next-stage{height:var(--next-height,100svh)}.case-hero-head{transform:translateY(var(--case-title-base-y,0px))}.case-hero-scene,.case-hero-letter,.case-hero-letter.is-initial,.case-hero-image-plane{transform:none}.case-introduction,.case-credits{opacity:1;transform:translateY(-50%)}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
