@font-face{font-family:'PJK Zen';src:url('fonts/ZenKakuGothicNew-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
#works{background:var(--pjk-dark-surface);color:#f1f0e9;overflow:hidden}
#works .works-carousel-heading{margin:0 0 48px;font-family:'PJK Zen',sans-serif;font-size:clamp(32px,3.8vw,56px);font-weight:700;line-height:1.3;white-space:nowrap;letter-spacing:0}
#works .works-carousel{--work-width:clamp(300px,38vw,520px);--work-gap:32px;position:relative;margin-inline:calc(-1 * var(--pad,6vw));}
#works .works-carousel-viewport{overflow:hidden;padding:20px 0}
#works .works-carousel-row{display:flex;align-items:center;min-height:calc(var(--work-width)*.67 + 24px)}
#works .works-carousel-row+ .works-carousel-row{margin-top:24px}
#works .works-carousel-track,#works .works-carousel-group{display:flex;align-items:center;flex:none;gap:var(--work-gap)}
#works .works-carousel-track{gap:0;will-change:transform}
#works .works-carousel-group{padding-right:var(--work-gap)}
#works .works-carousel-card{width:var(--work-width);flex:none;margin:0;position:relative}
#works .works-carousel-media{display:block;aspect-ratio:1672/941;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.24),0 2px 12px rgba(220,220,220,.09);transition:transform .5s ease-out;color:inherit}
#works .works-carousel-media img{display:block;width:100%;height:100%;border-radius:8px;object-fit:contain}
#works .works-carousel-media:focus-visible,#works .works-carousel-arrow:focus-visible{outline:3px solid #f1f0e9;outline-offset:5px}
#works .works-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(241,240,233,.5);border-radius:50%;background:#232526;color:#f1f0e9;font:inherit;font-size:24px;cursor:pointer;z-index:3;display:grid;place-items:center;padding:0}
#works .works-carousel-prev{left:12px}#works .works-carousel-next{right:12px}
@media(hover:hover) and (pointer:fine){#works .works-carousel-media:hover{transform:scale(1.05);z-index:2}}
@media(max-width:900px){#works .works-carousel-heading{font-size:clamp(28px,6vw,40px);text-align:center;margin-bottom:40px;padding:8px 0}#works .works-carousel{--work-width:68vw;--work-gap:20px}#works .works-carousel-row+ .works-carousel-row{margin-top:20px}#works .works-carousel-arrow{width:42px;height:42px;font-size:22px}}
@media(prefers-reduced-motion:reduce){#works .works-carousel-media{transition:none}#works .works-carousel-track{will-change:auto}}
/* WORKS lightbox is independent of the carousel's clipping and transforms. */
#works .works-carousel-media{cursor:zoom-in}
@media(max-width:900px),(pointer:coarse){#works .works-carousel-viewport,#works .works-carousel-media{touch-action:pan-y pinch-zoom}#works .works-carousel-media{-webkit-user-select:none;user-select:none}#works .works-carousel-media img{-webkit-user-drag:none}}
.works-lightbox-v105:not([open]){display:none}
.works-lightbox-v105[open]{position:fixed;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:48px 24px 24px;border:0;background:rgba(0,0,0,.82);color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;animation:works-lightbox-in .22s ease-out}
.works-lightbox-v105::backdrop{background:transparent}
.works-lightbox-v105 .works-lightbox-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.works-lightbox-v105 .works-lightbox-media{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;pointer-events:auto;border-radius:8px;color:inherit}
.works-lightbox-v105 .works-lightbox-media img{display:block;width:auto;height:auto;max-width:calc(100vw - 48px);max-height:calc(100dvh - 72px);object-fit:contain;border-radius:8px;box-shadow:0 12px 35px rgba(0,0,0,.28)}
.works-lightbox-v105 a.works-lightbox-media{cursor:pointer}
.works-lightbox-v105 .works-lightbox-close{position:absolute;top:8px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(35,37,38,.9);color:#fff;font-family:inherit;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}
.works-lightbox-v105 :focus-visible{outline:3px solid #fff;outline-offset:4px}
@keyframes works-lightbox-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.works-lightbox-v105[open]{animation:none}}
/* Each name belongs to its moving card; existing media geometry is unchanged. */
#works .works-carousel-name{margin:14px 0 0;font-family:'PJK Zen',sans-serif;font-size:18px;font-weight:700;line-height:1.55;color:#f1f0e9;text-align:left;overflow-wrap:anywhere}
#works .works-carousel-row{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y pinch-zoom}
#works .works-carousel.is-dragging,#works .works-carousel.is-dragging .works-carousel-media{cursor:grabbing}
#works .works-carousel-media img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}
@media(max-width:900px){#works .works-carousel-name{font-size:15px}}
