/* ---------- Photoshoot showcase ---------- */
.showcase { padding: 90px 0 40px; overflow: hidden; }
.ghost-line { overflow: hidden; transform: rotate(1.5deg); margin: 0 -40px; position: relative; z-index: 0; }
.ghost-track { display: flex; width: max-content; animation: slide 40s linear infinite; }
.ghost-line.reverse .ghost-track { animation-direction: reverse; }
.ghost-line span { text-transform: uppercase; white-space: nowrap; font-size: clamp(56px, 7.5vw, 120px); line-height: 1; color: var(--card-2); padding-right: .35em; }
.showcase h2 { position: relative; z-index: 1; text-align: center; font-weight: 700; letter-spacing: -.02em; font-size: clamp(48px, 7vw, 100px); line-height: 1; margin: -36px 0 28px; }
.shots { position: relative; z-index: 1; overflow: hidden; padding: 24px 0; margin-bottom: -10px; }
.shots-track { display: flex; gap: 100px; width: max-content; animation: slide 45s linear infinite; }
.shots:hover .shots-track { animation-play-state: paused; }
.shot { flex: none; width: clamp(240px, 20vw, 390px); aspect-ratio: 2/3; border-radius: 6px; overflow: hidden; background: var(--card); box-shadow: 0 30px 60px rgba(0,0,0,.45); transition: transform .5s ease; }
.shot:nth-child(odd) { transform: rotate(3.5deg); }
.shot:hover { transform: rotate(0) scale(1.03); }
.shot img { width: 100%; height: 100%; object-fit: cover; }



@media (max-width: 600px) {
  .shots-track { gap: 40px; }
  .showcase h2 { margin-top: -16px; }
}

@media (prefers-reduced-motion: reduce) {
  .ghost-track { animation: none; }
  .shots-track { animation: none; }
}
