/* Tecnopulind: looping 3D photographic tile wall; no video, no glow streaks. */
.hero[data-cube-ready="true"] .hero-photo{
  isolation:isolate;animation:none!important;filter:none;
  background-image:url('assets/hero_showroom_sharp_20261024.webp');
}
.hero[data-cube-ready="true"] .hero-photo::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url('assets/hero_macchinari_cinema_hq_20261025.webp');
  background-size:cover;background-position:center;
  opacity:0;transition:opacity .35s linear;
}
.hero[data-cube-ready="true"][data-hero-current="1"] .hero-photo::before{opacity:1}
.hero[data-cube-ready="true"] .hero-photo::after{z-index:3;pointer-events:none}
.hero-cube-grid{
  position:absolute;inset:0;z-index:1;overflow:visible;
  display:grid;grid-template-columns:repeat(var(--cube-cols),minmax(0,1fr));
  grid-template-rows:repeat(var(--cube-rows),minmax(0,1fr));
  perspective:1150px;transform-style:preserve-3d;
  pointer-events:none;contain:layout;
}
.gtp-cube-orbit{position:relative;min-width:0;min-height:0;
  transform-style:preserve-3d;
  animation:gtp-cube-breathe 3.85s ease-in-out var(--phase,0s) infinite alternate;
}
.gtp-cube-rotator{position:absolute;inset:0;transform-style:preserve-3d;
  transform:rotateY(var(--turn,0deg));
  transition:transform 1.22s cubic-bezier(.22,.62,.25,1) var(--flip-delay,0ms);
  will-change:transform;
}
.gtp-cube-face{position:absolute;inset:-.3px;display:block;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  background-repeat:no-repeat;background-color:#092a3e;
  transform:translateZ(.7px);
}
.gtp-cube-back{transform:rotateY(180deg) translateZ(.7px)}
.hero[data-cube-ready="true"] .hero-glow{z-index:2}
.hero[data-cube-ready="true"] .hero-content{z-index:3}
/* The same photo remains legible while every tile gently rocks 3D. */
@keyframes gtp-cube-breathe{
  0%{transform:rotateY(-5.5deg) rotateX(1.5deg) translateZ(0)}
  50%{transform:rotateY(1.5deg) rotateX(-1deg) translateZ(1px)}
  100%{transform:rotateY(5.5deg) rotateX(1deg) translateZ(0)}
}
.hero[data-film-motion="paused"] .gtp-cube-orbit{animation-play-state:paused}
@media(max-width:620px){
  .hero[data-cube-ready="true"] .hero-photo::before{background-position:53% 50%}
  .hero[data-cube-ready="true"] .hero-photo{background-position:62% 50%}
  .hero-cube-grid{perspective:880px}
}
/* The user can disable animation at OS level: show a normal intact photo. */
@media(prefers-reduced-motion:reduce){
  .hero-cube-grid{display:none!important}
  .hero[data-cube-ready="true"] .hero-photo::before{transition:none!important}
  .hero[data-cube-ready="true"] .hero-photo{animation:none!important}
}

/* Desktop: full photographic scene with a continuous fade into the text area. */
@media(min-width:621px){
 .hero .hero-photo{left:0;right:0;mask-image:linear-gradient(90deg,transparent 0%,#000 42%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 42%,#000 100%)}
 .hero[data-cube-ready="true"] .hero-glow{background:linear-gradient(90deg,#041527 0%,#041527f5 18%,#041527d1 33%,#04152766 52%,#0415270d 74%,transparent 100%)}
}
