:root{--bg:#0a0a0b;--fg:#f4f4f2;--mid:#7c7c82;--faint:#242427;--panel:#111113}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:Space Grotesk,sans-serif;font-weight:300;font-size:15px;line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}::selection{background:var(--fg);color:var(--bg)}a{color:inherit;text-decoration:none}.mono{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.wrap{padding:0 clamp(16px,3vw,40px)}nav{position:fixed;top:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px clamp(16px,3vw,40px);background:linear-gradient(180deg,var(--bg) 55%,transparent)}nav .brand{font-weight:500;letter-spacing:.02em;font-size:14px}nav .center{justify-self:center;display:flex;gap:4px}nav .center a{padding:5px 12px;border-radius:100px;transition:background .25s,color .25s}nav .center a.active,nav .center a:hover{background:var(--fg);color:var(--bg)}nav .right{justify-self:end;color:var(--mid)}section{padding:clamp(72px,9vw,128px) 0}.head{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px;margin-bottom:48px;align-items:baseline}.head .idx{grid-column:1/3;color:var(--mid)}.head .ttl{grid-column:3/9;font-size:clamp(20px,2.4vw,30px);font-weight:400;letter-spacing:-.02em}.head .meta{grid-column:10/13;text-align:right;color:var(--mid)}.reveal{opacity:0;transform:translateY(12px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}.reveal.in{opacity:1;transform:none}.index{border-top:1px solid var(--faint)}.index a{display:grid;grid-template-columns:56px 1fr 1fr 96px;grid-gap:16px;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--faint);transition:padding .3s cubic-bezier(.2,.6,.2,1),background .3s}.index a:hover{padding-left:16px;padding-right:16px;background:var(--panel)}.index .talent,.index .type,.index .yr{color:var(--mid)}.index .proj{font-size:clamp(17px,1.9vw,22px);font-weight:400;letter-spacing:-.02em}.index .type{justify-self:end;text-align:right}.index a:hover .talent,.index a:hover .type{color:var(--fg)}.col-head{padding-top:120px;padding-bottom:40px;border-bottom:1px solid var(--faint)}.breadcrumb{display:flex;gap:8px;color:var(--mid);margin-bottom:40px}.breadcrumb a:hover{color:var(--fg)}.col-title{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px;align-items:end}.col-title h1{grid-column:1/9;font-weight:500;letter-spacing:-.03em;font-size:clamp(48px,10vw,150px);line-height:.92}.col-title .desc{grid-column:10/13;color:var(--mid);align-self:end}.filters{display:flex;gap:6px;flex-wrap:wrap;padding:28px 0;border-bottom:1px solid var(--faint);position:-webkit-sticky;position:sticky;top:56px;background:var(--bg);z-index:20}.filters a{padding:7px 14px;border:1px solid var(--faint);border-radius:100px;color:var(--mid);transition:all .25s;cursor:pointer}.filters a.active,.filters a:hover{border-color:var(--fg);color:var(--fg)}.project{padding:clamp(56px,7vw,96px) 0;border-bottom:1px solid var(--faint)}.project-head{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px;align-items:baseline;margin-bottom:32px}.project-head .no{grid-column:1/3;color:var(--mid)}.project-head h2{grid-column:3/9;font-weight:400;letter-spacing:-.02em;font-size:clamp(24px,3vw,40px)}.project-head .info{grid-column:10/13;text-align:right;color:var(--mid)}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px}.cell{position:relative;background:var(--panel);border:1px solid var(--faint);overflow:hidden;aspect-ratio:4/5;transition:border-color .25s}.cell.w6{grid-column:span 6}.cell.w4{grid-column:span 4}.cell.w3{grid-column:span 3}.cell.w8{grid-column:span 8;aspect-ratio:16/10}.cell.w12{grid-column:span 12;aspect-ratio:21/9}.cell img{width:100%;height:100%;object-fit:cover;display:block}.cell .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--faint);font-family:JetBrains Mono,monospace;font-size:10px;text-align:center;padding:10px}.cell .cap{left:0;right:0;bottom:0;padding:12px 14px;z-index:2;transform:translateY(6px);transition:opacity .3s,transform .3s}.cell .cap,.cell:after{position:absolute;opacity:0}.cell:after{content:"";inset:0;background:linear-gradient(0deg,rgba(10,10,11,.7),transparent 45%);transition:opacity .3s;z-index:1}.cell:hover{border-color:var(--mid)}.cell:hover:after{opacity:1}.cell:hover .cap{opacity:1;transform:none}footer{padding:22px clamp(16px,3vw,40px);display:grid;grid-template-columns:repeat(12,1fr);grid-gap:12px;gap:12px;color:var(--mid);border-top:1px solid var(--faint)}footer .a{grid-column:1/4}footer .b{grid-column:5/9}footer .c{grid-column:10/13;text-align:right}@media(max-width:820px){nav{grid-template-columns:1fr auto}nav .center,nav .right{display:none}.head .idx,.head .meta,.head .ttl{grid-column:1/13;text-align:left}.col-title .desc,.col-title h1{grid-column:1/13}.col-title .desc{margin-top:16px}.project-head .info,.project-head .no,.project-head h2{grid-column:1/13;text-align:left}.cell.w12,.cell.w3,.cell.w4,.cell.w6,.cell.w8{grid-column:span 6}.index a{grid-template-columns:44px 1fr;gap:8px}.index .talent,.index .type{display:none}.filters{top:52px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}@keyframes slide{to{transform:translateX(-50%)}}