:root{--paper:#f8f8f5;--ink:#11110f;--muted:#686862;--line:#d7d7d1}*{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}figure,h1,h2,h3,p{margin:0}.frame{width:min(1380px,calc(100% - 48px));margin-inline:auto}.hero{min-height:100svh;padding:36px 0 48px;display:grid;grid-template-rows:auto 1fr;grid-gap:34px;gap:34px}.hero h1{font-size:clamp(4.2rem,12.8vw,12.8rem);line-height:.78;font-weight:500;letter-spacing:-.085em;text-transform:uppercase;white-space:nowrap}.heroGrid{display:grid;grid-template-columns:1fr .58fr .72fr;grid-gap:18px;gap:18px;min-height:390px;align-items:end}.portrait{position:relative;overflow:hidden;background:#ddd}.portrait img{object-fit:cover;filter:saturate(.82) contrast(1.03);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.portrait:hover img{transform:scale(1.025)}.portraitMain{height:min(56vh,630px)}.portraitMain img{object-position:center 34%}.portraitPair{height:min(46vh,520px);display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.portraitPair .portrait{height:74%;align-self:start}.portraitPair .portraitLower{align-self:end}.introCopy{align-self:center;padding:0 6px}.caption,.introCopy span,.projectMeta small,.projectMeta span,.sectionHeading span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.introCopy small,.introCopy span,.projectMeta small,.projectMeta span{color:var(--muted)}.introCopy p{max-width:24ch;margin:18px 0 58px;font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.35;letter-spacing:-.025em}.editorialIntro{position:relative;width:100vw;overflow:hidden;background:#fff}.heroBoard{display:block;width:100%;height:auto}.introContact{position:absolute;z-index:2;top:2.4vw;right:3.1vw;color:#000}.introContactLinks{display:flex;align-items:center;gap:clamp(9px,.8vw,16px)}.introContactLinks a{width:clamp(38px,3.15vw,60px);aspect-ratio:1;display:grid;place-items:center;color:#000;transition:opacity .2s ease,transform .2s ease}.introContactLinks a:focus-visible,.introContactLinks a:hover{opacity:.55;transform:translateY(-2px)}.introContactLinks a:focus-visible{outline:1px solid #000;outline-offset:4px}.introContactLinks svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6}.introContactLinks .iconFill{fill:currentColor;stroke:none}.bagSection,.projectsSection{padding:80px 0 96px}.sectionHeading{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin-bottom:36px}.sectionHeading h2{font-size:clamp(2.8rem,6vw,6rem);line-height:.9;font-weight:500;letter-spacing:-.07em}.bagComposition{padding:clamp(8px,1.4vw,20px);background:#0c0c0c}.bagComposition img{display:block;width:100%;height:auto}.caption{display:flex;justify-content:space-between;gap:20px;margin-top:14px;color:var(--muted)}.projectGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:70px 18px;gap:70px 18px}.projectImage{position:relative;aspect-ratio:4/5;overflow:hidden;background:#ddd}.projectImage img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project:hover .projectImage img{transform:scale(1.025)}.projectMeta{display:grid;grid-template-columns:38px 1fr auto;align-items:baseline;grid-gap:14px;gap:14px;padding-top:14px;border-top:1px solid var(--ink)}.projectMeta h3{font-size:clamp(1.35rem,2.4vw,2.6rem);font-weight:500;letter-spacing:-.05em}.animatedBag{height:280vh;background:#fff}.animatedBagSticky{position:-webkit-sticky;position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr);padding:0 0 18px}.libraryHeader h2{font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:2.6cqw;line-height:.88;font-weight:400;letter-spacing:-.02em;text-transform:uppercase}.bagCanvas{position:relative;width:min(calc(100vw - 16px),calc((100svh - 10px) * 1.78));aspect-ratio:1.78;container-type:inline-size;flex-shrink:0;align-self:start;margin:0 auto;background:#fff}.bagTitle{position:absolute;z-index:10;left:3%;top:3%;margin:0;color:var(--ink);font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-weight:400;line-height:.88;letter-spacing:-.02em;text-transform:uppercase;font-size:2.6cqw}.bagAnchor{position:absolute;z-index:7;left:23%;top:49.5%;width:65%;aspect-ratio:2934/2344;translate:-50% -50%;transform-origin:center;will-change:transform}.bagAnchor img,.bagPiece img{object-fit:contain}.bagItemZoom{position:absolute;inset:0;transition:transform .36s cubic-bezier(.22,.61,.36,1);outline-offset:5px}.bagItemZoom.isHovered,.bagItemZoom:focus-visible{transform:scale(1.08)}.bagItemZoom:focus-visible{outline:1px solid var(--muted)}.bagCanvas.hasOpenable{cursor:pointer}.bagAnchor,.bagPiece{pointer-events:none}.bagPiece{position:absolute;z-index:5;translate:-50% -50%;transform-origin:center;will-change:transform,opacity}.bagProgress{position:absolute;z-index:30;right:14px;top:18%;bottom:18%;width:2px;background:rgba(0,0,0,.14)}.bagProgress span{display:block;width:100%;height:100%;background:var(--ink);transform-origin:top}.projectLibrary{--canvas-w:min(calc(100vw - 16px),calc((100svh - 10px) * 1.78));height:470vh;background:#fff;color:var(--ink);border-color:var(--line)}.librarySticky{position:-webkit-sticky;position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:28px 0 24px;perspective:1600px}.libraryHeader{display:flex;align-items:baseline;justify-content:space-between;gap:20px;z-index:5}.libraryFooter,.libraryHeader{width:var(--canvas-w);justify-self:start;margin-inline:calc((100vw - var(--canvas-w)) / 2) 0;padding-left:calc(var(--canvas-w) * .02);padding-right:0}.libraryHeader h2{white-space:nowrap}.libraryViewport{position:relative;overflow:visible}.booksTrack,.libraryViewport{display:flex;align-items:center}.booksTrack{gap:clamp(12px,1.6vw,24px);width:max-content;padding:0 16vw;transform-style:preserve-3d;will-change:transform}.bookSlot{--book-w:clamp(220px,25vw,350px);--book-h:calc(var(--book-w) * 1.28);--book-d:clamp(30px,3.8vw,54px);width:var(--book-w);height:var(--book-h);perspective:1300px;flex:none}.bookSolid{position:relative;left:50%;margin-left:calc(var(--book-w) / -2);width:var(--book-w);height:100%;transform-style:preserve-3d;will-change:transform}.bookCover{color:#fff;cursor:pointer}.bookCover:focus-visible{outline:2px solid #fff;outline-offset:-2px}.bookFace{position:absolute;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.bookBack,.bookCover{inset:0;transform:translateZ(calc(var(--book-d) / 2));background:var(--paper);box-shadow:0 22px 50px rgba(17,17,15,.16)}.bookCover img{object-fit:cover}.bookCoverShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,15,.05) 35%,rgba(17,17,15,.82))}.bookCover h3,.bookCover small,.bookCover span{position:absolute;z-index:2;left:18px;right:18px}.bookCover span{top:17px;font-size:.68rem;letter-spacing:.15em}.bookCover h3{bottom:40px;font-size:clamp(1.4rem,2.5vw,2.5rem);line-height:.9;font-weight:500;letter-spacing:-.06em}.bookCover small{bottom:17px;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#ecebe6}.bookBack{transform:rotateY(180deg) translateZ(calc(var(--book-d) / 2));background:var(--paper);border:1px solid var(--line)}.bookEdge,.bookSpine{left:50%;top:0;width:var(--book-d);height:100%;margin-left:calc(var(--book-d) / -2);background:var(--paper)}.bookSpine{transform:rotateY(-90deg) translateZ(calc(var(--book-w) / 2));background:var(--ink)}.bookSpine span{position:absolute;top:22px;left:50%;writing-mode:vertical-rl;font-size:.6rem;text-transform:uppercase;letter-spacing:.13em;color:var(--line)}.bookEdge{transform:rotateY(90deg) translateZ(calc(var(--book-w) / 2));background:repeating-linear-gradient(90deg,var(--line) 0 2px,#ecece6 2px 3px)}.bookBottom,.bookTop{left:0;top:50%;width:100%;height:var(--book-d);margin-top:calc(var(--book-d) / -2);background:repeating-linear-gradient(0deg,var(--line) 0 2px,#ecece6 2px 3px)}.bookTop{transform:rotateX(90deg) translateZ(calc(var(--book-h) / 2))}.bookBottom{transform:rotateX(-90deg) translateZ(calc(var(--book-h) / 2))}.libraryFooter{display:flex;justify-content:space-between;gap:20px;z-index:4;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.libraryProgress{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--ink);transform-origin:0 50%}.bagLightboxStage{will-change:transform,opacity;position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:auto;max-width:96vw;max-height:96vh}.bagLightboxClose{position:absolute;z-index:10;top:10px;right:10px;width:38px;height:38px;display:grid;place-items:center;border:1px solid hsla(0,0%,100%,.32);border-radius:999px;background:rgba(10,10,9,.55);color:#fff;font-size:.85rem;transition:background .2s ease,color .2s ease}.bagLightboxClose:focus-visible,.bagLightboxClose:hover{background:#fff;color:#0a0a09}.bagLightboxImage{transform:translateZ(0);position:relative;width:min(calc(100vw - 48px),calc(88vh * var(--ratio)));aspect-ratio:var(--ratio);filter:drop-shadow(0 30px 60px rgba(0,0,0,.55))}.bagLightboxImage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.bagLightboxLabel{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#ecebe6}.projectOverlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(17,17,15,.5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.projectModal{position:relative;width:min(calc(100vw - 48px),calc(72svh * var(--shot)));max-width:calc(100vw - 48px);max-height:94vh;display:grid;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);background:var(--paper);box-shadow:0 50px 120px rgba(0,0,0,.35)}.projectModalClose{position:absolute;z-index:10;top:16px;right:16px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:.85rem;transition:background .2s ease,color .2s ease}.projectModalClose:focus-visible,.projectModalClose:hover{background:var(--ink);color:var(--paper)}.projectModalMain{position:relative;width:100%;aspect-ratio:var(--shot);background:#e8e8e5 var(--placeholder) center /contain no-repeat;overflow:hidden}.bookCoverImg,.shotImg{position:absolute;inset:0;width:100%;height:100%}.bookCoverImg{object-fit:cover}.projectModalMain img{object-fit:contain}.shotArrow{position:absolute;z-index:2;top:0;bottom:0;width:72px;display:grid;place-items:center;padding:0;border:0;background:none;color:#fff;opacity:.7;transition:opacity .2s cubic-bezier(.2,.8,.2,1)}.shotArrow.isPrev{left:0}.shotArrow.isNext{right:0}.shotArrow:focus-visible,.shotArrow:hover{opacity:1}.shotArrow:focus-visible{outline:none}.shotArrow:focus-visible svg{outline:1px solid #fff;outline-offset:4px}.shotArrow svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));transition:transform .2s cubic-bezier(.2,.8,.2,1)}.shotArrow.isPrev:hover svg{transform:translateX(-3px)}.shotArrow.isNext:hover svg{transform:translateX(3px)}.shotVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.shotSound{position:absolute;z-index:2;right:12px;bottom:12px;width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);transition:background .2s ease,color .2s ease}.shotSound:focus-visible,.shotSound:hover{background:var(--ink);color:var(--paper)}.shotSound svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.projectModalFoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:14px 18px;border-top:1px solid var(--line)}.projectModalTitle{display:flex;align-items:baseline;gap:14px}.projectModalTitle span{font-size:.68rem;color:var(--muted)}.projectModalTitle h3{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:500;letter-spacing:-.03em}footer{min-height:250px;padding:42px 0 28px;display:grid;align-content:space-between}.footerTop{display:flex;justify-content:space-between;gap:24px}.footerTop>p{font-size:clamp(2.7rem,6.5vw,6rem);line-height:.9;letter-spacing:-.07em}.footerTop>div{display:flex;align-items:center;gap:22px;font-size:.75rem;text-transform:uppercase;letter-spacing:.09em}.socialIcon{display:flex;color:var(--ink);transition:opacity .2s ease}.socialIcon:focus-visible,.socialIcon:hover{opacity:.6}.footerBottom{display:flex;justify-content:space-between;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.footerBottom a{color:inherit}.footerBottom a:focus-visible,.footerBottom a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}@media (max-width:1024px) and (max-height:600px),(max-width:1024px) and (pointer:coarse),(max-width:760px){.frame{width:calc(100% - 24px)}.hero{min-height:auto;padding:28px 0 54px;gap:28px}.hero h1{font-size:clamp(3.1rem,18.1vw,7rem);line-height:.84;white-space:normal}.heroGrid{grid-template-columns:1fr 1fr;min-height:0}.portraitMain,.portraitPair{height:62vw}.introCopy{grid-column:1/-1;grid-row:2;padding:12px 0 0}.introCopy p{max-width:30ch;margin:16px 0 28px}.bagSection,.projectsSection{padding:56px 0 68px}.sectionHeading{margin-bottom:24px}.bagComposition{margin-inline:-12px}.caption span:last-child{display:none}.projectGrid{grid-template-columns:1fr;gap:52px}.projectMeta{grid-template-columns:32px 1fr}.projectMeta small{grid-column:2}.animatedBag{height:auto}.animatedBagSticky{position:static;height:auto;min-height:0;padding:0}.libraryHeader h2{font-size:2.6vw}.projectOverlay{padding:12px}.projectModal{width:min(calc(100vw - 24px),calc(62svh * var(--shot)));max-width:calc(100vw - 24px)}.bagOverlay{padding:16px}.bagLightboxImage{width:min(calc(100vw - 32px),calc(78svh * var(--ratio)))}.bagCanvas{width:calc(100vw - 16px);aspect-ratio:1.78}.bagAnchor{width:65%}.bagTitle{top:3%;font-size:2.6cqw}.projectLibrary{--canvas-w:calc(100vw - 16px);height:auto}.libraryHeader{padding-top:8px;padding-left:calc(var(--canvas-w) * .03)}.libraryViewport{align-items:flex-start;padding:18px 0 14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.libraryViewport::-webkit-scrollbar{display:none}.libraryFooter,.libraryProgress{display:none}.librarySticky{position:static;min-height:0;height:auto;grid-template-rows:auto auto;padding:0}.bookSlot{--book-w:min(52vw,230px);--book-d:clamp(20px,5.5vw,28px);width:var(--book-w)!important}.bookSolid{transform:rotateX(5deg) rotateY(12deg)!important}.bookSlot{scroll-snap-align:center;scroll-snap-stop:always}.booksTrack{gap:3vw;padding-inline:24vw;transform:none!important;will-change:auto}.bookCover span{top:12px;left:13px;right:13px;font-size:.58rem}.bookCover h3{left:13px;right:13px;bottom:30px;font-size:clamp(1rem,4.8vw,1.3rem)}.bookCover small{left:13px;right:13px;bottom:12px;font-size:.52rem}footer{min-height:225px}.footerTop{flex-direction:column}.footerTop>div{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important}}.mobileProjectGallery{display:none}.projectOverlay{height:100dvh;grid-template-rows:minmax(0,1fr);overscroll-behavior:contain}.bagLightboxStage{max-height:100%;min-height:0}.bagLightboxImage{width:min(calc(100vw - 48px),calc((100dvh - 100px) * var(--ratio)))}@media (max-width:1024px) and (max-height:600px),(max-width:1024px) and (pointer:coarse),(max-width:760px){.bagTitle,.libraryHeader h2{font-size:1.25rem;line-height:1.1}.bagTitle{top:auto;bottom:100%;margin-bottom:12px}.bagCanvas{margin-top:64px}.libraryHeader{padding-block:16px 0}.introContact{top:0;right:4px}.introContactLinks{gap:0}.introContactLinks a{width:44px;height:44px}.introContactLinks svg{width:20px;height:20px}.socialIcon{width:44px;height:44px;align-items:center;justify-content:center}.socialIcon svg{width:20px;height:20px}.bookSlot{--book-w:min(52vw,230px,62svh)}.bookCover h3{font-size:1.125rem;line-height:1.1;overflow-wrap:anywhere}.footerTop>p{font-size:2.7rem}.projectOverlay{padding:0}.projectModal{width:100%;max-width:none;height:100dvh;min-height:0;max-height:100dvh;display:block;background:#11110f}.projectModal>.projectModalMain,.projectModalFoot{display:none}.projectModalClose{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px}.mobileProjectGallery{display:block;height:100%;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory}.mobileProjectSlide{height:100%;scroll-snap-align:start;scroll-snap-stop:always;display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:max(64px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.mobileProjectImage{position:relative;min-height:0}.mobileProjectImage img{object-fit:contain}.mobileProjectSlide figcaption{color:#fff;font-size:.875rem;line-height:1.3;text-align:center}.projectScrollHint{display:inline-block;margin-left:10px;font-size:1.125rem;line-height:1;vertical-align:middle;opacity:.75}.bagOverlay{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.bagLightboxImage{width:min(calc(100vw - 48px),calc((100dvh - 100px) * var(--ratio)))}.bagLightboxClose{width:44px;height:44px}}