/* Upright hero cube: horizontal left-to-right turn, no X/Z tilt. */
.orbit-scene { --ribbon-cube-edge: 228px; --compact-ribbon-diameter: calc(var(--ribbon-cube-edge) * .85 * 1.35); }
.hero-cube-stage {
  --cube-scale: .85;
  --cube-edge: 228px;
  --cube-size: calc(var(--cube-edge) * var(--cube-scale));
  --cube-half: calc(var(--cube-size) / 2);
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  perspective: 1500px;
  perspective-origin: 50% 50%;
  z-index: 1;
  pointer-events: none;
}
.hero-cube {
  position: relative;
  display: block;
  width: var(--cube-size);
  height: var(--cube-size);
  transform-style: preserve-3d;
  transform-origin: 50% 50%;
  transform: rotateY(25deg);
  animation: hero-cube-turn 18s linear infinite;
  animation-play-state: paused;
  will-change: transform;
}
.cube-motion-enabled .hero-cube { animation-play-state: running; }
.cube-motion-paused .hero-cube { animation-play-state: paused; }
.hero-cube__face {
  position: absolute;
  display: grid;
  place-items: center;
  inset: 0;
  width: var(--cube-size);
  height: var(--cube-size);
  backface-visibility: hidden;
  border: 2px solid #a3c3dc;
  border-radius: 3px;
  padding: 9.35px;
  background: linear-gradient(140deg, #e4f0f8, #6587a8 8%, #132d47 17%, #162f48 82%, #94badb 95%, #e4f2ff);
  box-shadow: inset 0 0 0 2px #071a2d, inset 0 0 8px #05101b;
}
.hero-cube__face img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 1px;
  background: #fff;
  box-shadow: 0 0 0 1px #d7e6f3;
}
.hero-cube__face::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, #e9f5ff35, #eef7ff08 34%, #0000 52%, #06244030);
  box-shadow: inset 2px 2px 0 #fff5, inset -2px -2px 0 #011a2b80;
}
.cube-front { transform: translateZ(var(--cube-half)); }
.cube-back { transform: rotateY(180deg) translateZ(var(--cube-half)); }
.cube-right { transform: rotateY(90deg) translateZ(var(--cube-half)); }
.cube-left { transform: rotateY(-90deg) translateZ(var(--cube-half)); }
.cube-top { transform: rotateX(90deg) translateZ(var(--cube-half)); }
.cube-bottom { transform: rotateX(-90deg) translateZ(var(--cube-half)); }
.cube-right::after { background: linear-gradient(120deg, #9cbdd933, #031d3359); }
.cube-left::after { background: linear-gradient(120deg, #b6cfe915, #02172b69); }
.orbit-ready .hero-cube-stage { visibility: hidden; }
.orbit-scene .orbit-fallback { background: none; border: 0; box-shadow: none; }
.orbit-scene .orbit-fallback { width: var(--compact-ribbon-diameter); max-width: none; }
.orbit-scene .orbit-fallback span { inset: 0; width: 100%; height: 100%; border-width: 3px; opacity: .75; box-shadow: 0 0 5px #5caeff55, inset 0 0 3px #a6d9ff44; }
.orbit-scene.motion-enabled:not(.orbit-ready) .orbit-fallback span { border-width: 3px; background: linear-gradient(140deg, #e0f2ff08, #4c9fff14); box-shadow: 0 0 5px #5caeff55, inset 0 0 3px #a6d9ff44; }
.orbit-scene.motion-enabled:not(.orbit-ready) .orbit-fallback span:nth-child(2) { border-width: 2.5px; }
.orbit-scene.motion-enabled:not(.orbit-ready) .orbit-fallback span:nth-child(3) { border-width: 2px; }
@keyframes hero-cube-turn {
  from { transform: rotateY(25deg); }
  to { transform: rotateY(385deg); }
}
@media (min-width: 1600px) {
  .orbit-scene { --ribbon-cube-edge: 246px; }
  .hero-cube-stage { --cube-edge: 246px; }
}
@media (min-width: 1001px) and (max-width: 1220px) {
  .orbit-scene { --ribbon-cube-edge: 198px; }
  .hero-cube-stage { --cube-edge: 198px; }
}
@media (max-width: 1000px) {
  .orbit-scene { --ribbon-cube-edge: 148px; }
  .hero-cube-stage { --cube-edge: 148px; perspective: 1000px; }
  .hero-cube__face { padding: 5.95px; }
}
@media (min-width: 600px) and (max-width: 1000px) {
  .orbit-scene { --ribbon-cube-edge: 173px; }
  .hero-cube-stage { --cube-edge: 173px; }
}
@media (max-width: 370px) {
  .orbit-scene { --ribbon-cube-edge: 128px; }
  .hero-cube-stage { --cube-edge: 128px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-cube { animation: none !important; transform: rotateY(25deg); will-change: auto; }
}
