.proj-wrap{padding:max(env(safe-area-inset-top),clamp(22px,4vh,46px)) 0 clamp(120px,16vh,150px)}.proj-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(8px,.8vw,14px)}.mcell{display:block}.mcell-media{position:relative;aspect-ratio:16 / 9;border-radius:5px;overflow:hidden;background:var(--black)}.mcell-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}@media(hover:hover){.mcell:hover .mcell-media img{transform:scale(1.05)}}.mcell-meta{display:flex;flex-direction:column;gap:1px;padding:8px 1px 0}.mcell-client{font-family:var(--sans);font-weight:700;font-size:clamp(.78rem,.92vw,.92rem);letter-spacing:-.01em;line-height:1.25;color:var(--ink);transition:opacity .2s var(--ease);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcell-title{font-family:var(--sans);font-weight:400;font-size:clamp(.72rem,.85vw,.85rem);line-height:1.25;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(hover:hover){.mcell:hover .mcell-client{opacity:.62}}@media(max-width:1280px){.proj-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:860px){.proj-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.proj-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.fpill{position:fixed;right:clamp(14px,3vw,30px);bottom:calc(max(14px,env(safe-area-inset-bottom)) + 92px);z-index:79;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fpill-btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;padding:11px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#1010128c;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);color:#fff;box-shadow:0 10px 36px #0006;transition:background .2s var(--ease)}.fpill-btn:hover{background:#202024b3}.fpill-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.fpill-plus{font-size:1.05rem;line-height:1;transition:transform .3s var(--ease)}.fpill.open .fpill-plus{transform:rotate(45deg)}.fpill-panel{background:#1010129e;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:12px;box-shadow:0 14px 44px #00000073;max-width:min(80vw,360px)}.fpill-panel .filters{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.fpill-panel .filters button{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;padding:.55em 1em;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#ffffffb8;cursor:pointer;transition:.2s var(--ease)}.fpill-panel .filters button:hover{color:#fff;border-color:#ffffff80}.fpill-panel .filters button.active{background:#fff;color:#000;border-color:#fff}@media(max-width:560px){.fpill{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 84px);right:12px}}.pjw{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:clamp(10px,2.4vh,28px) clamp(10px,2.4vw,36px);background:#000c;opacity:0;transition:opacity .32s cubic-bezier(.16,1,.3,1)}.pjw.open{opacity:1}.pjw[hidden]{display:none}.pjw-win{width:100%;height:100%;max-width:1500px;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:18px;border:1px solid rgba(10,9,8,.1);box-shadow:0 40px 120px -30px #0009,0 10px 40px -20px #0006;transform:translateY(16px) scale(.99);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s cubic-bezier(.16,1,.3,1)}.pjw.open .pjw-win{transform:none;opacity:1}.pjw-tabbar{flex:none;display:flex;align-items:stretch;gap:0;background:#ecebe7;border-bottom:1px solid rgba(10,9,8,.1);padding:6px 6px 0}.pjw-tabs{display:flex;align-items:stretch;gap:4px;flex:1;min-width:0;overflow-x:auto}.pjw-tabs::-webkit-scrollbar{height:0}.pjw-tab{display:inline-flex;align-items:center;gap:8px;max-width:220px;padding:9px 12px;border:0;cursor:pointer;background:transparent;color:var(--muted);border-radius:10px 10px 0 0;font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:0;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease)}.pjw-tab svg{width:15px;height:15px;flex:none}.pjw-tab span{overflow:hidden;text-overflow:ellipsis}.pjw-tab:hover{color:var(--ink)}.pjw-tab.is-active{background:#fff;color:var(--ink);box-shadow:0 -1px #0a09080f}.pjw-tab--proj{padding-right:8px}.pjw-tabx{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;color:var(--faint);flex:none}.pjw-tabx:hover{background:#0a09081a;color:var(--ink)}.pjw-tabx svg{width:11px;height:11px}.pjw-winclose{flex:none;align-self:center;margin:0 4px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}.pjw-winclose:hover{background:#0a090814;color:var(--ink)}.pjw-winclose svg{width:18px;height:18px}.pjw-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff}.pjw-work{padding:clamp(20px,3vw,44px) clamp(18px,3vw,48px) clamp(60px,9vh,110px)}.pjw-worktitle{font-family:var(--sans);font-weight:700;font-size:clamp(1.4rem,3vw,2.4rem);letter-spacing:-.03em;margin:0 0 clamp(16px,2vw,26px);color:var(--ink)}.pjw-grid2{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,.9vw,14px)}.pjw-gcell{display:block;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.pjw-gmedia{display:block;position:relative;aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;background:var(--black)}.pjw-gmedia img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}.pjw-gcell:hover .pjw-gmedia img{transform:scale(1.05)}.pjw-gc{display:block;font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:-.01em;color:var(--ink);margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pjw-gt{display:block;font-family:var(--sans);font-size:.76rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1100px){.pjw-grid2{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.pjw-grid2{grid-template-columns:repeat(2,1fr)}}.pjw-doc{margin:0;padding:0 0 clamp(60px,9vh,110px);position:relative}.pjw-nav{position:absolute;top:clamp(14px,2vw,22px);right:clamp(14px,2vw,22px);display:flex;gap:8px;z-index:3}.pjw-arrow{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:#00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease)}.pjw-arrow:hover{background:#fff;color:var(--ink);border-color:#fff}.pjw-arrow svg{width:20px;height:20px}.pjw-herocap{position:absolute;left:0;right:0;bottom:0;z-index:2;max-width:60ch;padding:clamp(40px,8vw,96px) clamp(18px,3vw,48px) clamp(20px,3vw,36px);background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.32) 50%,transparent)}.pjw-herocap .pjw-meta{color:#ffffffd1}.pjw-herocap .pjw-client,.pjw-herocap .pjw-title{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.4)}.pjw-col{max-width:1080px;margin:0 auto;padding:clamp(24px,3.5vw,52px) clamp(18px,3vw,48px) 0}.pjw-meta{font-family:var(--sans);font-weight:600;text-transform:none;letter-spacing:0;font-size:12px;color:var(--muted)}.pjw-client{font-family:var(--sans);font-weight:700;font-size:clamp(1.9rem,3.4vw,2.5rem);letter-spacing:-.02em;line-height:1.2;margin:.35em 0 .1em;color:var(--ink)}.pjw-title{font-family:var(--sans);font-weight:600;font-size:clamp(1.05rem,1.6vw,1.4rem);letter-spacing:-.01em;color:var(--ink);margin:0 0 1rem}.pjw-intro{font-family:var(--sans);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.6;color:var(--ink);margin:0}.pjw-hero{position:relative;margin:0;border-radius:0;overflow:hidden;background:#000;width:100%;height:min(72vh,56vw)}.pjw-hvid{width:100%;height:100%;object-fit:cover;display:block}.pjw-play{position:absolute;inset:0;margin:auto;width:76px;height:76px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#ffffffeb;color:#111;cursor:pointer;transition:transform .2s var(--ease),background .2s var(--ease)}.pjw-play:hover{transform:scale(1.06);background:#fff}.pjw-play svg{width:30px;height:30px;margin-left:3px}.pjw-play.is-hidden{display:none}.pjw-gallery{display:flex;flex-direction:column;gap:clamp(12px,1.6vw,20px);margin:clamp(16px,2vw,26px) 0}.pjw-shot{margin:0;border-radius:14px;overflow:hidden;background:#ebebe8;aspect-ratio:16 / 9}.pjw-shot.is-wide{aspect-ratio:21 / 9}.pjw-shot img{width:100%;height:100%;object-fit:cover;display:block}.pjw-details{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,36px);padding-top:clamp(22px,3vw,34px);border-top:1px solid var(--line)}.pjw-dl{display:block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;color:var(--faint);margin-bottom:8px}.pjw-dv{font-family:var(--sans);font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.5;color:var(--ink);margin:0}.pjw-dlink{font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:2px}.pjw-dlink:hover{opacity:.6}@media(max-width:680px){.pjw-details{grid-template-columns:1fr;gap:18px}.pjw-nav{position:static;float:none;margin:0 0 14px}}@media(prefers-reduced-motion:reduce){.pjw,.pjw-win{transition:none}}
