.portfolio-carousel-gallery{background:var(--cream);overflow:hidden;padding:clamp(58px,7vw,100px) 0 clamp(78px,9vw,130px)}
.portfolio-carousel-mount{display:grid;gap:16px;width:100%}
.portfolio-carousel-row{position:relative;overflow:hidden;width:100%}
.portfolio-carousel-row .marquee-track{display:flex;flex-wrap:nowrap;gap:12px;width:max-content;animation:portfolioCarouselForward var(--portfolio-carousel-duration,300s) linear infinite!important;will-change:transform}
.portfolio-carousel-row:nth-child(even) .marquee-track{animation-name:portfolioCarouselReverse!important}
.portfolio-carousel-card{background:var(--blush-soft);flex:0 0 clamp(190px,20vw,300px);height:clamp(250px,28vw,380px);margin:0;overflow:hidden}
.portfolio-carousel-card img{display:block;height:100%;object-fit:cover;width:100%}
.portfolio-carousel-row:hover .marquee-track,.portfolio-carousel-row:focus-within .marquee-track{animation-play-state:paused!important}
.portfolio-carousel-row .marquee-track{animation-duration:var(--portfolio-carousel-duration,300s)!important}
@keyframes portfolioCarouselForward{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--portfolio-carousel-end,-50%),0,0)}}
@keyframes portfolioCarouselReverse{from{transform:translate3d(var(--portfolio-carousel-end,-50%),0,0)}to{transform:translate3d(0,0,0)}}
@media (max-width:700px){.portfolio-carousel-gallery{padding:52px 0 82px}.portfolio-carousel-mount{gap:12px}.portfolio-carousel-row .marquee-track{gap:8px}.portfolio-carousel-card{flex-basis:clamp(170px,54vw,230px);height:clamp(225px,68vw,305px)}}
@media (prefers-reduced-motion:reduce){.portfolio-carousel-row .marquee-track{animation:none!important;transform:none!important}.portfolio-carousel-row .portfolio-carousel-card:nth-child(n+8){display:none}}
