/* Пролёт «Недвижимость» → зал Галереи (prolet.js). Только opacity и transform, без filter/backdrop-filter (слабая видеокарта).
   Все анимации — WAAPI из prolet.js: на этой машине Windows «эффекты анимации: выкл» → styles.css гасит CSS-переходы (!important),
   а element.animate() это правило не трогает. */

/* режимы документа: html[data-rezhim] = glavnaya | prolet | zal (барабан) | dom | nazad.
   _edinyi_v1: вместо зала v9 — барабан и страница дома в iframe (#frBar z 60 под пролётом, #frDom z 90 над ним). */
html[data-rezhim="zal"] .site-shell, html[data-rezhim="dom"] .site-shell { display: none; }
html[data-rezhim="zal"], html[data-rezhim="dom"] { overflow: hidden; }
.ed-fr {
  position: fixed; left: 0; top: 0; width: 100%; height: 100%; border: 0; display: block;
  z-index: 60; opacity: 0; pointer-events: none; background: transparent; color-scheme: normal;
}
.ed-fr.on { pointer-events: auto; }
.ed-dom { z-index: 90; background: #0b0908; }
.ed-fly { position: fixed; left: 0; top: 0; z-index: 95; opacity: 0; pointer-events: none; transform-origin: 0 0; }
.ed-wait {
  position: fixed; left: 50%; bottom: 9vh; z-index: 96; transform: translateX(-50%); opacity: 0; pointer-events: none;
  display: flex; align-items: center; gap: 12px; color: rgba(242, 233, 220, .75);
  font: 500 10px/1 Manrope, system-ui, sans-serif; letter-spacing: .32em; text-transform: uppercase;
}
.ed-wait i { width: 46px; height: 1px; background: linear-gradient(90deg, transparent, #cda05c, transparent); }

.prolet {
  position: fixed; inset: 0; z-index: 80; overflow: hidden; background: transparent;
  contain: strict;
}
.prolet[hidden] { display: none; }
/* кадр = геометрия сцены главной: cover, позиция 100 % 58 % (как .scene-photo в villa.css), точка наезда 82 % 60 % */
.pr-v, .pr-img {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  object-fit: cover; object-position: 100% 58%; transform-origin: 82% 60%;
  opacity: 0; pointer-events: none; user-select: none;
}
.pr-v { background: transparent; }
.pr-mk {
  position: absolute; left: 0; top: 0; width: 100px; height: 100px; transform-origin: 0 0;
  opacity: 0; pointer-events: none; will-change: transform, opacity;
}
@media (max-aspect-ratio: 3/4) {
  .pr-v, .pr-img { object-position: 50% 50%; transform-origin: 50% 50%; }
}

.pr-skip {
  position: absolute; right: clamp(16px, 3vw, 44px); bottom: clamp(18px, 4vh, 44px); z-index: 3;
  padding: 12px 20px 13px; border-radius: 999px; cursor: pointer;
  border: 1px solid rgba(214, 190, 150, 0.55); color: #f4ebde; background: rgba(14, 11, 8, 0.55);
  font: 500 12px/1 Manrope, system-ui, sans-serif; letter-spacing: 0.22em; text-transform: uppercase;
  opacity: 0; transition: border-color .3s, background-color .3s;
}
.pr-skip span { display: inline-block; margin-left: 6px; }
.pr-skip:hover, .pr-skip:focus-visible { border-color: rgba(255, 226, 176, 0.95); background: rgba(14, 11, 8, 0.75); outline: none; }
.pr-skip[hidden] { display: none; }

/* v2 «Латунная хвоя» (15.10): чёрная кулиса между залом и стоп-кадром хвои + холст искр. Кулиса шире экрана: слева мягкий
   край (прозрачный → чёрный), уезжает вправо transform-ом = свет в зале зажигается рядами слева направо. */
.pr-black {
  position: absolute; top: 0; bottom: 0; left: -45vw; width: 190vw; opacity: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,0) 0, #000 45vw, #000 100%);
  will-change: transform, opacity;
}
.pr-fx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: 0; }
html.ed-skryt .site-shell { visibility: hidden; }
