/* Two calm, continuous rows. Post artwork keeps its complete composition. */
.showcase-section { --showcase-height: max(100px,calc((100svh - var(--compact-nav-height,48px) - 32px) / 2)); --showcase-gap: 12px; padding: 64px 0 0; overflow: hidden; scroll-margin-top: 0; }
.showcase-heading-wrap { width: min(1200px,calc(100% - 64px)); margin: 0 auto 24px; display: flex; align-items: end; justify-content: center; gap: 24px; text-align: center; }
/* Una sola riga; a capo prima dell'accento solo su telefono. */
.showcase-heading-break { display: none; }
.showcase-heading-wrap h2 { font-size: clamp(36px,4vw,52px); line-height: .98; letter-spacing: -.065em; text-wrap: balance; }
.showcase-gallery { position: relative; display: grid; gap: var(--showcase-gap); padding: 10px 0; scroll-margin-top: -8px; }
.showcase-row { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: var(--navy) transparent; }
.showcase-track { display: flex; gap: var(--showcase-gap); width: max-content; }
.showcase-group { display: flex; flex: none; align-items: center; gap: var(--showcase-gap); width: max-content; padding: 0; margin: 0; list-style: none; }
.showcase-item { flex: none; height: var(--showcase-height); aspect-ratio: 4 / 5; margin: 0; overflow: hidden; border: 0; border-radius: 20px; background: #f2f3f5; }
.showcase-item--reel { aspect-ratio: 9 / 16; background: var(--navy); }
.showcase-item > img, .showcase-item > video { width: 100%; height: 100%; object-fit: contain; pointer-events: none; }
.showcase-item--cocktail > img { object-fit: cover; object-position: center 58%; }
.showcase-item--bag > img { object-fit: cover; object-position: center 12%; }
.showcase-item--interior > img { object-fit: cover; object-position: center; }
.showcase-section.is-ready:not(.is-still) .showcase-row { overflow: hidden; }
.showcase-section.is-ready:not(.is-still) .showcase-track { animation: showcase-travel var(--showcase-duration,60s) linear infinite; animation-play-state: paused; }
.showcase-section.is-running .showcase-track { animation-play-state: running !important; }
.showcase-row--reverse .showcase-track { animation-direction: reverse !important; }
.showcase-section.is-ready:not(.is-still) .showcase-row--finite .showcase-track { animation-name: showcase-shuttle; animation-direction: alternate !important; animation-timing-function: ease-in-out; }
.showcase-section.is-ready:not(.is-still) .showcase-row--finite.showcase-row--reverse .showcase-track { animation-direction: alternate-reverse !important; }
.showcase-section.is-ready .showcase-row--short .showcase-track { min-width: 100%; justify-content: center; animation: none; }
.showcase-section.is-still .showcase-group[aria-hidden="true"] { display: none; }
.showcase-section.is-still .showcase-row { padding-bottom: 10px; }
.showcase-section.is-still .showcase-track { transform: none; }
.showcase-section + .cases-section { padding-top: 64px; }
@keyframes showcase-travel { from { transform: translate3d(0,0,0); } to { transform: translate3d(calc(-1 * var(--showcase-distance)),0,0); } }
@keyframes showcase-shuttle { from { transform: translate3d(0,0,0); } to { transform: translate3d(calc(-1 * var(--showcase-travel)),0,0); } }
@media (max-width: 760px) {
  .showcase-section { --showcase-height: max(100px,calc((100svh - var(--compact-nav-height,38px) - 26px) / 2)); --showcase-gap: 10px; padding: 48px 0 0; }
  .showcase-gallery { padding-block: 8px; }
  .showcase-heading-wrap { width: calc(100% - 40px); gap: 16px; align-items: center; margin-bottom: 20px; }
  .showcase-heading-wrap h2 { font-size: clamp(30px,7.6vw,36px); }
  .showcase-heading-break { display: inline; }
  .showcase-item { border-radius: 14px; }
  .showcase-section + .cases-section { padding-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .showcase-section .showcase-track { animation: none !important; transform: none !important; }
}
