/* Core styling */
.csc-wrapper { height:450vh; position:relative; }
.csc-sticky { position:sticky; top:0; height:100vh; overflow:hidden; }
.csc-track { position:absolute; top:50%; transform:translateY(-50%); display:flex; gap:40px; padding-left:300px; }

.csc-card { width:520px; height:720px; border-radius:32px; overflow:hidden; position:relative; flex-shrink:0; background:#111; }
.csc-card-rotate img { width:100%; height:100%; object-fit:cover; transition:0.3s; }

.csc-overlay {
    position:absolute; bottom:0; width:100%; padding:24px;
    background:linear-gradient(to top, rgba(0,0,0,0.85), transparent);
}
.csc-title { color:#fff; font-size:34px; font-weight:700; }
.csc-desc { color:#eee; opacity:0.8; margin-bottom:8px; }
