:root{--ink:#111;--paper:#fff;--grey-1:#7a7a7a;--grey-2:#b0b0b0;--hair:#ececec;--mg:clamp(8px, .9vw, 16px);--gap:clamp(16px, 2.2vw, 32px);--edge:clamp(24px, 6vw, 120px);--ease:cubic-bezier(.22, 1, .36, 1);--block:clamp(56px, 9vh, 130px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Instrument Sans,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}img{max-width:100%;display:block}a{color:inherit}.reveal{opacity:0;transform:translateY(30px)}.reveal.in{animation:rise .9s var(--ease) forwards}@keyframes rise{to{opacity:1;transform:translateY(0)}}.topbar{padding:clamp(20px,2.6vh,32px) var(--edge);z-index:20;backdrop-filter:saturate(180%)blur(16px);transition:border-color .4s var(--ease);background:#ffffffd1;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;font-size:14px;font-weight:500;display:flex;position:sticky;top:0}.topbar.stuck{border-color:var(--hair)}.topbar a{text-decoration:none}.topbar .back{color:var(--grey-1);align-items:center;gap:8px;display:inline-flex}.topbar .back svg{width:16px;height:16px}.topbar .back:hover{color:var(--ink)}.topbar .avail{color:var(--grey-1);align-items:center;gap:9px;font-weight:400;display:inline-flex}.topbar .avail svg{width:15px;height:15px;display:block}.topbar .avail svg *{stroke:var(--grey-1)}.hero{padding:clamp(80px,16vh,180px) var(--edge) clamp(72px,12vh,140px)}.hero h1{letter-spacing:-.03em;font-size:clamp(40px,7vw,100px);font-weight:500;line-height:.98}.hero h1 .muted{color:var(--grey-2)}.hero .bio{color:var(--grey-1);max-width:68ch;margin-top:clamp(32px,5vh,52px);font-size:clamp(16px,1.55vw,20px);font-weight:400;line-height:1.55}.hero .social{gap:28px;margin-top:clamp(36px,6vh,64px);display:flex}.hero .social a{padding-bottom:3px;font-size:15px;font-weight:500;text-decoration:none;position:relative}.hero .social a:after{content:"";background:var(--ink);transform-origin:0;width:100%;height:1px;transition:transform .45s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(0)}.hero .social a:hover:after{transform:scaleX(1)}.work{padding:0 var(--edge) clamp(80px, 14vh, 180px)}.work-label{color:var(--grey-1);border-top:1px solid var(--hair);padding:clamp(28px,5vh,56px) 0 clamp(24px,4vh,40px);font-size:clamp(12px,1vw,14px)}.grid{gap:clamp(28px, 4vw, 64px) var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.card{color:inherit;opacity:0;text-decoration:none;display:block;transform:translateY(28px)}.card.in{animation:rise .9s var(--ease) forwards}.cover{aspect-ratio:3/4;background:#f2f2f2;position:relative;overflow:hidden}.cover img,.cover video,.cover .ph{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease), filter .7s var(--ease);filter:grayscale();display:block;position:absolute;inset:0}.card:hover .cover img,.card:hover .cover video,.card:hover .cover .ph{filter:grayscale(0%);transform:scale(1.04)}.cover:after{content:"";pointer-events:none;border:1px solid #0000000f;position:absolute;inset:0}.meta{padding-top:clamp(14px,1.6vw,20px)}.meta .title{letter-spacing:-.01em;font-size:clamp(16px,1.5vw,20px);font-weight:600;line-height:1.2}.meta .sub{color:var(--grey-1);margin-top:5px;font-size:clamp(13px,1.2vw,15px);line-height:1.35}.ph{place-items:center;display:grid}.ph span{letter-spacing:.1em;color:var(--grey-2);text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:11px}.ph-a{background:linear-gradient(120deg,#ececec,#cfcfcf,#ececec) 0 0/200% 200%;animation:6s ease-in-out infinite sheen}@keyframes sheen{0%,to{background-position:0 0}50%{background-position:100% 100%}}.case-head{padding:clamp(60px,12vh,140px) var(--edge) var(--block)}.case-head .cat{color:var(--grey-1);margin-bottom:clamp(20px,3vh,32px);font-size:clamp(12px,1vw,14px)}.case-head h1{letter-spacing:-.03em;font-size:clamp(40px,7.5vw,120px);font-weight:500;line-height:.95}.case-head .sub{color:var(--grey-2);letter-spacing:-.01em;margin-top:clamp(14px,2vh,22px);font-size:clamp(18px,2vw,28px);font-weight:500}.case-head .intro{color:var(--grey-1);max-width:60ch;margin-top:clamp(28px,4vh,44px);font-size:clamp(16px,1.5vw,20px);line-height:1.55}.meta-row{border-top:1px solid var(--hair);flex-wrap:wrap;gap:clamp(40px,6vw,90px);margin-top:clamp(36px,5vh,56px);padding-top:clamp(28px,4vh,40px);display:flex}.meta-row .item .k{letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2);margin-bottom:8px;font-size:12px}.meta-row .item .v{font-size:clamp(14px,1.3vw,16px);font-weight:500}.section{padding:0 var(--edge) var(--block)}.full{padding:0 0 var(--block)}.full .cell{height:clamp(380px,58vw,940px)}.cell{background:#f2f2f2;position:relative;overflow:hidden}.cell img,.cell video,.cell .fill{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);display:block;position:absolute;inset:0}.cell:hover img,.cell:hover video,.cell:hover .fill{transform:scale(1.04)}.fill{background:linear-gradient(135deg,#efefef,#dcdcdc);place-items:center;display:grid}.fill span{letter-spacing:.08em;text-transform:uppercase;color:var(--grey-2);font-family:JetBrains Mono,monospace;font-size:11px}.m{gap:var(--mg);display:grid}.m-2{grid-template-columns:1fr 1fr}.m-2 .cell{aspect-ratio:4/3}.m-3{grid-template-columns:repeat(3,1fr)}.m-3 .cell{aspect-ratio:4/5}.m-6{grid-template-columns:repeat(6,1fr)}.m-6 .cell{aspect-ratio:3/4}.m-2l{grid-template-columns:1.8fr 1fr}.m-2r{grid-template-columns:1fr 1.8fr}.m-2l .cell,.m-2r .cell{aspect-ratio:auto;height:clamp(260px,40vw,620px)}.posters{grid-template-columns:repeat(5,1fr)}.posters .cell{aspect-ratio:2/3}.bento-a{gap:var(--mg);grid-template-rows:repeat(2,clamp(150px,18vw,300px));grid-template-columns:repeat(4,1fr);grid-template-areas:"big big s1 s2""big big s3 s4";display:grid}.bento-a .big{grid-area:big}.bento-a .s1{grid-area:s1}.bento-a .s2{grid-area:s2}.bento-a .s3{grid-area:s3}.bento-a .s4{grid-area:s4}.bento-b{gap:var(--mg);grid-template-rows:repeat(2,clamp(150px,16vw,280px));grid-template-columns:2fr 1fr;grid-template-areas:"big top""big bot";display:grid}.bento-b .big{grid-area:big}.bento-b .top{grid-area:top}.bento-b .bot{grid-area:bot}.bento-c{gap:var(--mg);grid-template:"hero hero"clamp(220px,26vw,500px)"a b"clamp(150px,16vw,280px)/1fr 1fr;display:grid}.bento-c .hero{grid-area:hero}.bento-c .a{grid-area:a}.bento-c .b{grid-area:b}.video{aspect-ratio:16/9;cursor:pointer;background:#0d0d0d;position:relative;overflow:hidden}.video .poster{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);position:absolute;inset:0}.video:hover .poster{transform:scale(1.03)}.video .play{width:84px;height:84px;transition:transform .4s var(--ease);background:#ffffffeb;border-radius:50%;place-items:center;margin:auto;display:grid;position:absolute;inset:0}.video:hover .play{transform:scale(1.08)}.video .play svg{width:26px;height:26px;margin-left:4px}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.cap{color:var(--grey-1);margin-top:14px;font-size:13px}.statement{letter-spacing:-.02em;max-width:20ch;font-size:clamp(24px,3.2vw,52px);font-weight:500;line-height:1.18}.statement .muted{color:var(--grey-2)}.t-body{max-width:62ch}.t-body p{color:var(--grey-1);font-size:clamp(16px,1.5vw,19px);line-height:1.6}.t-body p+p{margin-top:1.2em}.t-two{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(28px,4vw,80px);display:grid}.t-two p{color:var(--grey-1);font-size:clamp(15px,1.4vw,18px);line-height:1.6}.t-two p+p{margin-top:1.1em}.t-lead{grid-template-columns:1.25fr 1fr;align-items:start;gap:clamp(28px,5vw,100px);display:grid}.t-lead h2{letter-spacing:-.03em;font-size:clamp(32px,4.6vw,76px);font-weight:500;line-height:1}.t-lead .side{padding-top:clamp(8px,1.4vh,14px)}.t-lead .side p{color:var(--grey-1);font-size:clamp(14px,1.3vw,16px);line-height:1.6}.t-lead .side a{align-items:center;gap:7px;margin-top:1.2em;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.t-lead .side a svg{width:14px;height:14px;transition:transform .4s var(--ease)}.t-lead .side a:hover svg{transform:translate(3px,-3px)}.t-section .k{letter-spacing:.02em;margin-bottom:clamp(18px,2.4vh,28px);font-size:clamp(13px,1.2vw,15px);font-weight:600}.t-section .k:before{content:"";background:var(--ink);vertical-align:middle;width:22px;height:1px;margin-right:12px;display:inline-block}.t-section p{color:var(--grey-1);max-width:68ch;font-size:clamp(15px,1.4vw,18px);line-height:1.6}.t-section p+p{margin-top:1.1em}.stack-wrap{height:clamp(320px,42vw,640px);position:relative}.stack{position:absolute;inset:0}.stack figure{aspect-ratio:16/10;width:clamp(240px,40%,660px);transform:translate(-50%,-50%) translateX(calc((var(--i) - 1.5) * 26px)) translateY(calc((var(--i) - 1.5) * -14px)) rotate(calc((var(--i) - 1.5) * 2.6deg));transition:transform .7s var(--ease), box-shadow .7s var(--ease);z-index:var(--i);background:#f5f5f5;border:1px solid #0000000d;border-radius:3px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 1px 1px #0000000a,0 6px 16px #00000012}.stack figure .fill{height:100%;position:absolute;inset:0}.stack-wrap:hover .stack figure{transform:translate(-50%,-50%) translateX(calc((var(--i) - 1.5) * 46%)) rotate(0deg);box-shadow:0 2px 4px #0000000d,0 10px 24px #00000017}.stack-hint{color:var(--grey-2);align-items:center;gap:8px;margin-top:16px;font-size:13px;display:inline-flex}.stack-hint svg{width:15px;height:15px}.carousel-head{justify-content:space-between;align-items:baseline;margin-bottom:clamp(16px,2.2vh,26px);display:flex}.carousel-head .lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--grey-2);font-family:JetBrains Mono,monospace;font-size:11px}.carousel-head .hint{color:var(--grey-2);font-size:12px}.carousel{gap:var(--mg);scroll-snap-type:x mandatory;scroll-padding-left:var(--edge);cursor:grab;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{height:0}.carousel.drag{cursor:grabbing;scroll-snap-type:none}.carousel figure{aspect-ratio:4/3;scroll-snap-align:start;background:#f2f2f2;flex:0 0 clamp(260px,40vw,520px);position:relative;overflow:hidden}.carousel figure .fill{height:100%;position:absolute;inset:0}.case-nav{border-top:1px solid var(--hair);padding:clamp(40px,7vh,88px) var(--edge) clamp(60px,10vh,120px);grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(24px,4vw,64px);display:grid}.case-nav a{text-decoration:none}.case-nav .lbl{color:var(--grey-2);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:11px;display:block}.case-nav .nm{letter-spacing:-.02em;font-size:clamp(19px,2.2vw,34px);font-weight:500;display:block}.case-nav .prev,.case-nav .next{align-items:center;gap:clamp(14px,1.8vw,24px);display:inline-flex}.case-nav .next{text-align:right;flex-direction:row-reverse;justify-self:end}.case-nav .arrow{transition:transform .45s var(--ease);flex:none;place-items:center;display:grid}.case-nav .arrow svg{width:30px;height:14px;stroke:var(--ink);stroke-width:1px}.case-nav .prev:hover .arrow{transform:translate(-6px)}.case-nav .next:hover .arrow{transform:translate(6px)}.case-nav .all{color:var(--grey-1);transition:color .3s var(--ease);flex-direction:column;justify-self:center;align-items:center;gap:10px;font-size:13px;display:inline-flex}.case-nav .all svg{stroke:currentColor;stroke-width:1.4px;width:16px;height:16px}.case-nav .all:hover{color:var(--ink)}footer{border-top:1px solid var(--hair);padding:clamp(40px,7vh,80px) var(--edge);color:var(--grey-1);flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:13px;display:flex}.to-top{z-index:40;backdrop-filter:saturate(180%)blur(16px);border:1px solid var(--hair);color:var(--ink);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s var(--ease), transform .4s var(--ease), border-color .3s var(--ease);background:#ffffffd1;border-radius:100px;align-items:center;gap:8px;padding:11px 16px 11px 13px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex;position:fixed;bottom:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);transform:translateY(12px)}.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}.to-top:hover{border-color:var(--grey-2)}.to-top svg{width:14px;height:14px;stroke:var(--ink);stroke-width:1.6px}@media (width<=600px){.to-top span{display:none}.to-top{padding:12px}}@media (width<=900px){.grid{grid-template-columns:repeat(2,1fr)}.m-6,.posters{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.bento-a{grid-template:"big big"clamp(180px,44vw,240px)"s1 s2"clamp(150px,36vw,200px)"s3 s4"clamp(150px,36vw,200px)/1fr 1fr}.bento-b{grid-template:"big"clamp(200px,52vw,300px)"top"clamp(150px,38vw,220px)"bot"clamp(150px,38vw,220px)/1fr}.bento-c{grid-template:"hero"clamp(200px,52vw,320px)"a"clamp(150px,42vw,220px)"b"clamp(150px,42vw,220px)/1fr}.m-2,.m-2l,.m-2r{grid-template-columns:1fr}.m-2l .cell,.m-2r .cell{height:clamp(220px,60vw,340px)}.m-6,.posters{grid-template-columns:repeat(2,1fr)}.t-two,.t-lead{grid-template-columns:1fr;gap:clamp(20px,4vh,32px)}}@media (width<=600px){.grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(34px,11vw,56px)}.case-nav{grid-template-columns:1fr;gap:clamp(28px,6vh,44px)}.case-nav .next{text-align:left;flex-direction:row;justify-self:start}.case-nav .all{border-top:1px solid var(--hair);flex-direction:row;order:3;justify-self:start;width:100%;padding-top:clamp(24px,4vh,32px)}}
