:root{--black:#0a0506;--char:#151011;--red:#c4182b;--dred:#6b1220;--white:#f6f1ea;--bone:#efe9df;--green:#3f6b2f;--gold:#e3b05a;--ink:#1c1514}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--bone);color:var(--ink);font-family:Outfit,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--black);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .8s .2s,visibility 0s 1s}.loader.gone{opacity:0;visibility:hidden;pointer-events:none}.loader-num{font:400 clamp(72px,16vw,180px)/1 "Anton",sans-serif;color:var(--red)}.loader-bar{width:min(320px,60vw);height:2px;background:#fff2}.loader-bar i{display:block;height:100%;background:var(--white);transform-origin:left;transition:transform .3s}.loader p{margin:0;font-size:13px;letter-spacing:.12em;opacity:.6}.nav{position:fixed;z-index:50;top:calc(14px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;gap:4px;padding:6px;border-radius:999px;background:#120a0b6b;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid #ffffff1f}.nav a{color:var(--white);text-decoration:none;font-size:13px;letter-spacing:.06em;padding:8px 16px;border-radius:999px;transition:background .3s}.nav a:hover{background:#ffffff1a}.nav a.on{background:var(--white);color:var(--black)}@media (max-width:480px){.nav a{padding:8px 11px;font-size:12px}}.hero{position:relative;height:600vh;background:var(--black)}.stage{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden}.bigtype{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font:400 clamp(90px,22vw,330px)/.86 "Anton",sans-serif;color:transparent;-webkit-text-stroke:2px rgba(246,241,234,.9);pointer-events:none;will-change:transform}.bigtype span{display:block;white-space:nowrap}.bigtype .l2{font-size:.5em;-webkit-text-stroke-color:var(--red);letter-spacing:.2em}canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,#000000a0 100%)}.chap{position:absolute;left:clamp(20px,5vw,72px);bottom:clamp(60px,12vh,120px);color:var(--white);pointer-events:none}.chap h1{margin:0;font:600 clamp(28px,4vw,52px)/1 "Fraunces",serif;letter-spacing:-.01em}.chap p{margin:10px 0 0;font-size:clamp(14px,1.4vw,18px);opacity:.8}.chap-2{opacity:0;left:50%;bottom:50%;transform:translate(-50%,50%);text-align:center;color:var(--white);text-shadow:0 2px 30px #000}.chap-2 .serif{margin:0;font:italic 300 clamp(40px,7vw,104px)/.98 "Fraunces",serif;opacity:1}.cue{position:absolute;right:clamp(20px,5vw,72px);bottom:clamp(60px,12vh,120px);color:var(--white);font-size:12px;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}.cue:after{content:"";width:1px;height:60px;background:var(--white);transform-origin:top;animation:cue 1.8s infinite}@keyframes cue{0%{transform:scaleY(0)}60%{transform:scaleY(1)}to{transform:scaleY(1);opacity:0}}.haze{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;background:linear-gradient(transparent 30%,var(--bone) 100%)}.fallback{min-height:100vh;background:var(--dred);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:80px 24px;text-align:center}.fallback img{max-height:55vh;border-radius:6px}.works{background:var(--bone);padding:clamp(60px,10vw,140px) clamp(16px,5vw,72px)}.works-head{max-width:1300px;margin:0 auto clamp(40px,6vw,80px);display:grid;gap:18px}.works h2,.about h2,.contact h2{margin:0;font:600 clamp(72px,17vw,260px)/.82 "Fraunces",serif;letter-spacing:-.04em;color:var(--black)}.works-head p{max-width:34ch;margin:0;font-size:clamp(16px,1.6vw,20px);line-height:1.5}.works-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,44px) clamp(16px,2vw,32px);perspective:1400px}.card{--rx:0;--ry:0;--px:0;--py:0;grid-column:span 12;background:var(--char);color:var(--white);border-radius:4px;overflow:hidden;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;box-shadow:0 18px 40px -22px #1c151299;will-change:transform}.card{cursor:pointer;-webkit-tap-highlight-color:transparent}.card:hover,.card:focus-visible{box-shadow:0 40px 70px -30px #6b1220cc}@media (min-width:900px){.c0{grid-column:1/9}.c1{grid-column:9/13;align-self:end}.c2{grid-column:1/6}.c3{grid-column:6/13;margin-top:clamp(0px,6vw,90px)}.c0:last-child,.c2:last-child{grid-column:1/-1}.c2:last-child .card-img{aspect-ratio:16/10}}.card-img{position:relative;aspect-ratio:16/10;overflow:hidden}.c1 .card-img,.c2 .card-img{aspect-ratio:4/5}.card-art{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;background:linear-gradient(135deg,var(--a),var(--b));background-size:cover;background-position:center;transform:translate3d(var(--px),var(--py),0) scale(1);transition:transform .9s cubic-bezier(.2,.8,.2,1);display:flex;align-items:flex-end;padding:8%}.card:hover .card-art,.card:focus-visible .card-art{transform:translate3d(var(--px),var(--py),0) scale(1.1)}.art-no{font:400 clamp(48px,9vw,140px)/.9 "Anton",sans-serif;color:#ffffff26;text-transform:uppercase;mix-blend-mode:overlay}.card-year{position:absolute;top:14px;right:16px;font-size:13px;letter-spacing:.1em;background:#0a0506aa;padding:5px 11px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card-body{padding:clamp(18px,2.4vw,30px)}.card h3{margin:0;font:600 clamp(26px,3.2vw,44px)/1.02 "Fraunces",serif;letter-spacing:-.015em}.card h3 .word{display:inline-block;margin-right:.28em;overflow:hidden;vertical-align:top}.card h3 .word span{display:inline-block;transition:transform .5s cubic-bezier(.2,.8,.2,1) var(--d),color .3s var(--d)}.card:hover h3 .word span,.card:focus-visible h3 .word span{transform:translateY(-6%) skew(-6deg);color:var(--gold)}.card-cat{margin:12px 0 0;font-size:14px;color:var(--gold)}.card-blurb{margin:8px 0 0;font-size:15px;line-height:1.5;opacity:.75;max-width:46ch}.card-more{margin:18px 0 0;display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--white);opacity:.7;transition:opacity .3s,color .3s}.card-more svg{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.card:hover .card-more,.card:focus-visible .card-more{opacity:1;color:var(--gold)}.card:hover .card-more svg,.card:focus-visible .card-more svg{transform:translate(6px)}.about,.contact{background:var(--bone);padding:clamp(60px,9vw,120px) clamp(16px,5vw,72px);max-width:none}.about{background:var(--char);color:var(--white)}.about h2{color:var(--red);font-size:clamp(56px,11vw,160px)}.about p{max-width:52ch;font-size:clamp(17px,1.8vw,22px);line-height:1.6;margin:24px 0 0}.contact{text-align:left}.contact h2{font-size:clamp(56px,11vw,160px)}.contact a{display:inline-block;margin-top:24px;font:italic 300 clamp(22px,4vw,48px)/1.1 "Fraunces",serif;text-decoration-color:var(--red);text-underline-offset:8px}.contact small{display:block;margin-top:40px;opacity:.5}.pv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--black);color:var(--white);overflow-x:hidden;overflow-y:scroll;overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;outline:none;will-change:clip-path}.pv-inner{position:relative;min-height:100%;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.pv-inner:before{content:"";position:absolute;inset:0 0 auto 0;height:min(100vh,900px);background:radial-gradient(80% 90% at 8% 0%,var(--a) 0%,transparent 70%);opacity:.55;pointer-events:none}.pv-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top,0px)) clamp(16px,5vw,72px) 14px}.pv-back{display:inline-flex;align-items:center;gap:12px;padding:12px 22px 12px 18px;border:0;border-radius:999px;background:var(--white);color:var(--black);font:600 13px/1 Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 30px -12px #000;transition:background .3s,transform .4s cubic-bezier(.2,.8,.2,1)}.pv-back svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.pv-back:hover{background:var(--gold)}.pv-back:hover svg{transform:translate(-5px)}.pv-esc{font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border:1px solid #ffffff33;border-radius:6px;opacity:.55}@media (hover:none){.pv-esc{display:none}}.pv-head{position:relative;max-width:1800px;margin:0 auto;padding:clamp(28px,6vw,90px) clamp(16px,5vw,72px) clamp(36px,6vw,80px)}.pv-kicker{display:flex;align-items:center;gap:14px;margin:0 0 clamp(14px,2vw,26px);font-size:14px;letter-spacing:.08em;color:var(--gold)}.pv-kicker i{width:34px;height:1px;background:currentColor;opacity:.6}.pv-title{margin:0;font:600 clamp(56px,13vw,220px)/.86 "Fraunces",serif;letter-spacing:-.04em;color:var(--white)}.pv-w{display:inline-block;overflow:hidden;vertical-align:top;margin-right:.22em;padding:0 .04em .12em}.pv-w>span{display:inline-block;animation:pvRise 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(.45s + var(--i) * 90ms)}.pv-kicker,.pv-intro{animation:pvFade .9s .65s both}.pv-grid{animation:pvFade 1s .8s both}.pv-intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px;margin-top:clamp(22px,3vw,40px)}.pv-desc{max-width:52ch;margin:0;font-size:clamp(17px,1.8vw,22px);line-height:1.6;opacity:.85}.pv-n{margin:0;font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.55}@keyframes pvRise{0%{transform:translateY(105%)}to{transform:none}}@keyframes pvFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.pv.leaving .pv-inner{opacity:0;transition:opacity .25s}.pv-grid{position:relative;display:flex;align-items:flex-start;gap:clamp(12px,1.6vw,24px);max-width:1800px;margin:0 auto;padding:0 clamp(16px,5vw,72px)}.pv-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:clamp(12px,1.6vw,24px)}.pv-tile{position:relative;margin:0;overflow:hidden;border-radius:4px;background:var(--char)}.pv-tile.loading{background:linear-gradient(110deg,var(--char) 30%,#261b1c 50%,var(--char) 70%) 0 0/200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.pv-tile button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in;-webkit-tap-highlight-color:transparent}.pv-tile img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .8s,transform 1.2s cubic-bezier(.2,.8,.2,1)}.pv-tile.ready img{opacity:1;transform:none}.pv-tile.ready button:hover img,.pv-tile.ready button:focus-visible img{transform:scale(1.035)}.pv-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 14px;font-size:14px;line-height:1.4;background:linear-gradient(transparent,#000000b0);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}.pv-tile:hover figcaption,.pv-tile:focus-within figcaption{opacity:1;transform:none}@media (hover:none){.pv-tile figcaption{opacity:1;transform:none}}.pv-missing{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:6px;padding:16px;text-align:center;font-size:13px;opacity:.6;border:1px dashed #ffffff44;border-radius:4px;pointer-events:none}.pv-missing code,.pv-empty code,.lb-err code{font-size:12px;color:var(--gold);word-break:break-all}.pv-empty{position:relative;max-width:52ch;margin:0 auto;padding:40px clamp(16px,5vw,72px) 80px;font-size:17px;line-height:1.8;opacity:.8;text-align:center}.pv-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1800px;margin:clamp(40px,6vw,90px) auto 0;padding:0 clamp(16px,5vw,72px)}.pv-top{border:0;background:none;color:var(--white);font:400 13px Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.6;cursor:pointer;padding:12px 4px;transition:opacity .3s}.pv-top:hover{opacity:1}.lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#060304f7;color:var(--white);touch-action:none;animation:lbIn .3s both}.lb.out{animation:lbOut .22s both}@keyframes lbIn{0%{opacity:0}to{opacity:1}}@keyframes lbOut{to{opacity:0}}.lb-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(12px + env(safe-area-inset-top,0px)) calc(clamp(12px,3vw,32px) + env(safe-area-inset-right,0px)) 8px calc(clamp(16px,3vw,36px) + env(safe-area-inset-left,0px))}.lb-count{margin:0;display:flex;align-items:baseline;gap:2px;font-size:14px;letter-spacing:.1em;min-width:0}.lb-count b{font:400 26px/1 Anton,sans-serif;letter-spacing:.04em;color:var(--red)}.lb-count span{opacity:.55}.lb-count em{margin-left:16px;font:italic 300 16px Fraunces,serif;letter-spacing:0;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:520px){.lb-count em{display:none}}.lb-tools{display:flex;gap:8px}.lb-btn,.lb-nav{display:grid;place-items:center;border:1px solid #ffffff26;background:#ffffff14;color:var(--white);border-radius:50%;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .3s,transform .4s cubic-bezier(.2,.8,.2,1)}.lb-btn{width:44px;height:44px}.lb-btn:hover,.lb-nav:hover{background:#ffffff30}.lb-x:hover{transform:rotate(90deg)}.lb-stage{position:relative;min-height:0;overflow:hidden}.lb-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:0 clamp(8px,7vw,110px);will-change:transform}.lb-wrap img{width:100%;height:100%;max-width:calc(var(--nw,99999) * 2px);max-height:calc(var(--nh,99999) * 2px);object-fit:contain;opacity:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.lb-wrap img.on{animation:lbSlide .5s cubic-bezier(.2,.8,.2,1) both}@keyframes lbSlide{0%{opacity:0;transform:translate3d(var(--from,0px),0,0) scale(.985)}to{opacity:1;transform:none}}.lb-spin{position:absolute;width:34px;height:34px;border-radius:50%;border:2px solid #ffffff2a;border-top-color:var(--white);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lb-err{text-align:center;font-size:14px;opacity:.7;line-height:1.7}.lb-nav{position:absolute;top:50%;width:56px;height:56px;margin-top:-28px;z-index:2}.lb-nav.prev{left:clamp(8px,2vw,28px)}.lb-nav.next{right:clamp(8px,2vw,28px)}.lb-nav.prev:hover{transform:translate(-3px)}.lb-nav.next:hover{transform:translate(3px)}@media (max-width:640px){.lb-nav{width:44px;height:44px;margin-top:-22px;background:#0006}}.lb-cap{min-height:calc(54px + env(safe-area-inset-bottom,0px));padding:10px 24px calc(14px + env(safe-area-inset-bottom,0px));text-align:center}.lb-cap p{margin:0 auto;max-width:70ch;font-size:clamp(14px,1.3vw,17px);line-height:1.5;opacity:.85;animation:pvFade .5s .1s both}@media (prefers-reduced-motion:reduce){.card,.card-art,.card h3 .word span,.card-more svg{transition:none}.cue:after{animation:none}.pv{scroll-behavior:auto}.pv-w>span,.pv-kicker,.pv-intro,.pv-grid,.lb,.lb.out,.lb-wrap img.on,.lb-cap p{animation-duration:.01ms!important;animation-delay:0s!important}.pv-tile img,.pv-tile figcaption,.lb-btn,.lb-nav,.pv-back,.pv-back svg{transition:none}.pv-tile.loading{animation:none}}
