.dp-project-rail{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:8px;padding:12px 10px}.dp-project-rail-item{position:relative;display:block;flex:none;width:56px;height:56px;overflow:visible;border:1px solid var(--line-strong);background:var(--paper2);box-shadow:0 8px 20px -10px rgb(14 14 14 / .25)}.dp-project-rail-item img{position:relative;width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(60%);transition:filter .4s}.dp-project-rail-item:hover img{filter:grayscale(0)}.dp-project-rail-swatch{display:block;width:100%;height:100%}.dp-project-rail-label{position:absolute;top:0;right:100%;height:100%;display:flex;align-items:center;margin-right:1px;padding:0 16px;background:var(--ink);color:var(--paper);white-space:nowrap;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;transform:translateX(10px);opacity:0;pointer-events:none;transition:transform .3s var(--ease),opacity .3s}.dp-project-rail-item:hover .dp-project-rail-label{transform:translateX(0);opacity:1}.dp-project-rail-item.is-hidden{display:none}@media (max-width:1024px){.dp-project-rail{display:none}}.dp-project-video-trigger{display:block}.dp-project-video-thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;overflow:hidden;transition:filter .3s}.dp-project-video-play{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:rgb(249 248 246 / .92);color:var(--ink);font-size:1.4rem;padding-left:4px;transition:transform .35s var(--ease),background-color .35s}.dp-project-video-trigger:hover .dp-project-video-play{transform:scale(1.1);background:var(--paper)}.dp-project-slider-viewport{position:relative}.dp-project-slider-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;border:1px solid var(--line)}.dp-project-slider-track::-webkit-scrollbar{display:none}.dp-project-slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:16/9;overflow:hidden;display:block;position:relative;background:#fff}.dp-project-slide img,.dp-project-slide svg{width:100%;height:100%;object-fit:cover;display:block}.dp-project-slider-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px}.dp-project-slider-btn{width:40px;height:40px;flex:none;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;font-size:1rem;line-height:1;transition:background .3s,color .3s}.dp-project-slider-btn:hover{background:var(--ink);color:var(--paper)}.dp-project-slider-viewport .dp-project-slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;border-radius:50%;box-shadow:0 10px 24px -10px rgb(14 14 14 / .35)}.dp-project-slider-viewport [data-project-slider-prev]{left:16px}.dp-project-slider-viewport [data-project-slider-next]{right:16px}.dp-project-slider-count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}.dp-lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgb(14 14 14 / .95);padding:clamp(20px,5vw,56px);opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}.dp-lightbox.is-open{opacity:1;pointer-events:auto}.dp-lightbox-bar{position:absolute;inset-inline:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(20px,4vw,40px)}.dp-lightbox-counter{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgb(249 248 246 / .7)}.dp-lightbox-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgb(249 248 246 / .3);background:#fff0;color:var(--paper);font-size:1.1rem;cursor:pointer;transition:all .3s}.dp-lightbox-close:hover,.dp-lightbox-close:focus{background:var(--orange);border-color:var(--orange);color:#fff;outline:none}.dp-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid rgb(249 248 246 / .3);background:#fff0;color:var(--paper);font-size:1.4rem;cursor:pointer;transition:all .3s}.dp-lightbox-nav:hover,.dp-lightbox-nav:focus{background:var(--orange);border-color:var(--orange);color:#fff;outline:none}.dp-lightbox-prev{left:clamp(12px,3vw,32px)}.dp-lightbox-next{right:clamp(12px,3vw,32px)}.dp-lightbox-stage{max-width:100%;max-height:78vh;display:flex;align-items:center;justify-content:center}.dp-lightbox-stage img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border:1px solid rgb(249 248 246 / .15)}.dp-lightbox-stage iframe,.dp-lightbox-stage video{width:min(90vw,1100px);aspect-ratio:16/9;height:auto;border:1px solid rgb(249 248 246 / .15);background:#000}@media (max-width:640px){.dp-lightbox-nav{width:44px;height:44px;font-size:1.1rem}}.dp-project-nav{position:sticky;top:var(--dp-header-h,88px);z-index:20;background:rgb(249 248 246 / .92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:14px 0}.dp-project-nav-inner{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px}.dp-project-nav-back{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.6;flex:none}.dp-project-nav-back:hover{opacity:1}.dp-project-nav-tags{display:flex;flex-wrap:wrap;gap:8px}.dp-project-pager{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-top:1px solid var(--line);background:var(--line)}.dp-project-pager-link{position:relative;display:flex;align-items:center;gap:20px;padding:32px clamp(20px,4vw,40px);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}.dp-project-pager-link--next{flex-direction:row-reverse;text-align:right}.dp-project-pager-fill{position:absolute;inset:0;background:var(--ink);transform:translateY(100%);transition:transform .8s var(--ease);z-index:-1}.dp-project-pager-link:hover .dp-project-pager-fill{transform:translateY(0)}.dp-project-pager-link:hover *{color:var(--paper)!important}.dp-project-pager-arrow{flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);font-size:1.2rem;background:#fff0;color:var(--ink);transition:transform .6s var(--ease),border-color .6s,background-color .6s,color .6s}.dp-project-pager-link:hover .dp-project-pager-arrow{background:var(--orange);border-color:var(--orange);color:#fff}.dp-project-pager-link:not(.dp-project-pager-link--next):hover .dp-project-pager-arrow{transform:translateX(-6px)}.dp-project-pager-link--next:hover .dp-project-pager-arrow{transform:translateX(6px)}.dp-project-pager-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.dp-project-pager-copy .fr-title{font-size:1.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-project-pager-sub{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.55}@media (max-width:700px){.dp-project-pager{grid-template-columns:1fr}}