/* 18.10s «Строительство» (stroyka.js): пролёт Усадьба → лист прораба → вкладка на бумаге. Только opacity/transform,
   анимации — WAAPI (на этой машине reduce-motion из styles.css гасит CSS-переходы !important). Слой над главной (z 82). */
html[data-rezhim="stroyka"] { overflow: hidden; scrollbar-gutter: auto; }
.stroyka {
  position: fixed; inset: 0; z-index: 82; overflow: hidden; background: transparent; contain: strict;
  right: auto; width: 100vw;   /* html: scrollbar-gutter stable + overflow hidden сужали fixed-слой на 10 px (чёрная полоса справа) */
}
.stroyka[hidden] { display: none; }
.st-black { position: absolute; inset: 0; background: #000; opacity: 0; pointer-events: none; }
/* видео — геометрия как у кадра главной (.scene-photo в villa.css): cover, 50 % 55 %, портрет 50 % 50 % */
.st-v {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 55%;
  transform-origin: 0 0; opacity: 0; pointer-events: none; background: transparent;
}
@media (max-aspect-ratio: 3/4) { .st-v { object-position: 50% 50%; } }
/* лист = ВЕСЬ кадр 1920×1080 в координатах экрана (left/top/width/height ставит stroyka.js) — на телефоне шире экрана */
.st-kadr { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; pointer-events: none; }
.st-kadr img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; user-select: none; }
.st-svet {
  position: absolute; inset: 0; opacity: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(250, 243, 228, 0) 44%, rgba(250, 243, 228, .34) 54%, rgba(250, 243, 228, .58) 66%, rgba(250, 243, 228, .64) 100%);
}
.st-plan { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; transform-origin: 0 0; }
.st-plan line { fill: none; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
.st-plan .sv { stroke: rgba(255, 214, 146, .16); stroke-width: 9; }
.st-plan .ln { stroke: #e9bf74; stroke-width: 3.4; }

/* текст раздела — чернила на бумаге (тексты из korenskaya_cinema/index.html, «02 · Генподряд и надзор») */
.st-txt {
  position: absolute; right: clamp(24px, 5vw, 96px); top: 50%; transform: translateY(-50%);
  width: min(560px, 40vw); max-height: 88vh; overflow-y: auto; overscroll-behavior: contain;
  color: #1b1713; font-family: var(--sans); scrollbar-width: thin; padding: 6px 4px 6px 0;
}
.st-txt > * { opacity: 0; }
.st-eyebrow { margin: 0; font-size: .72rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #5a4120; }
.st-txt h2 {
  margin: 10px 0 0; font-family: var(--serif); font-weight: 500; font-size: clamp(2.6rem, 4vw, 3.8rem); line-height: 1;
  color: #1b1713; font-variant-numeric: lining-nums;
}
.st-lead { margin: 14px 0 0; font-size: 1rem; line-height: 1.55; color: #2a231b; max-width: 46ch; }
.st-steps { margin: 20px 0 0; padding: 0; list-style: none; counter-reset: шаг; }
.st-steps li {
  position: relative; padding: 11px 0 11px 44px; border-top: 1px solid rgba(27, 23, 19, .2);
  counter-increment: шаг; display: flex; flex-direction: column; gap: 2px;
}
.st-steps li:last-child { border-bottom: 1px solid rgba(27, 23, 19, .2); }
.st-steps li::before {
  content: counter(шаг, decimal-leading-zero); position: absolute; left: 0; top: 14px;
  font-size: .7rem; font-weight: 600; letter-spacing: .2em; color: #6e5128;
}
.st-steps b { font-family: var(--serif); font-weight: 600; font-size: 1.32rem; line-height: 1.1; color: #1b1713; }
.st-steps span { font-size: .88rem; line-height: 1.45; color: rgba(27, 23, 19, .8); }
.st-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0 0; }
.st-stats dt {
  font-family: var(--serif); font-weight: 500; font-size: clamp(2rem, 2.6vw, 2.7rem); line-height: .95; color: #1b1713;
  font-variant-numeric: lining-nums tabular-nums;
}
.st-stats dd { margin: 6px 0 0; font-size: .66rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(27, 23, 19, .72); }
.st-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.st-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px; border-radius: 999px;
  cursor: pointer; font: 500 .9rem/1 var(--sans); letter-spacing: .02em; white-space: nowrap;
}
.st-btn--main { color: #f3efe8; background: #1b1713; border: 1px solid #1b1713; box-shadow: 0 14px 34px rgba(27, 23, 19, .22); }
.st-btn--main:hover, .st-btn--main:focus-visible { background: #2c241b; outline: none; box-shadow: 0 16px 38px rgba(27, 23, 19, .3), 0 0 0 1px #b08a45; }
.st-btn--ghost { color: #1b1713; background: rgba(250, 243, 228, .35); border: 1px solid rgba(27, 23, 19, .42); }
.st-btn--ghost:hover, .st-btn--ghost:focus-visible { border-color: #1b1713; background: rgba(250, 243, 228, .6); outline: none; }
.stroyka .pr-skip { z-index: 5; }

/* телефон / узкий экран: план сверху, текст ниже своей прокруткой, свет снизу */
@media (max-width: 900px), (max-aspect-ratio: 3/4) {
  .st-svet { background: linear-gradient(180deg, rgba(250, 243, 228, 0) 22%, rgba(250, 243, 228, .58) 38%, rgba(250, 243, 228, .66) 100%); }
  .st-txt {
    left: 0; right: 0; top: 36vh; bottom: 0; transform: none; width: auto; max-height: none;
    padding: 18px 22px calc(28px + env(safe-area-inset-bottom));
    -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 18px); mask-image: linear-gradient(180deg, transparent 0, #000 18px);
  }
  .st-txt h2 { font-size: 2.6rem; }
  .st-lead { font-size: .96rem; }
  .st-steps b { font-size: 1.22rem; }
  .st-steps span { font-size: .9rem; }
  .st-stats dt { font-size: 2.1rem; }
  .st-cta { margin-top: 20px; }
  .st-btn { flex: 1 1 auto; }
}
/* лист контактов (копия боевого) — над вкладкой */
.sheet { z-index: 130; }
