/* Seamless left-to-right gallery. Two identical sets, animated by CSS. */
.dark-section .portfolio-marquee-viewport{width:100%;overflow:hidden;position:relative;touch-action:pan-y;}
.dark-section .portfolio-marquee-track{display:flex;width:max-content;gap:18px;animation:wv-marquee-right 38s linear infinite;will-change:transform;}
.dark-section .portfolio-marquee-set{display:flex;flex:none;gap:18px;align-items:stretch;}
.dark-section .portfolio-marquee-set>.work{display:flex!important;flex-direction:column!important;flex:0 0 clamp(255px,26vw,380px)!important;width:clamp(255px,26vw,380px)!important;max-width:none!important;min-width:0;background:#292929;color:#fff;text-decoration:none;overflow:hidden;}
.dark-section .portfolio-marquee-set>.work img{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:contain;background:#090909;transition:transform .35s ease;}
.dark-section .portfolio-marquee-set>.work:hover img{transform:scale(1.035)}
.dark-section .portfolio-marquee-set>.work span{display:flex;flex:1;justify-content:space-between;gap:10px;padding:13px 12px;flex-wrap:wrap;color:#fff;}
.dark-section .portfolio-marquee-set>.work b,.dark-section .portfolio-marquee-set>.work small{color:#fff!important;}
.dark-section .portfolio-marquee-viewport:hover .portfolio-marquee-track,.dark-section .portfolio-marquee-track.is-paused{animation-play-state:paused;}
/* -50% plus half the inter-set gap: exact seamless repeat */
@keyframes wv-marquee-right{from{transform:translateX(calc(-50% - 9px))}to{transform:translateX(0)}}
@media(max-width:700px){.dark-section .portfolio-marquee-track{animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.dark-section .portfolio-marquee-track{animation:none;transform:none}.dark-section .portfolio-marquee-viewport{overflow-x:auto;scrollbar-width:thin}}
