.alliance-page .hero-small-window { height: 335px; overflow: hidden; border: 1px solid #000; border-radius: 48px; }
.alliance-page .hero-small-window img { display: block; height: 100%; border: 0; border-radius: 0; object-position: center; transform: translate(-12px, 36px) scale(1.65); transform-origin: left center; }
.alliance-page .hero-animation-frame iframe { position: absolute; top: 50%; left: 50%; display: block; width: 100%; height: auto; min-height: 100%; aspect-ratio: 4 / 3; border: 0; transform: translate(-50%, -50%); pointer-events: none; }
.alliance-page .showcase-grid { left: 49px; right: 49px; grid-template-columns: repeat(2, 500px); justify-content: space-between; gap: 0; }
.alliance-page .showcase-grid img { width: 500px; object-position: center; }
.alliance-page .showcase-grid img:first-child { object-position: 48% center; }
.alliance-page .process-image img { object-position: top center; }
.alliance-page .process-image img.is-contain { object-position: center; background: #f5f1e9; }
.alliance-page .screens-carousel { top: 152px; }
.alliance-page .screens-content { position: relative; width: 1016px; height: 1133px; }
.alliance-page .desktop-screens-stage { display: block; width: 1016px; height: 1133px; }
.alliance-page .desktop-screen-card { position: absolute; height: auto; max-height: var(--screen-card-max-height); min-width: 0; min-height: 0; overflow: hidden; }
.alliance-page .desktop-screen-card--left { --screen-card-max-height: 666px; top: 84px; left: 143px; width: 450px; }
.alliance-page .desktop-screen-card--right { --screen-card-max-height: 1121px; z-index: 1; top: 6px; left: 423px; width: 450px; }
.alliance-page .desktop-screen-card > div { height: auto; max-height: calc(var(--screen-card-max-height) - 30px); min-height: 0; overflow-x: hidden; overflow-y: auto; }
.alliance-page .desktop-screen-card img { width: 100%; height: auto; object-fit: contain; }

@media (max-width:760px) {
  .alliance-page .hero-animation-frame iframe { display: none; }
  .alliance-page .showcase-grid { grid-template-columns: 1fr; gap: 16px; }
  .alliance-page .showcase-grid img { width: 100%; }
  .alliance-page .screens-content { width: 100%; height: auto; overflow: visible; }
  .alliance-page .screens-carousel { display: grid; grid-template-columns: 28px minmax(0, 1fr) 28px; gap: 8px; align-items: center; }
  .alliance-page .desktop-screens-stage { position: static; width: 100%; height: auto; display: flex; flex-direction: column; gap: 16px; }
  .alliance-page .desktop-screen-card { --screen-card-max-height: min(100vw, 520px); position: static; width: 100%; }
}
