.pj{--pj-d:0s;--gutter:clamp(14px, 2.6vw, 48px);padding-top:96px}.pj-crumbs{color:var(--tx2);padding:28px 0 0;font-size:14px}.pj-crumbs ol{flex-wrap:wrap;align-items:center;gap:6px 0;min-width:0;margin:0;padding:0;list-style:none;display:flex}.pj-crumbs li{align-items:center;min-width:0;display:inline-flex}.pj-crumbs li+li:before{content:"/";color:var(--tx3);margin:0 10px}.pj-crumbs a{color:var(--tx2);text-decoration:none;transition:color .3s}.pj-crumbs a:hover{color:var(--tx0)}.pj-crumbs [aria-current]{text-overflow:ellipsis;white-space:nowrap;max-width:min(60vw,520px);color:var(--tx0);overflow:hidden}.pj-hero{grid-template-columns:minmax(0,1fr) minmax(280px,400px);align-items:end;gap:48px clamp(40px,6vw,120px);padding:clamp(48px,7vw,96px) 0 clamp(40px,5vw,64px);display:grid}.pj-hero-main{flex-direction:column;gap:28px;min-width:0;display:flex}.pj-kicker{font-family:var(--font-mono);letter-spacing:.04em;color:var(--acc2);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.pj-badge{border:1px solid color-mix(in srgb, var(--acc2) 45%, transparent);letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-size:12px}.pj-title{letter-spacing:-.06em;margin:0;font-size:clamp(42px,6.2vw,104px);font-weight:600;line-height:.95}.pj-wm{vertical-align:top;margin-bottom:-.1em;padding-bottom:.1em;display:inline-block;overflow:hidden}.pj-w{display:inline-block}.pj-lead{max-width:640px;color:var(--tx2);flex-direction:column;gap:14px;margin:0;font-size:clamp(17px,1.45vw,21px);line-height:1.55;display:flex}.pj-lead p{margin:0}.pj-links{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.pj-source{font-family:var(--font-mono);color:var(--tx1);text-underline-offset:4px;font-size:13px}.pj-source:hover{color:var(--acc2)}.pj-spec{flex-direction:column;margin:0;display:flex}.pj-spec-row{grid-template-columns:116px minmax(0,1fr);gap:16px;padding:16px 0;display:grid;position:relative}.pj-spec-row:before{content:"";background:var(--ln0);transform-origin:0;height:1px;position:absolute;top:0;left:0;right:0}.pj-spec-row:last-child:after{content:"";background:var(--ln0);height:1px;position:absolute;bottom:0;left:0;right:0}.pj-spec dt{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);padding-top:3px;font-size:11px}.pj-spec dd{color:var(--tx0);margin:0;font-size:16px}.pj-status{align-items:center;gap:9px;display:inline-flex}.pj-status>span{background:#34d399;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #34d3992e}.pj-status-in_progress>span{background:var(--acc2);box-shadow:0 0 0 4px color-mix(in srgb, var(--acc2) 18%, transparent)}.pj-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pj-chips li{border:1px solid var(--ln1);background:var(--bg2);font-family:var(--font-mono);color:var(--tx1);border-radius:999px;padding:4px 10px;font-size:12px}.pj-cover{background:var(--bg2);border:1px solid var(--ln0);border-radius:12px;height:clamp(280px,46vw,640px);position:relative;overflow:hidden}.pj-cover-art{height:clamp(260px,36vw,500px)}.pj-cover-in{position:absolute;inset:0}.pj-cover-in>.wk-art{border-radius:0;margin:0;position:absolute;inset:0}.pj-rows{flex-direction:column;display:flex}.pj-row{grid-template-columns:minmax(200px,.32fr) minmax(0,1fr);gap:32px clamp(40px,6vw,120px);padding-top:clamp(72px,9vw,128px);display:grid}.pj-row-head{flex-direction:column;align-self:start;gap:10px;display:flex;position:sticky;top:112px}.pj-row-num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--acc2);font-size:12px}.pj-row-title{letter-spacing:-.04em;margin:0;font-size:clamp(26px,2.6vw,40px);font-weight:600;line-height:1.05}.pj-rule{background:var(--acc);transform-origin:0;width:48px;height:2px;margin-top:8px;display:block}.pj-row-body{flex-direction:column;gap:24px;min-width:0;display:flex}.pj-text{letter-spacing:-.025em;flex-direction:column;gap:18px;max-width:900px;font-size:clamp(21px,2.2vw,32px);line-height:1.35;display:flex}.pj-text p{margin:0}.pj-list{flex-direction:column;gap:10px;margin:0;padding-left:1.2em;display:flex}.pj-list li::marker{color:var(--acc)}.pj-pipe-wrap{position:relative}.pj-pipe-line{background:linear-gradient(90deg, var(--acc), var(--acc2));transform-origin:0;height:1px;position:absolute;top:7px;left:0;right:0}.pj-pipe{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.pj-step{flex-direction:column;gap:10px;padding-top:30px;display:flex;position:relative}.pj-step-dot{border:2px solid var(--acc);background:var(--bg0);border-radius:50%;width:11px;height:11px;position:absolute;top:2px;left:0}.pj-step>.pj-job,.pj-step>.pj-stepname{padding-right:12px}.pj-job{font-family:var(--font-mono);color:var(--acc2);font-size:12px}.pj-stepname{letter-spacing:-.02em;font-size:18px;font-weight:600}.pj-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;display:grid}.pj-gallery figure{border:1px solid var(--ln0);background:var(--bg2);border-radius:10px;margin:0;overflow:hidden}.pj-gallery img{width:100%;height:auto;display:block}.pj-pager{margin-inline:calc(-1 * var(--gutter));border-top:1px solid var(--ln0);border-bottom:1px solid var(--ln0);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:clamp(64px,8vw,120px);display:grid}.pj-page{min-width:0;color:var(--tx0);transition:background .5s var(--ease);flex-direction:column;gap:14px;padding:clamp(28px,4vw,48px) clamp(16px,2.4vw,40px);text-decoration:none;display:flex;position:relative;overflow:hidden}.pj-page-prev{padding-left:var(--gutter)}.pj-page-next{text-align:right;padding-right:var(--gutter);border-left:1px solid var(--ln0);align-items:flex-end}.pj-page-top{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--tx2);align-items:center;gap:10px;font-size:12px;display:inline-flex}.pj-page-next .pj-page-top{flex-direction:row-reverse}.pj-page-arrow{border:1px solid var(--ln1);width:34px;height:34px;color:var(--tx0);transition:background .4s var(--ease), border-color .4s, translate .5s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.pj-page-title{-webkit-line-clamp:3;letter-spacing:-.04em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;-webkit-box-orient:vertical;max-width:100%;padding-bottom:.08em;font-size:clamp(22px,3.2vw,48px);font-weight:600;line-height:1.05;display:-webkit-box;overflow:hidden}.pj-page-bar{background:var(--ln0);width:100%;height:2px;display:block}.pj-page-bar>span{background:linear-gradient(90deg, var(--acc), var(--acc2));height:100%;transition:transform .9s var(--ease);display:block;transform:scaleX(.12)}.pj-page-prev .pj-page-bar>span{transform-origin:0}.pj-page-next .pj-page-bar>span{transform-origin:100%}.pj-page:hover,.pj-page:focus-visible{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--acc) 7%, transparent))}.pj-page:hover .pj-page-bar>span,.pj-page:focus-visible .pj-page-bar>span{transform:scaleX(1)}.pj-page:hover .pj-page-arrow,.pj-page:focus-visible .pj-page-arrow{background:var(--acc);border-color:var(--acc)}.pj-page-prev:hover .pj-page-arrow{translate:-4px}.pj-page-next:hover .pj-page-arrow{translate:4px}.pj-more{flex-direction:column;gap:40px;padding:clamp(80px,9vw,128px) 0 clamp(64px,7vw,104px);display:flex}.pj-more-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.pj-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);margin:0;font-size:12px;font-weight:400}.pj-more-title{letter-spacing:-.05em;margin:0;font-size:clamp(32px,4vw,56px);font-weight:600;line-height:1}.pj-more-all{font-family:var(--font-mono);color:var(--tx1);font-size:13px;text-decoration:none;transition:color .3s}.pj-more-all:hover{color:var(--acc2)}.pj-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.pj-card-link{border:1px solid var(--ln0);background:var(--bg1);height:100%;color:var(--tx0);transition:border-color .4s, translate .6s var(--ease), box-shadow .6s var(--ease);border-radius:12px;flex-direction:column;gap:12px;padding:10px 10px 24px;text-decoration:none;display:flex}.pj-card-link>:not(.pj-card-art){margin-inline:10px}.pj-card-art{background:var(--bg2);border-radius:8px;height:220px;margin-bottom:6px;position:relative;overflow:hidden}.pj-card-art>.wk-art{transition:scale .9s var(--ease);border-radius:0;margin:0;position:absolute;inset:0}.pj-card-art img{transition:scale .9s var(--ease)}.pj-card-meta{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tx2);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.pj-card-meta .wk-sample{text-transform:none}.pj-card-title{overflow-wrap:anywhere;letter-spacing:-.04em;font-size:24px;font-weight:600;line-height:1.1}.pj-card-summary{color:var(--tx2);font-size:15px;line-height:1.5}.pj-card-cta{font-family:var(--font-mono);color:var(--acc2);margin-top:auto;padding-top:8px;font-size:12px}.pj-card-cta>span{transition:translate .4s var(--ease);display:inline-block}.pj-card-link:hover,.pj-card-link:focus-visible{border-color:var(--ln1);box-shadow:0 30px 70px -40px color-mix(in srgb, var(--acc) 55%, transparent);translate:0 -6px}.pj-card-link:hover .pj-card-art>*,.pj-card-link:focus-visible .pj-card-art>*{scale:1.04}.pj-card-link:hover .pj-card-cta>span{translate:4px}@keyframes pj-rise{0%{transform:translateY(110%)rotate(4deg)}to{transform:none}}@keyframes pj-fade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes pj-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pj-reveal{0%{clip-path:inset(14% 8% 0 round 12px)}to{clip-path:inset(0 round 12px)}}@keyframes pj-settle{0%{scale:1.12}to{scale:1}}@keyframes pj-pop{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0}}@keyframes pj-glow{0%,14%{box-shadow:0 0 0 5px color-mix(in srgb, var(--acc2) 22%, transparent);background:var(--acc2);border-color:var(--acc2)}22%,to{box-shadow:none;background:var(--bg0);border-color:var(--acc)}}@media (prefers-reduced-motion:no-preference){html:not([data-preloaded]) .pj{--pj-d:3.3s}html:not([data-motion=off]) .pj-w{animation:pj-rise 1.1s var(--ease) calc(var(--pj-d) + .1s + var(--w) * 60ms) both}html:not([data-motion=off]) .pj-fade{animation:pj-fade .9s var(--ease) var(--pj-d) both}html:not([data-motion=off]) .pj-kicker{animation-delay:calc(var(--pj-d) + 50ms)}html:not([data-motion=off]) .pj-d3{animation-delay:calc(var(--pj-d) + .45s)}html:not([data-motion=off]) .pj-d4{animation-delay:calc(var(--pj-d) + .6s)}html:not([data-motion=off]) .pj-spec-row{animation-delay:calc(var(--pj-d) + .35s + var(--r) * 80ms)}html:not([data-motion=off]) .pj-spec-row:before{animation:pj-draw 1s var(--ease) calc(var(--pj-d) + .3s + var(--r) * 80ms) both}html:not([data-motion=off]) .pj-cover{animation:pj-reveal 1.4s var(--ease) calc(var(--pj-d) + .35s) both}html:not([data-motion=off]) .pj-cover-in{animation:pj-settle 1.8s var(--ease) calc(var(--pj-d) + .35s) both}html:not([data-motion=off]) [data-inview]:not(.in) :is(.pj-rule,.pj-pipe-line){transform:scaleX(0)}html:not([data-motion=off]) [data-inview]:not(.in) :is(.pj-step,.pj-card){opacity:0}html:not([data-motion=off]) .in .pj-rule{animation:pj-draw .9s var(--ease) .25s both}html:not([data-motion=off]) .in .pj-pipe-line{animation:pj-draw 1.4s var(--ease) .2s both}html:not([data-motion=off]) .in .pj-step{animation:pj-pop .7s var(--ease) calc(.35s + var(--s) * .12s) both}html:not([data-motion=off]) .in .pj-step-dot{animation:pj-glow calc(var(--n) * 1.1s) linear calc(1.4s + var(--s) * 1.1s) infinite}html:not([data-motion=off]) .in .pj-card{animation:pj-pop .8s var(--ease) calc(.2s + var(--c) * .12s) both}}@media (max-width:1023px){.pj-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pj-hero{grid-template-columns:minmax(0,1fr);align-items:start}.pj-row{grid-template-columns:minmax(0,1fr)}.pj-row-head{position:static}}@media (max-width:640px){.pj-cards{grid-template-columns:minmax(0,1fr)}.pj-spec-row{grid-template-columns:96px minmax(0,1fr)}.pj-page{gap:12px;padding-block:24px}.pj-page-prev{padding-right:14px}.pj-page-next{padding-left:14px}.pj-page-title{font-size:19px}.pj-page-top{letter-spacing:.1em;font-size:10px}.pj-page-arrow{width:28px;height:28px}.pj-pipe{grid-template-columns:minmax(0,1fr);gap:0}.pj-pipe-line{background:linear-gradient(180deg, var(--acc), var(--acc2));transform-origin:top;width:1px;height:auto;inset:0 auto 0 5px}.pj-step{padding:0 0 22px 30px}.pj-step-dot{top:4px}}@media (max-width:640px) and (prefers-reduced-motion:no-preference){html:not([data-motion=off]) [data-inview]:not(.in) .pj-pipe-line{transform:scaleY(0)}html:not([data-motion=off]) .in .pj-pipe-line{animation-name:pj-draw-y}}@keyframes pj-draw-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}
