.project-carousel{min-width:0}.carousel-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;position:relative;border-radius:9px;direction:rtl}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;margin:0}.carousel-slide.screenshot-card{border:1px solid var(--line,#d6e1ed);border-radius:9px;overflow:hidden}.carousel-slide .screenshot-link{height:430px;padding:14px;display:flex;justify-content:center;background:#eaf2fc}.carousel-slide .screenshot-link img{display:block;width:100%;height:100%;object-fit:contain}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:18px}.carousel-controls[hidden]{display:none}.carousel-controls>button{min-height:44px;padding:8px 16px;border:1px solid var(--line,#d6e1ed);border-radius:6px;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:14px}.carousel-controls>button:disabled{opacity:.4;cursor:default}.carousel-dots{display:flex;gap:4px;align-items:center}.carousel-dots button{width:28px;height:40px;border:0;background:transparent;position:relative;padding:0;cursor:pointer}.carousel-dots button:before{content:'';position:absolute;left:10px;top:17px;width:8px;height:8px;border-radius:50%;background:#94a5b9}.carousel-dots button[aria-current=true]:before{background:#1473e6;transform:scale(1.35)}.carousel-counter{font-size:13px;color:var(--secondary,#52657b);white-space:nowrap}.media-portal{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;background:#101319;color:#fff;border-radius:10px;overflow:hidden}.media-portal img{width:100%;height:100%;min-height:230px;object-fit:cover}.media-portal>div{padding:30px}.media-portal span{display:inline-block;font-size:16px;letter-spacing:.08em;color:#82b6ff}.media-portal h2{font-size:26px;margin:14px 0}.media-portal p{color:#c3cbd7;font-size:16px}.media-portal b{font-weight:500;color:#9ac5ff;font-size:15px}.media-portal:hover b{text-decoration:underline}@media(max-width:760px){.carousel-slide .screenshot-link{height:250px;padding:5px}.carousel-controls{gap:8px;padding-top:12px;flex-wrap:wrap}.carousel-controls>button{padding:8px 12px}.carousel-dots button{width:24px}.carousel-dots button:before{left:8px}.media-portal{grid-template-columns:1fr}.media-portal img{height:190px;min-height:0}.media-portal>div{padding:23px}.media-portal h2{font-size:23px}}@media(prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}}
/* Enhanced carousels show one complete slide; without JS native scrolling remains. */
.carousel-track.is-carousel-ready{display:block;overflow:hidden;scroll-snap-type:none;touch-action:pan-y pinch-zoom}
.carousel-track.is-carousel-ready .carousel-slide{width:100%}
.carousel-track.is-carousel-ready .carousel-slide[hidden]{display:none!important}
.carousel-track.is-carousel-ready .carousel-slide:not([hidden]){animation:carousel-reveal .16s ease-out}
@keyframes carousel-reveal{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.carousel-track.is-carousel-ready .carousel-slide{animation:none}}
