.render-cases { --gallery-inset: max(20px,calc((var(--stage-viewport-width,1920px) - 1260px)/2)); position: relative; overflow: hidden; background: #000; color: #f5f5f7; }
.render-cases .module-stage { position: absolute; top: 0; left: 50%; width: 1920px; height: 2024px; transform: translateX(-50%); transform-origin: top center; }
.render-cases__hero { position: absolute; top: 0; left: 662px; width: 957px; height: 998px; object-fit: contain; pointer-events: none; }
.render-cases__eyebrow { position: absolute; z-index: 1; top: 224px; left: 330px; margin: 0; font-size: 20px; font-weight: 630; background: linear-gradient(180deg,#fec28a,#ca4b09); background-clip: text; color: transparent; }
.render-cases h2 { position: absolute; z-index: 1; top: 278px; left: 330px; width: 600px; margin: 0; font-size: 60px; font-weight: 630; line-height: 1.2; }
.render-cases__gallery { position: absolute; top: 1027px; left: calc((1920px - var(--stage-viewport-width,1920px))/2); width: var(--stage-viewport-width,1920px); height: 694px; overflow: hidden; scroll-padding-left: var(--gallery-inset); scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; touch-action: pan-y; }
.render-cases__gallery::-webkit-scrollbar { display: none; }
.render-cases__gallery:focus { outline: none; }
.render-cases__gallery.is-dragging, .render-cases__gallery.is-animating { cursor: grabbing; scroll-snap-type: none; }
.render-cases__track { display: flex; gap: 20px; width: max-content; padding-right: var(--gallery-inset); padding-left: var(--gallery-inset); will-change: transform; }
.render-cases .gallery-card { flex: 0 0 1260px; width: 1260px; height: 694px; margin: 0; overflow: hidden; border-radius: 30px; background: #121214; scroll-snap-align: start; cursor: pointer; }
.render-cases .gallery-card img { display: block; width: 100%; height: 100%; object-fit: cover; -webkit-user-drag: none; user-select: none; }
.render-cases__controls { position: absolute; top: 1810px; left: 50%; transform: translateX(-50%); }
.render-cases [data-reveal] { opacity: 0; transform: translateY(30px); transition: opacity 900ms ease, transform 700ms cubic-bezier(.16,1,.3,1); }
.render-cases [data-reveal].is-visible { opacity: 1; transform: none; }
.render-cases h2[data-reveal] { transition-delay: 150ms; }
.render-cases__gallery[data-reveal] { transition-delay: 300ms; }
.render-cases__controls[data-reveal] { opacity: 1; transform: translate(-50%,180px); transition: transform 1000ms cubic-bezier(.16,1,.3,1); }
.render-cases__controls[data-reveal].is-visible { transform: translateX(-50%); }

@media (max-width: 900px) {
  .render-cases { padding: 104px 0 88px; }
  .render-cases .module-stage { position: relative; left: auto; width: auto; height: auto; transform: none !important; }
  .render-cases__hero, .render-cases__eyebrow, .render-cases h2, .render-cases__gallery, .render-cases__controls { position: relative; inset: auto; }
  .render-cases__hero { position: absolute; top: -25px; right: -105px; left: auto; width: 390px; height: auto; opacity: .58; }
  .render-cases__eyebrow, .render-cases h2 { z-index: 1; margin-right: 20px; margin-left: 20px; }
  .render-cases h2 { width: auto; max-width: 680px; margin-top: 18px; font-size: clamp(40px,10.5vw,56px); }
  .render-cases__gallery { width: 100%; height: auto; margin-top: 280px; padding: 0; overflow-x: auto; overflow-y: hidden; border-radius: 0; scroll-padding-left: 20px; touch-action: pan-x; }
  .render-cases__track { gap: 14px; padding-right: 20px; padding-left: 20px; transform: none !important; transition: none !important; }
  .render-cases .gallery-card { flex-basis: calc(100vw - 54px); width: calc(100vw - 54px); height: auto; aspect-ratio: 1260/694; border-radius: 20px; }
  .render-cases__controls { justify-content: center; margin: 46px auto 0; transform: none; }
  .render-cases__controls[data-reveal] { transform: translateY(30px); }
  .render-cases__controls[data-reveal].is-visible { transform: none; }
}

@media (prefers-reduced-motion: reduce) { .render-cases * { scroll-behavior: auto !important; transition: none !important; } }
