/* Scope to the existing projects strips; no header/footer or CMS styles. */
@keyframes duv-entry{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:duv-entry 1.5s ease both}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none!important;opacity:1!important;translate:none!important}}
.projects-strip img{min-width:1px}
.duv-carousel{position:relative}
.duv-carousel .duv-strip{touch-action:pan-y;cursor:grab}
.duv-strip img{opacity:.45;transition:opacity .3s;cursor:zoom-in}
.duv-strip img[aria-current="true"]{opacity:1}
.duv-carousel>button,.duv-lightbox button{width:44px;height:44px;border:1px solid #fff;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font:32px/1 Arial,sans-serif;cursor:pointer;padding:0}
.duv-carousel>button{position:absolute;top:50%;transform:translateY(-50%);z-index:1}
.duv-carousel>.duv-prev{left:18px}.duv-carousel>.duv-next{right:18px}
.duv-carousel>button[hidden]{display:none}
.duv-carousel button:focus-visible,.duv-strip img:focus-visible,.duv-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:767px){
 .projects-strip{display:flex;flex-direction:column;height:auto;overflow:visible;background:transparent}
 .projects-strip img{width:100%;height:auto;max-width:100%;min-width:0;opacity:1}
 .duv-carousel>button{display:none}
 .duv-carousel .duv-strip{touch-action:auto;cursor:auto}
}
.duv-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;padding:60px;background:rgba(0,0,0,.94);color:#fff;text-align:center}
.duv-lightbox::backdrop{background:rgba(0,0,0,.8)}
.duv-lightbox[open]{display:flex;align-items:center;justify-content:center;gap:12px}
.duv-lightbox img{max-width:calc(100% - 112px);max-height:calc(100dvh - 120px);width:auto;height:auto;object-fit:contain;touch-action:pan-y}
.duv-lightbox button{flex:none}.duv-lightbox .duv-close{position:absolute;right:18px;top:18px}
.duv-lightbox p{position:absolute;bottom:18px;left:0;right:0}
@media(max-width:767px){.duv-lightbox{padding:60px 8px}.duv-lightbox[open]{gap:4px}.duv-lightbox img{max-width:calc(100% - 96px)}}
@media(prefers-reduced-motion:reduce){.duv-strip img{transition:none}}
