/* Главная: чистая анимация сборки внутри существующей правой колонки hero. */
.z-home.z-sip26 .z-home-hero-ref .z-hero__media.z-hero__media--sip-build {
  aspect-ratio: 4 / 3;
  background: #b8c1af;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  container-name: sipbuild;
  container-type: inline-size;
  height: auto;
  isolation: isolate;
  min-height: 0;
  overflow: hidden;
  position: relative;
}

.z-sip-build,
.z-sip-build__frames,
.z-sip-build__frame,
.z-sip-build__finish-scan {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.z-sip-build { overflow: hidden; }

.z-sip-build__frame {
  object-fit: cover;
  object-position: 56% center;
  opacity: 0;
  transform: scale(1.018);
  z-index: 1;
}

.z-sip-build__frame--foundation { opacity: 1; transform: scale(1); }
.z-sip-build__frame--shell { z-index: 2; }
.z-sip-build__frame--extension { z-index: 3; }
.z-sip-build__frame--roof { z-index: 4; }
.z-sip-build__frame--finished {
  clip-path: inset(0 100% 0 0);
  filter: saturate(.88);
  opacity: 1;
  transform: scale(1);
  z-index: 5;
}

.z-sip-build__pieces {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 7;
}

.z-sip-build__piece {
  filter: drop-shadow(0 14px 14px rgba(4, 28, 16, .25));
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform-origin: center bottom;
  will-change: filter, transform, opacity;
}

.z-sip-build__piece--wall,
.z-sip-build__piece--extension { width: clamp(62px, 12cqw, 92px); }
.z-sip-build__piece--roof { width: clamp(142px, 25cqw, 190px); }

.z-sip-build__piece--w1 { --sx: -490%; --sy: 95%; --sr: -18deg; --tx: -185%; --ty: 40%; --tr: 0deg; --delay: .36s; }
.z-sip-build__piece--w2 { --sx: -450%; --sy: -175%; --sr: 16deg; --tx: -86%; --ty: 36%; --tr: 0deg; --delay: .72s; }
.z-sip-build__piece--w3 { --sx: 455%; --sy: 115%; --sr: -17deg; --tx: 18%; --ty: 32%; --tr: 0deg; --delay: 1.08s; }
.z-sip-build__piece--w4 { --sx: 430%; --sy: -165%; --sr: 18deg; --tx: 122%; --ty: 29%; --tr: 0deg; --delay: 1.44s; }
.z-sip-build__piece--w5 { --sx: -360%; --sy: -285%; --sr: -15deg; --tx: -137%; --ty: -105%; --tr: 0deg; --delay: 1.8s; }
.z-sip-build__piece--w6 { --sx: 350%; --sy: -290%; --sr: 15deg; --tx: -20%; --ty: -108%; --tr: 0deg; --delay: 2.16s; }

.z-sip-build__piece--e1 { --sx: 470%; --sy: 125%; --sr: -15deg; --tx: 174%; --ty: 47%; --tr: 0deg; --delay: 3.45s; }
.z-sip-build__piece--e2 { --sx: 500%; --sy: -145%; --sr: 16deg; --tx: 271%; --ty: 42%; --tr: 0deg; --delay: 3.82s; }
.z-sip-build__piece--e3 { --sx: 430%; --sy: 260%; --sr: -18deg; --tx: 222%; --ty: -58%; --tr: 0deg; --delay: 4.18s; }

.z-sip-build__piece--r1 { --sx: -305%; --sy: -280%; --sr: -18deg; --tx: -112%; --ty: -131%; --tr: -8deg; --delay: 5.65s; }
.z-sip-build__piece--r2 { --sx: 265%; --sy: -305%; --sr: 19deg; --tx: 8%; --ty: -151%; --tr: 8deg; --delay: 6.02s; }
.z-sip-build__piece--r3 { --sx: 365%; --sy: -185%; --sr: -19deg; --tx: 128%; --ty: -91%; --tr: -6deg; --delay: 6.35s; }

.z-sip-build__finish-materials {
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 8;
}

.z-sip-build__finish-materials i {
  background: linear-gradient(90deg, #242925 0 18%, #a98254 18% 47%, #ece7dc 47% 78%, #3a3e39 78%);
  box-shadow: 0 15px 28px rgba(5, 31, 18, .2);
  height: 42%;
  left: 43%;
  opacity: 0;
  position: absolute;
  top: 28%;
  transform: translate(var(--fx), var(--fy)) rotate(var(--fr)) scale(.5);
  width: 7%;
}

.z-sip-build__finish-materials i:nth-child(1) { --fx: -720%; --fy: -70%; --fr: -28deg; }
.z-sip-build__finish-materials i:nth-child(2) { --fx: 790%; --fy: -45%; --fr: 33deg; left: 50%; }
.z-sip-build__finish-materials i:nth-child(3) { --fx: -580%; --fy: 180%; --fr: 41deg; left: 57%; }
.z-sip-build__finish-materials i:nth-child(4) { --fx: 680%; --fy: 170%; --fr: -37deg; left: 64%; }

.z-sip-build__finish-scan {
  background: linear-gradient(90deg, transparent 39%, rgba(255,255,255,.56) 48%, rgba(109,210,141,.4) 50%, transparent 58%);
  opacity: 0;
  transform: translateX(-110%);
  z-index: 9;
}

.z-sip-build.is-playing .z-sip-build__frame--shell { animation: sip-build-frame-in .55s 3.05s ease-out forwards; }
.z-sip-build.is-playing .z-sip-build__frame--extension { animation: sip-build-frame-in .55s 5.25s ease-out forwards; }
.z-sip-build.is-playing .z-sip-build__frame--roof { animation: sip-build-frame-in .58s 7.45s ease-out forwards; }
.z-sip-build.is-playing .z-sip-build__frame--finished { animation: sip-build-finish-reveal 1.65s 8.45s cubic-bezier(.55,0,.2,1) forwards; }

.z-sip-build.is-playing .z-sip-build__piece--wall {
  animation: sip-build-piece-flight 1.05s var(--delay) cubic-bezier(.16,.82,.25,1) forwards,
             sip-build-piece-hide .2s 3.14s ease-in forwards;
}
.z-sip-build.is-playing .z-sip-build__piece--extension {
  animation: sip-build-piece-flight 1.12s var(--delay) cubic-bezier(.16,.82,.25,1) forwards,
             sip-build-piece-hide .2s 5.4s ease-in forwards;
}
.z-sip-build.is-playing .z-sip-build__piece--roof {
  animation: sip-build-piece-flight 1.2s var(--delay) cubic-bezier(.16,.82,.25,1) forwards,
             sip-build-piece-hide .2s 7.62s ease-in forwards;
}

.z-sip-build.is-playing .z-sip-build__finish-materials i { animation: sip-build-material-flight 1.1s 7.72s cubic-bezier(.2,.72,.2,1) forwards; }
.z-sip-build.is-playing .z-sip-build__finish-materials i:nth-child(2) { animation-delay: 7.86s; }
.z-sip-build.is-playing .z-sip-build__finish-materials i:nth-child(3) { animation-delay: 8s; }
.z-sip-build.is-playing .z-sip-build__finish-materials i:nth-child(4) { animation-delay: 8.14s; }
.z-sip-build.is-playing .z-sip-build__finish-scan { animation: sip-build-finish-scan 1.75s 8.35s ease-in-out forwards; }

@keyframes sip-build-frame-in {
  from { opacity: 0; transform: scale(1.018); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes sip-build-piece-flight {
  0% { filter: blur(4px) drop-shadow(0 14px 14px rgba(4,28,16,.2)); opacity: 0; transform: translate(var(--sx), var(--sy)) rotate(var(--sr)) scale(.68); }
  12% { opacity: 1; }
  76% { filter: blur(0) drop-shadow(0 14px 14px rgba(4,28,16,.26)); opacity: 1; transform: translate(var(--tx), var(--ty)) rotate(var(--tr)) scale(.9); }
  87% { filter: drop-shadow(0 0 14px rgba(116,213,140,.65)); opacity: 1; transform: translate(var(--tx), var(--ty)) rotate(var(--tr)) scale(.83); }
  94% { filter: drop-shadow(0 0 5px rgba(116,213,140,.24)); opacity: 1; transform: translate(var(--tx), var(--ty)) rotate(var(--tr)) scale(.85); }
  100% { filter: drop-shadow(0 0 5px rgba(116,213,140,.18)); opacity: 1; transform: translate(var(--tx), var(--ty)) rotate(var(--tr)) scale(.85); }
}

@keyframes sip-build-piece-hide { to { opacity: 0; } }

@keyframes sip-build-material-flight {
  0% { opacity: 0; transform: translate(var(--fx), var(--fy)) rotate(var(--fr)) scale(.45); }
  16%, 72% { opacity: .92; }
  88% { opacity: .86; transform: translate(0, 0) rotate(0) scale(1); }
  100% { opacity: 0; transform: translate(0, 0) rotate(0) scale(.95); }
}

@keyframes sip-build-finish-reveal {
  0% { clip-path: inset(0 100% 0 0); filter: saturate(.82); }
  82% { clip-path: inset(0); filter: saturate(.94); }
  100% { clip-path: inset(0); filter: saturate(1); }
}

@keyframes sip-build-finish-scan {
  0% { opacity: 0; transform: translateX(-110%); }
  20%, 72% { opacity: 1; }
  100% { opacity: 0; transform: translateX(110%); }
}

.z-sip-build.is-complete .z-sip-build__frame:not(.z-sip-build__frame--finished),
.z-sip-build.is-complete .z-sip-build__pieces,
.z-sip-build.is-complete .z-sip-build__finish-materials,
.z-sip-build.is-complete .z-sip-build__finish-scan { display: none !important; }

.z-sip-build.is-complete .z-sip-build__frame--finished {
  clip-path: inset(0) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

@container sipbuild (max-width: 520px) {
  .z-sip-build__piece--wall,
  .z-sip-build__piece--extension { width: clamp(50px, 12cqw, 66px); }
  .z-sip-build__piece--roof { width: clamp(112px, 25cqw, 145px); }
}

@media (max-width: 767.98px) {
  .z-sip-build__frame { object-position: 55% center; }
}

@media (prefers-reduced-motion: reduce) {
  .z-sip-build * { animation: none !important; }
  .z-sip-build__frame:not(.z-sip-build__frame--finished),
  .z-sip-build__pieces,
  .z-sip-build__finish-materials,
  .z-sip-build__finish-scan { display: none !important; }
  .z-sip-build__frame--finished { clip-path: inset(0) !important; filter: none !important; opacity: 1 !important; transform: none !important; }
}
