/* РОВНО — главная v2 (spec v2.6 §0, §4; тёмная тема §2.4). Один блок — один экран: секция = 100svh, рабочее поле внутри полей §0;
   закреплённые сцены — sticky на 100svh, длина прокрутки ≤ 400svh. Ниже 600 px высоты правило снимается. */
.home{padding-bottom:0}
.home main{padding:0}
.scr{position:relative;height:100svh;padding:var(--top) var(--side) var(--bot);overflow:hidden}
.pin{position:relative}
.pin-st{position:sticky;top:0;height:100svh;overflow:hidden}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;height:100%}
.shade{position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(to top,rgba(6,6,7,.62),rgba(6,6,7,0));pointer-events:none;z-index:1}
.on-dark{color:var(--fg)}
.e1-txt,.e2-txt,.e5-txt,.e10-txt,.e11-txt,.e5-mini .tS,.e11-mini .tS{text-shadow:0 1px 16px rgba(6,6,7,.45)}
/* читаемость на фото (Николай 26.10: «светлого текста на светлом фоне быть не должно»): под текстом в Э1, Э2, Э10 —
   затемнение снизу и слева по всему кадру; в Э5 и Э11 (светлые комнаты, текст в несколько строк) — полупрозрачная подложка */
.e1 .fl-stage::after,.e2 .pin-st::after,.e10::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
 background:linear-gradient(to top,rgba(6,6,7,.84) 0%,rgba(6,6,7,.6) 26%,rgba(6,6,7,.18) 50%,rgba(6,6,7,0) 62%),linear-gradient(to right,rgba(6,6,7,.5) 0%,rgba(6,6,7,0) 52%)}
.e5-txt,.e11-txt{padding:22px 26px 24px;margin-left:-26px;border-radius:24px;background:rgba(6,6,7,.62);box-shadow:0 0 0 1px rgba(241,237,228,.06) inset}
.fig-viz{position:absolute;top:var(--top);left:var(--side);z-index:4;margin:0}
.go{display:inline-block}
.lk-m{display:none}
@media (max-width:767px){.lk-pc{display:none}.lk-m{display:inline}}
.home .tH{margin:0}
/* кадр в край */
.frame picture,.frame img{width:100%;height:100%;object-fit:cover}

/* вход экрана (эффект 01): заголовок по словам из маски 420 мс, шаг 60 мс; затем лид, затем кнопка */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w>span{display:inline-block}
.js [data-in]:not(.in) .w>span{transform:translateY(105%)}
.js [data-in] .w>span{transition:transform 420ms var(--ease-out) calc(var(--i,0) * 60ms)}
/* блоки въезжают со своей стороны (--rx ставит home.js), свойство translate не мешает собственным transform блоков */
.js [data-in]:not(.in) .rv{opacity:0;translate:var(--rx,0px) 24px}
.js [data-in] .rv{transition:opacity 500ms var(--ease-out) calc(var(--d,0) * 1ms),translate 700ms var(--ease-out) calc(var(--d,0) * 1ms)}

/* вычерчивание листов (09): стены → проёмы → мебель → электрика → размеры, затем надписи */
.js .draw [pathLength]{stroke-dasharray:1;stroke-dashoffset:1}
.js .in .draw [pathLength],.js .drawn .draw [pathLength],.js .draw.drawn [pathLength]{stroke-dashoffset:0;transition:stroke-dashoffset 1200ms var(--ease-out)}
.js .in .draw .pl-open [pathLength]{transition-delay:150ms}
.js .in .draw .pl-furn [pathLength],.js .in .draw .pl-furn-faint [pathLength]{transition-delay:300ms}
.js .in .draw .pl-elec [pathLength]{transition-delay:450ms}
.js .in .draw .pl-dim [pathLength]{transition-delay:600ms}
.js .draw text{opacity:0;transition:opacity 300ms var(--ease-out) 1000ms}
.js .in .draw text,.js .drawn .draw text,.js .draw.drawn text{opacity:1}
.sheet{margin:0;background:var(--card-2);border-radius:var(--r);border:1px solid var(--line)}
.sheet-svg{width:100%;height:100%}

/* ---------- Э1 пролёт ---------- */
.e1 .fl-stage{color:var(--fg)}
.e1-txt{position:absolute;z-index:3;left:var(--side);right:var(--side);bottom:var(--bot);display:grid;grid-template-columns:minmax(0,1026px);grid-template-areas:"chip" "t" "row";align-items:end}
.e1-t{grid-area:t;align-self:end}
.e1-stops{display:contents}
.e1-bc{grid-column:1 / -1;grid-row:1 / 4}
.e1-t .tH{margin-bottom:16px}
.e1-lead{margin-top:16px}
.e1-proj{margin-top:4px}
.e1-row{grid-area:row;display:flex;align-items:center;gap:24px;margin-top:32px}
.e1-chip{grid-area:chip;justify-self:start;margin-bottom:12px;display:inline-block;line-height:40px;height:40px;padding:0 16px;border-radius:999px;background:rgba(6,6,7,.8);color:var(--fg);text-decoration:none;font:500 var(--fS)/1 var(--ff);letter-spacing:0;white-space:nowrap}
@media (hover:hover){.e1-chip:hover{background:rgba(6,6,7,.86)}}
.e1-hint{position:absolute;z-index:3;left:0;right:0;bottom:14px;text-align:center;color:rgba(241,237,228,.86)}
.e1 .fl-shade,.e5 .fl-shade{z-index:1}
.e1 .tD,.e1 .tH{text-wrap:balance}

/* ---------- Э2 лента проектов ---------- */
.e2{height:280svh;background:var(--bg)}
.e2-track{position:absolute;inset:0;display:flex;width:400%;outline:none}
.e2-card{position:relative;flex:none;width:25%;height:100%;margin:0;overflow:hidden}
.e2-ph,.e2-ph picture,.e2-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.e2-ph picture{transform:translateX(calc(var(--par,0) * 1%))}
.e2-dw{position:absolute;inset:0;overflow:hidden;background:var(--bg);transform:translateX(calc((var(--x,0) - 1) * 100%));z-index:2}
.e2-dw-in{position:absolute;inset:0;transform:translateX(calc((1 - var(--x,0)) * 100%));display:flex;align-items:center;justify-content:center;padding:calc(var(--top) + 40px) 48px calc(var(--bot) + 300px)}
.e2-dw img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.e2-card::after{content:"";position:absolute;z-index:3;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:var(--act);transform:translateX(calc(var(--x,0) * 100vw));opacity:var(--hx,0);transition:opacity 200ms var(--ease-out)}
.e2 .fig-viz{z-index:4}
.e2-txt{position:absolute;z-index:3;left:var(--side);bottom:var(--bot);max-width:910px}
.e2-lead{margin-top:16px}
.e2-caps{display:grid;margin-top:24px}
.e2-c{grid-area:1 / 1;opacity:0;transform:translateY(12px);transition:opacity 300ms var(--ease-out),transform 300ms var(--ease-out);pointer-events:none}
.e2-c.on{opacity:1;transform:none;pointer-events:auto}
.e2-name{display:block;font-weight:400;text-decoration:none;color:var(--fg)}
@media (hover:hover){.e2-name:hover{text-decoration:underline;text-underline-offset:4px}}
.e2-typ{display:block;margin-top:4px}
.e2-txt .go{margin-top:12px}
.e2-side{position:absolute;z-index:3;right:var(--side);bottom:var(--bot);display:flex;align-items:center;gap:16px}
.e2-count{display:inline-block;line-height:52px;height:52px;padding:0 22px;border-radius:999px;font:600 var(--fT)/1 var(--ff);color:var(--fg);--lg-tint:rgba(6,6,7,.66)}
.e2-count b{font-weight:600}

/* ---------- Э3 листы проекта ---------- */
.e3-txt{grid-column:1 / 7;display:flex;flex-direction:column;align-items:flex-start}
.e3-lead{margin-top:16px;max-width:676px}
.e3-price{margin-top:24px}
.e3-for{margin-top:4px;color:var(--fg-2)}
.e3-act{margin-top:32px}
.e3-go{margin-top:12px}
.e3-fan{grid-column:7 / 13;position:relative;--fp:0}
.e3-fan .sheet{position:absolute;top:0;bottom:0;left:50%;width:min(100%,calc((100svh - var(--top) - var(--bot)) * .62));margin-left:calc(min(100%,calc((100svh - var(--top) - var(--bot)) * .62)) / -2);padding:20px;display:flex;align-items:center;justify-content:center;transform-origin:50% 90%}
.e3-fan img{max-width:100%;max-height:100%;object-fit:contain}
.e3-b1{transform:translateX(calc(-22% * var(--fp))) rotate(calc(-6deg * var(--fp)))}
.e3-b2{transform:translateX(calc(20% * var(--fp))) rotate(calc(5deg * var(--fp)))}
.e3-top{z-index:2;padding-top:44px!important}
.sheet-n{position:absolute;top:14px;left:20px;right:20px;color:var(--fg-2);border-bottom:.75px solid var(--line);padding-bottom:4px}
.e3-top svg{max-height:100%}
.crop::before,.crop::after,.e3-top::before,.e3-top::after{content:"+";position:absolute;font:400 var(--fS)/1 var(--ff);color:var(--fg-2)}
.e3-top::before{left:6px;top:4px}.e3-top::after{right:6px;bottom:4px}
.crop::before{right:6px;top:4px}.crop::after{left:6px;bottom:4px}
.crop{position:absolute;inset:0;pointer-events:none}

/* ---------- Э4 перепланировка ---------- */
.e4-txt{grid-column:1 / 7;display:flex;flex-direction:column;align-items:flex-start;min-height:0}
.e4-lead{margin-top:16px}
.e4-ls,.e4-itog{display:none}
.e4-types{margin-top:24px;display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:24px;--lg-tint:rgba(34,37,43,.8);--lg-rim:rgba(241,237,228,.18)}
.e4-chip{height:36px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--fg);font:500 var(--fS)/1 var(--ff);letter-spacing:0;cursor:pointer;white-space:nowrap;transition:background-color 200ms var(--ease-out),color 200ms var(--ease-out)}
.e4-chip[aria-checked="true"]{background:var(--act);color:var(--act-fg)}
@media (hover:hover){.e4-chip:not([aria-checked="true"]):hover{background:rgba(241,237,228,.14)}}
.e4-row{display:flex;align-items:center;gap:16px;margin-top:12px}
.e4-seg{background:rgba(241,237,228,.12);width:200px}
.e4-seg span{color:var(--fg);min-height:36px}
.e4-seg input:checked+span{background:var(--act);color:var(--act-fg)}
.e4-step{margin-top:12px;min-height:42px;max-width:559px}
.e4-note{margin-top:4px;min-height:21px;color:var(--fg);padding-left:16px;position:relative}
.e4-note:not(:empty)::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--bad)}
.e4-sel{display:none}
.e4-tab{margin-top:24px;border-collapse:collapse;width:100%;max-width:559px}
.e4-tab th,.e4-tab td{text-align:left;padding:3px 12px 3px 0;font-weight:500;border-bottom:1px solid rgba(241,237,228,.18)}
.e4-tab thead th{color:rgba(241,237,228,.7)}
.e4-tab td{font-variant-numeric:tabular-nums;white-space:nowrap}
.e4-tab tfoot th,.e4-tab tfoot td{font-weight:600;border:0}
.e4-act{margin-top:32px}
.e4-plan{grid-column:7 / 13;position:relative;margin:0;min-height:0}
.e4-b,.e4-s{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity 300ms var(--ease-out)}
.e4-plan svg{width:100%;height:100%}
.e4-plan[data-v="bylo"] .e4-s{opacity:0}
.e4-plan[data-v="stalo"] .e4-b{opacity:.14}
.e4-plan.swap .e4-s .draw [pathLength],.e4-plan.swap .e4-s [pathLength]{transition:none;stroke-dashoffset:1}
.e4 .e4-s [pathLength]{transition-duration:900ms!important}
/* чертёжный слой на тёмном листе (spec v2.6 §2.8): цвета заменены при сборке (home.svg_text) — линии крем, размеры жёлтым */
.plan-svg text,.sheet-svg text{fill:#F1EDE4}
.plan-svg .pl-dim [stroke="#F1EDE4"],.sheet-svg .pl-dim [stroke="#F1EDE4"]{stroke:var(--act)}
.plan-svg .pl-dim text,.sheet-svg .pl-dim text,.sheet-svg text.dim{fill:var(--act)}
.plan-svg>rect[fill="#121418"],.sheet-svg>rect[fill="#121418"]{fill:transparent}

/* ---------- Э5 бетон → ключи ---------- */
.e5 .fl-stage{color:var(--fg)}
.e5-txt{position:absolute;z-index:3;left:var(--side);bottom:var(--bot);width:min(559px,calc(100% - 2 * var(--side)))}
.e5-h{font:600 var(--fL)/1.4 var(--ff);letter-spacing:-.01em}
.e5-s{margin-top:4px;color:var(--fg)}
.e5-steps{display:grid;margin-top:12px}
.e5-step{grid-area:1 / 1;align-self:end}
.e5-n{margin-bottom:8px;color:var(--fg)}
.e5-step .tH{text-wrap:balance}
.e5-line{margin-top:12px}
.e5-txt>.go{margin-top:12px}
.gws{position:absolute;inset:0;z-index:2;display:grid;place-items:center;pointer-events:none}
.gw{grid-area:1 / 1;width:calc(100% - 2 * var(--side));aspect-ratio:1000 / 230;position:relative}
.gw::before{content:"";position:absolute;inset:0;-webkit-backdrop-filter:blur(14px) saturate(130%) brightness(.55);backdrop-filter:blur(14px) saturate(130%) brightness(.55);background:rgba(6,6,7,.34);
 -webkit-mask:var(--m) center / 100% 100% no-repeat;mask:var(--m) center / 100% 100% no-repeat}
.gw svg{position:absolute;inset:0;width:100%;height:100%}
.gw text{font:600 188px var(--fd);letter-spacing:-.04em;fill:none;stroke:rgba(241,237,228,.85);stroke-width:1.4}
.e5 .fig-viz{z-index:4}
.e5-mini{position:absolute;z-index:3;right:var(--side);bottom:var(--bot);display:grid;justify-items:end;gap:8px}
.e5-mini .tS,.e11-mini .tS{grid-area:2 / 1;color:var(--fg);white-space:nowrap}
.mp{position:relative;width:160px;padding:8px;border-radius:16px;background:rgba(6,6,7,.8)}
.mp img{width:100%;height:auto;filter:invert(.92) hue-rotate(180deg) sepia(.12)}
.mp-dot{position:absolute;left:var(--x);top:var(--y);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--act);box-shadow:0 0 0 3px rgba(247,166,0,.3)}
.mp-dot::after{content:"";position:absolute;left:50%;bottom:50%;width:44px;height:44px;margin-left:-22px;background:rgba(247,166,0,.28);clip-path:polygon(50% 100%,0 0,100% 0)}
.e5-loupe{position:absolute;z-index:3;top:calc(var(--top) + 40px);right:calc(var(--side) + 40px);display:grid;justify-items:center;gap:8px;color:var(--fg)}
.e5-loupe picture,.e5-loupe img{display:block;width:220px;height:220px;border-radius:50%;object-fit:cover}
.e5-loupe picture{box-shadow:0 0 0 2px var(--bg),var(--shadow-up);overflow:hidden}
.e5-loupe p{background:rgba(6,6,7,.8);padding:4px 12px;border-radius:999px}
.fl-static .gws,.fl-static .e5-loupe{display:none}

/* ---------- Э6 цены ---------- */
.e6-in{display:flex;flex-direction:column;height:100%;max-width:1376px;margin:0 auto}
.e6-top{display:grid;grid-template-columns:minmax(0,793px) 1fr;gap:24px;align-items:end}
.e6-ctl{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.e6-area{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 18px;border-radius:999px;background:var(--card-2);font:500 var(--fS)/1 var(--ff);letter-spacing:0}
.e6-area input{width:56px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-align:center;font:600 var(--fT)/1 var(--ff);color:var(--fg)}
.e6-area input:focus{outline:2px solid var(--act);outline-offset:1px}
.e6-area.bad input{border-color:var(--bad)}
.e6-mode{display:none}
.e6-lead{margin-top:16px}
.e6-ls,.e6-go-m{display:none}
.e6-err{color:var(--bad)}
.e6-err:empty{display:none}
.pk-l{margin-top:24px;display:grid;grid-template-rows:repeat(5,68px)}
.pk-r{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;align-items:center;padding:0 16px;border-radius:16px;outline:none;
 transition:transform 200ms var(--ease-out),box-shadow 200ms var(--ease-out),background-color 200ms var(--ease-out)}
.pk-r:nth-child(odd){background:var(--card)}
.pk-name,.pk-v{font:600 var(--fL)/1.4 var(--ff);letter-spacing:-.01em}
.pk-for,.pk-c .tS{color:var(--fg-2)}
.pk-from,.pk-t{display:none}
.pk-r:hover,.pk-r:focus-visible,.pk-r.open{transform:translateY(-8px);background:var(--line);box-shadow:var(--shadow-up);z-index:5}
.pk-card{position:absolute;left:0;top:100%;width:calc((100% - 48px) / 3 + 16px);margin-top:4px;padding:16px 18px;border-radius:16px;color:var(--fg);--lg-tint:rgba(34,37,43,.86);--lg-filter:blur(16px);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
 opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out)}
.pk-card ul{margin:6px 0 8px;display:grid;gap:2px}
.pk-card li::before{content:"· "}
.pk-card .go{font-size:var(--fS)}
.pk-r:hover .pk-card,.pk-r:focus-visible .pk-card,.pk-r.open .pk-card{opacity:1;transform:none;pointer-events:auto}
.pk-r:nth-child(n+4) .pk-card{top:auto;bottom:100%;margin:0 0 4px}
.e6-foot{margin-top:16px;color:var(--fg-2)}
.pk-star{border:0;background:none;padding:0 4px;margin:0 0 0 2px;font:inherit;color:var(--act);cursor:pointer;vertical-align:baseline}
.e6-foot .pk-star{font-weight:600}
.e6-dlg p{color:var(--fg-2)}
.e6-foot .go{font-size:var(--fS)}
.e6 [data-a]{font-variant-numeric:tabular-nums}

/* ---------- Э7 смета на графите ---------- */
.e7-sheet{grid-column:1 / 7;margin:0;min-height:0;display:flex;align-items:center;justify-content:center}
.e7-sheet svg{width:100%;height:100%}
.e7-txt{grid-column:7 / 13;display:flex;flex-direction:column;align-items:flex-start}
.e7-lead{margin-top:16px}
.e7-t{margin-top:24px;width:100%;border-collapse:collapse}
.e7-t th,.e7-t td{text-align:left;padding:4px 8px 4px 0;font-weight:500;border-bottom:1px solid rgba(241,237,228,.16);white-space:nowrap}
.e7-t thead th{color:rgba(241,237,228,.66)}
.e7-t tbody th{white-space:normal}
.e7-t tbody tr{cursor:default;outline:none;transition:background-color 200ms var(--ease-out)}
.e7-t tbody tr:hover,.e7-t tbody tr:focus-visible,.e7-t tbody tr.on{background:rgba(247,166,0,.14)}
.e7-n{margin-top:12px;color:rgba(241,237,228,.78)}
.e7-txt .go{margin-top:12px}
.e7 .pl-elec [stroke]{transition:stroke 200ms var(--ease-out)}
.e7.hl .sheet-svg .pl-elec [stroke="#F1EDE4"]{stroke:var(--act)}
.e7.hl .sheet-svg .pl-elec [fill="#F1EDE4"]{fill:var(--act)}
.e7.hl .sheet-svg>g:not(.pl-elec){opacity:.55}
.e7 .sheet-svg>g{transition:opacity 200ms var(--ease-out)}

/* ---------- Э8 срок и пеня ---------- */
.e8-txt{grid-column:1 / 7;display:flex;flex-direction:column;align-items:flex-start}
.e8-lead{margin-top:16px}
.e8-big{margin-top:32px}
.e8-hl{position:relative;display:inline-block}
.e8-hl::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--act);transform:scaleX(0);transform-origin:left;transition:transform 400ms var(--ease-out) 700ms}
.in .e8-hl::after{transform:none}
.e8-cap{margin-top:4px;color:var(--fg-2)}
.e8-go{margin-top:24px}
.e8-sheet{grid-column:7 / 13;align-self:stretch;position:relative;padding:48px;display:flex;flex-direction:column;justify-content:center}
@media (min-width:1024px){.e8-p{font:400 var(--fL)/1.4 var(--ff);letter-spacing:-.01em}.e8-pencil{top:120px;height:calc(100% - 200px)}}
.e8-h{font-weight:600;margin-bottom:16px}
.e8-under{margin-top:24px;color:var(--fg-2)}
.e8-p+.e8-p{margin-top:16px}
.e8-pencil{position:absolute;left:40px;right:40px;top:80px;height:calc(100% - 120px);width:calc(100% - 80px);stroke:var(--fg-2);stroke-width:2;stroke-linecap:round;fill:none;opacity:.5;pointer-events:none;transition:opacity 300ms var(--ease-out) 900ms}
.js .e8-pencil line{stroke-dasharray:1;stroke-dashoffset:1}
.js .in .e8-pencil line{stroke-dashoffset:0;transition:stroke-dashoffset 600ms var(--ease-out)}
.js .in .e8-pencil{opacity:0}
.js .e8-cl .e8-p{opacity:0;transition:opacity 300ms var(--ease-out) 800ms}
.js .in .e8-cl .e8-p{opacity:1}

/* ---------- Э9 разрез и акт ---------- */
.e9{height:130svh}
.e9 .pin-st{padding:var(--top) var(--side) var(--bot)}
.e9-raz{grid-column:1 / 7;min-height:0;position:relative;padding:20px 16px;display:grid;grid-template-columns:minmax(0,1fr) 210px;column-gap:16px;grid-template-rows:auto minmax(0,1fr);align-content:start;overflow:hidden}
.e9-name{grid-column:1;color:var(--fg-2);margin-bottom:8px}
.e9-dr{grid-column:1;grid-row:2;min-height:0;display:flex;align-items:center;justify-content:center}
.e9-dr svg{width:100%;height:100%}
/* выноски чертежа — HTML-подписи S 15 в экранных пикселях (spec v2.4 §Э9); слой подписей и размеров SVG скрыт */
.e9r .lbl,.e9r .dim,.e9r .pl-txt{display:none}
.e9-cl{grid-column:2;grid-row:2;position:relative}
@media (min-width:768px){.e9-n{display:none}}
.e9-c{color:var(--fg);margin-bottom:6px}
.js .e9-c{position:absolute;left:0;right:0;top:0;margin:0;transform:translateY(var(--y,0px));opacity:0;transition:opacity 300ms var(--ease-out),transform 300ms var(--ease-out)}
.js .e9-c.on{opacity:1}
.e9-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.e9-lines line{stroke:var(--fg);stroke-width:.75;transition:opacity 300ms var(--ease-out)}
.e9-lines circle{fill:var(--fg)}
.e9-txt{grid-column:7 / 13;display:flex;flex-direction:column;align-items:flex-start;min-height:0}
.e9-lead{margin-top:16px}
.e9-act{margin-top:24px;padding:20px 24px;transform:rotate(2deg);width:100%;max-width:520px}
.e9-act table{width:100%;border-collapse:collapse}
.e9-act caption{text-align:left;font-weight:600;margin-bottom:8px}
.e9-act th,.e9-act td{border:1px solid var(--line);padding:2px 6px;text-align:left;font-weight:500;white-space:nowrap}
.e9-act td:nth-child(2){white-space:normal}
.e9-act td:empty::after{content:"\00a0"}
.e9-sign{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.e9-ok{color:var(--ok);border:1.5px solid var(--ok);border-radius:6px;padding:0 8px;font-weight:600;transform:rotate(-4deg)}
.e9-form{margin-top:8px;color:var(--fg-2)}
.e9-go{margin-top:12px}
.e9-act-b{margin-top:32px}

/* ---------- Э10 контроль: до готовности кадра — бумага и карточка отчёта без фото (spec v2.5) ---------- */
.e10-txt{position:absolute;z-index:3;left:var(--side);bottom:var(--bot);max-width:676px}
.e10-txt .tL{margin-top:16px}
.e10-txt .go{margin-top:12px}
.e10-card{position:absolute;z-index:3;right:calc(var(--side) + 8.4%);bottom:var(--bot);width:420px;padding:20px 24px;border-radius:var(--r);color:var(--fg);--lg-tint:rgba(18,20,24,.86);box-shadow:var(--shadow-up);display:grid;gap:8px;transition:opacity 320ms var(--ease-out),transform 320ms var(--ease-out)}
.js .e10:not(.in) .e10-card{opacity:0;transform:translateY(40px)}
.e10-week,.e10-ex{color:var(--fg-2)}
/* Э10 с принятым кадром: кадр в край, карточка с фото (spec v2.5 §Э10) */
.e10-ph-on{padding:0}
.e10-ph{position:absolute;inset:0;margin:0}
.e10-ph picture{position:absolute;inset:-3%;transform:scale(calc(1 + .06 * var(--vp,0)))}
.e10-ph img{width:100%;height:100%;object-fit:cover}
.e10-ph-on .e10-card{--lg-tint:rgba(18,20,24,.82);box-shadow:var(--shadow-up)}
.e10-cimg{height:200px;border-radius:16px;overflow:hidden}
.e10-cimg picture,.e10-cimg img{width:100%;height:100%;object-fit:cover}
@media (max-width:1023px){.e10-cimg{height:120px}}

/* ---------- Э11 наполнение мебелью ---------- */
.e11{height:170svh}
.e11-st-fig{position:absolute;inset:0;margin:0}
.e11-st-fig picture{position:absolute;inset:0;opacity:0;transition:opacity 300ms var(--ease-out)}
.e11-st-fig picture.on{opacity:1}
.e11-st-fig img{width:100%;height:100%;object-fit:cover}
.e11-txt{position:absolute;z-index:3;left:var(--side);bottom:var(--bot);max-width:676px}
.e11-steps{display:grid;margin-top:16px}
.e11-step{grid-area:1 / 1;opacity:0;transform:translateY(12px);transition:opacity 300ms var(--ease-out),transform 300ms var(--ease-out)}
.e11-step.on{opacity:1;transform:none}
.e11-step .tS{color:rgba(241,237,228,.86)}
.e11-st{margin-top:8px;font-weight:600}
.e11-lead{margin-top:12px}
.e11-txt .go{margin-top:12px}
.e11-mini{position:absolute;z-index:3;right:var(--side);bottom:var(--bot);display:grid;justify-items:end;gap:8px}
.e11-status{opacity:0;transition:opacity 300ms var(--ease-out)}
.e11-status.on{opacity:1}

/* ---------- Э12 оплата: лист договора листается ---------- */
.e12-book{grid-column:1 / 7;position:relative;margin:0;perspective:1600px;min-height:0}
.e12-pg{position:absolute;top:0;bottom:0;width:50%;padding:32px 28px;border:1px solid var(--line);background:var(--card-2);display:flex;flex-direction:column;gap:20px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.e12-right{left:50%;border-radius:0 var(--r) var(--r) 0}
.e12-leaf{position:absolute;top:0;bottom:0;left:50%;width:50%;transform-origin:0 50%;transform:rotateY(calc(-180deg * var(--fl,0)));transform-style:preserve-3d;z-index:2}
.e12-leaf .e12-pg{left:0;width:100%}
.e12-front{border-radius:0 var(--r) var(--r) 0;justify-content:flex-end}
.e12-back{transform:rotateY(180deg);border-radius:var(--r) 0 0 var(--r)}
.e12-title{font-weight:600}
.e12-txt{grid-column:8 / 13;display:flex;flex-direction:column;align-items:flex-start}
.e12-lead{margin-top:16px}
.e12-pts{margin-top:24px;display:grid;gap:12px}
.e12-pt{position:relative;padding-left:20px}
.e12-pt .tT{font-weight:600}
.e12-pt::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--act);transform:scale(0);transition:transform 300ms var(--ease-out) calc(var(--k) * 400ms + 300ms)}
.in .e12-pt::before{transform:none}
.e12-ok::before{background:var(--ok)}
.e12-txt .go{margin-top:12px}
.e12-act{margin-top:32px}

/* ---------- Э13 форма замера ---------- */
.e13{background:var(--act);color:var(--act-fg)}
.e13-txt .tL,.e13-txt .tS{color:var(--act-fg)}
.e13-f .agree a{color:var(--act)}
.e13-txt .go,.e13-txt a{color:var(--act-fg)}
.e13 :focus-visible{outline-color:var(--bg);box-shadow:0 0 0 2px var(--act)}
.e13-f :focus-visible{outline-color:var(--act);box-shadow:0 0 0 2px var(--bg)}
.e13-f .btn:focus-visible{outline-color:var(--fg)}
.e13-f{color:var(--fg)}
.e13-f .fld input{background:var(--card)}
.e13-txt{grid-column:1 / 7;display:flex;flex-direction:column;align-items:flex-start;min-height:0}
.e13-lead{margin-top:16px;max-width:42ch}
.e13-txt>.go{margin-top:auto}
.e13-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:20px 28px;width:100%}
.e13-st{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:baseline;padding-top:14px;border-top:1.5px solid rgba(6,6,7,.85)}
.e13-n{font-size:var(--fS);font-weight:700;font-variant-numeric:tabular-nums}
.e13-sh,.e13-qh{margin:0;font-size:var(--fL);font-weight:650;line-height:1.2}
.e13-st .tS{grid-column:2;margin-top:6px}
.e13-faq{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin:24px 0 20px}
.e13-q{padding:14px 16px;border-radius:14px;background:rgba(6,6,7,.08)}
.e13-qh{font-size:var(--fS);font-weight:700}
.e13-q .tS{margin-top:4px}
.e13-f{grid-column:8 / 13;align-self:center;padding:28px;border-radius:var(--r);--lg-tint:#060607;background:#060607;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:var(--shadow-up);gap:12px}
.e13-r{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:end}
.e13-f .seg span{min-height:44px}
.e13-f .btn{margin-top:4px}
.e13-tg{color:var(--act);text-decoration:underline;text-underline-offset:4px}

/* ---------- подвал Э14 на главной: стеклянное «РОВНО» над кадром R3 (ПК) ---------- */
.ft-home .ft-photo picture{position:absolute;inset:0;transform:scale(calc(1 + .04 * var(--vp,0)))}
.ft-home .ft-viz{position:static}
@media (min-width:1024px){
 .ft-glass{position:relative;width:3.3em;height:.82em;margin-left:0}
 .ft-glass .ft-wt{visibility:hidden}
 .ft-glass svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
 .ft-glass text{font:600 100px var(--fd);letter-spacing:-5px;fill:none;stroke:rgba(241,237,228,.8);stroke-width:.7}
 .ft-glass::before{content:"";position:absolute;inset:0;-webkit-backdrop-filter:blur(14px) saturate(140%) brightness(.62);backdrop-filter:blur(14px) saturate(140%) brightness(.62);background:rgba(6,6,7,.3);
  -webkit-mask:var(--m) left top / 100% 100% no-repeat;mask:var(--m) left top / 100% 100% no-repeat}
}
@media (max-width:1023px){.ft-glass svg{display:none}}
/* ---------- 1024–1365: ноутбук ---------- */
@media (min-width:1024px) and (max-height:820px){
 .e6 .pk-l{grid-template-rows:repeat(5,64px)}
 .e6-lead{margin-top:12px}.e6 .pk-l{margin-top:16px}
}
@media (min-width:1024px) and (max-height:780px){
 .pk-for{display:none}
 .e6 .pk-l{grid-template-rows:repeat(5,56px)}
 .e9-act tbody tr:nth-child(n+3){display:none}
}

/* ---------- планшет и телефон: одна колонка ---------- */
@media (max-width:1023px){
 .grid{display:flex;flex-direction:column;gap:0}
 .e1-txt{grid-template-columns:1fr;grid-template-areas:"chip" "t" "row"}
 .e1-chip{height:auto;min-height:32px;line-height:1.4;padding:6px 10px}
 .e1-chip .pc{display:none}
 .e1-row{margin-top:20px}
 .e1-row .go{display:none}
 .e1-hint{display:none}
 .e1-t .tH{margin-bottom:8px}
 .e1-lead{margin-top:12px}

 .e2-dw{transform:none;opacity:0;transition:opacity 300ms var(--ease-out);background:var(--card)}
 .e2-dw img{filter:invert(.92) hue-rotate(180deg)}
 .e2-dw-in{transform:none;padding:calc(var(--top) + 40px) 20px calc(var(--bot) + 300px)}
 .e2-card.dw-on .e2-dw{opacity:1}
 .e2-card::after{display:none}
 .e2-txt{right:var(--side);bottom:calc(var(--bot) + 60px)}
 .e2-lead,.e2-caps{margin-top:12px}
 .e2-typ{margin-top:4px}
 .e2-txt .go{margin-top:8px}
 .e2-name{font-size:var(--fS);font-weight:500}
 .e2-side{left:var(--side);right:var(--side);justify-content:space-between;gap:12px}
 .e2-count{height:48px;line-height:48px}

 .e3-fan{order:-1;height:140px;flex:none;margin-bottom:12px}
 .e3-fan .sheet{width:96px;margin-left:-48px;padding:8px}
 .e3-top::before,.e3-top::after,.crop{display:none}
 .e3-b2{display:none!important}
 .e3-top{padding-top:8px!important}
 .sheet-n{display:none}
 .e3-txt{flex:1}
 .e3-lead{margin-top:12px}
 .e3-price{margin-top:12px}
 .e3-act{margin-top:20px}

 .e4 .grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(200px,1fr) auto auto auto;grid-template-areas:"h" "ls" "pl" "st" "nt" "bt"}
 .e4-txt{display:contents}
 .e4-txt>h2{grid-area:h}
 .e4-lead,.e4-types{display:none!important}
 .e4-ls{display:block;grid-area:ls;margin-top:12px}
 .e4-plan{grid-area:pl;min-height:200px;margin:12px 0 0}
 .e4-plan .e4-b,.e4-plan .e4-s{bottom:44px;top:48px}
 .e4-row{grid-area:pl;align-self:end;justify-self:center;margin:0;z-index:2}
 .e4-seg{width:auto}
 .e4-seg span{min-height:32px;padding:0 14px}
 .e4-sel{display:block;position:absolute;left:0;top:0;z-index:2}
 .e4-sel select{height:40px;padding:0 32px 0 14px;border-radius:999px;border:0;background:rgba(241,237,228,.14);color:var(--fg);font:500 var(--fS)/1 var(--ff);appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#F1EDE4 50%),linear-gradient(135deg,#F1EDE4 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px;background-repeat:no-repeat}
 .e4-sel option{color:#060607}
 .e4-step{grid-area:st;margin-top:12px;min-height:0}
 .e4-note{grid-area:nt;margin-top:8px;min-height:0}
 .e4-act{grid-area:bt;margin-top:16px}

 .e5-txt{right:var(--side);width:auto}
 .e5-h{font:500 var(--fS)/1.4 var(--ff);letter-spacing:0}
 .e5-s{display:none}
 .e5-steps{margin-top:8px}
 .e5-n{margin-bottom:8px}
 .e5-line{margin-top:8px;font:500 var(--fS)/1.4 var(--ff);letter-spacing:0}
 .e5-txt>.go{margin-top:8px}
 .gws{display:none}
 .e5-mini,.e11-mini{left:auto;right:var(--side);top:calc(var(--top) + 40px);bottom:auto}
 .mp{display:none}
 .e5-loupe{top:calc(var(--top) + 76px);right:var(--side);justify-items:end}
 .e5-loupe p{white-space:nowrap;max-width:350px}
 .e5-loupe picture,.e5-loupe img{width:140px;height:140px}

 .e6-top{grid-template-columns:1fr}
 .e6-ctl{justify-content:space-between;gap:6px;margin-top:8px}
 .e6-area{padding:0 12px;gap:6px}
 .e6-ctl .btn{display:none}
 .e6-area{height:44px;padding:0 10px;gap:4px;flex:none}
 .e6-area input{width:44px}
 .e6-mode{display:flex;flex:1;min-width:0}
 .e6-mode label{flex:auto}
 .e6-mode span{min-height:36px;padding:0 4px;white-space:nowrap}
 .e6-mode.seg{padding:3px;gap:2px}
 .e6-area{padding:0 10px}
 .e6-lead{display:none}
 .e6-ls{display:block;margin-top:8px}
 .pk-l{margin-top:8px;grid-template-rows:repeat(5,52px)}
 .pk-r{grid-template-columns:1fr auto;padding:0 12px}
 .pk-for,.pk-c{display:none}
 .pk-name{font:600 var(--fT)/1.5 var(--ff);letter-spacing:-.02em}
 .pk-from,.pk-t{display:block}
 .pk-t{font:600 var(--fT)/1.5 var(--ff);letter-spacing:-.02em;text-align:right}
 .pk-card{width:calc(100% - 24px);left:12px}
 .e6-foot{margin-top:6px}
 .e6-foot{white-space:nowrap}
 .e6-go-pc{display:none}
 .e6-go-m{display:inline-block;margin-top:8px}

 .e7-sheet{flex:1 1 0;min-height:120px;margin-bottom:12px}
 .e7-txt{flex:none}
 .e7-t th,.e7-t td{padding:2px 8px 2px 0}
 .e7-lead,.e7-t{margin-top:12px}
 .e7-t th:nth-child(4),.e7-t td:nth-child(4){display:none}
 .e7-n,.e7-txt .go{margin-top:8px}

 .e8-txt{flex:none}
 .e8-lead{margin-top:12px}
 .e8-big{margin-top:20px}
 .e8-sheet{flex:1;min-height:160px;margin-top:12px;padding:16px;overflow:hidden}
 .e8-p:not(.e8-p2),.e8-h{display:none}
 .e8-sheet{min-height:120px;justify-content:center}
 .e8-pencil{left:16px;right:16px;top:48px;width:calc(100% - 32px)}
 .e8-go{order:5;margin-top:12px}

 .e9-name{display:none}
 .e9-dr,.e9-cl{grid-row:1}
 .e9-raz{order:-1;flex:none;height:232px;grid-template-rows:minmax(0,1fr);margin-bottom:12px;padding:12px;grid-template-columns:minmax(0,1fr) 168px;column-gap:12px}
 .e9-txt{flex:none}
 .e9-lead{margin-top:12px}
 .e9-act{display:none}
 .e9-go{margin-top:12px}
 .e9-act-b{margin-top:20px}

 .e10-card{left:var(--side);right:var(--side);bottom:auto;top:calc(var(--top) + 40px);width:auto;padding:16px;gap:6px}
 .e10-txt{right:var(--side)}
 .e10-txt .tL{margin-top:12px}
 .e10-txt .go{margin-top:8px}

 .e11-txt{right:var(--side)}
 .e11-steps{margin-top:8px}
 .e11-st{font:500 var(--fS)/1.4 var(--ff);letter-spacing:0;margin-top:8px}
 .e11-l1{display:none}
 .e11-lead,.e11-txt .go{margin-top:8px}

 .e12-book,.e12-lead{display:none}
 .e12-txt{display:flex;flex:1;width:100%}
 .e12-pts{margin-top:12px;padding:12px 16px 12px 28px;border:1px solid rgba(241,237,228,.32);border-radius:var(--r);gap:8px}
 .e12-txt>.go{margin-top:8px}
 .e12-act{margin-top:20px}

 .e13{padding-bottom:24px;height:auto;min-height:100svh}   /* телефон: шаги и ответы о замере важнее правила одного экрана (Николай 26.10) */
 .e13-txt{flex:1;width:100%}
 .e13-lead{margin-top:8px}
 .e13-txt>.go{margin-top:8px}
 .e13-steps{grid-template-columns:1fr;gap:8px;margin-top:12px}
 .e13-st{padding-top:8px}.e13-st .tS{margin-top:2px}
 .e13-faq{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;margin:10px 0 8px;scrollbar-width:none}
 .e13-faq::-webkit-scrollbar{display:none}
 .e13-q{flex:0 0 78%;scroll-snap-align:start;padding:10px 12px}
 .e13-f{width:100%;padding:16px;gap:8px;margin-top:8px}
 .e13-r{display:none}
 .e13-f .fld{gap:2px}
 .e13-f .fld input{min-height:52px}
 .e13-f .agree{font-size:var(--fS)}
 .e13-f .btn{margin-top:4px}
 .e13-f .e13-tg{margin-top:0}
}
/* планшет: композиция телефона на 8 колонках, кроп 4:5 (§0 п. 9) */
@media (min-width:768px) and (max-width:1023px){
 .e3-fan{height:260px}.e3-fan .sheet{width:180px;margin-left:-90px}
 .e7-sheet{height:300px}
 .e12-book{height:180px}
 .e13-r{display:grid}
}

/* ---------- ниже 600 px высоты правило «один экран» снимается (§0 п. 7) ---------- */
@media (max-height:599px){
 .scr{height:auto;min-height:100svh}
 .e9,.e11,.e2{height:auto}
 .e9 .pin-st,.e11 .pin-st{position:relative;height:auto;min-height:100svh}
}

/* ---------- reduce-motion: сцены не закрепляются (§2.10) ---------- */
@media (prefers-reduced-motion:reduce){
 .e2{height:auto}
 .e2 .pin-st{position:relative;height:100svh}
 .e2-track{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}
 .e2-card{width:100%}
 .e11{height:auto}.e11 .pin-st{position:relative}
 .e9{height:auto}.e9 .pin-st{position:relative}
 .e3-fan{--fp:1!important}
 .e10-ph picture,.ft-home .ft-photo picture{transform:none!important}
}
@media (prefers-reduced-motion:reduce){
 .e11-steps{gap:4px}
 .e11-step{grid-area:auto;opacity:.6;transform:none;cursor:pointer}
 .e11-step.on{opacity:1}
}
/* Э9: разрез вычерчивается от прокрутки (stroke-dashoffset), надписи чертежа — после линий */
.js .e9 .draw [pathLength]{stroke-dashoffset:calc(1 - var(--e9d,0));transition:none}
.js .e9 .draw text{opacity:var(--e9d,0);transition:none}
/* Э3 на телефоне: строки «10 · 20 · 30 тыс. ₽» нет, цены названы предложением, веер 120 (spec v2.4) */
@media (max-width:767px){.e3-price{display:none}.e3-fan{height:120px}.e3-for{margin-top:8px}.e3-for2{margin-top:4px}}
.e3-for2{margin-top:4px}

/* Э3: веер листов ведёт на все листы примера, вторая ссылка под первой */
a.e3-fan{display:block;color:inherit;text-decoration:none;cursor:zoom-in}
.e3-go2{margin-top:8px}

/* движущиеся слои сцен — на видеокарте: сдвиг без перерисовки чертежей и 4K-кадров на каждом кадре (27.10) */
.e2-dw-in,.e2-ph picture{will-change:transform}
/* скролл-скраб листов: поворот и масштаб — на видеокарте, без перерисовки векторных чертежей на каждом кадре (27.10) */
@media (min-width:1024px){.e3-fan,.e7-sheet,.e8-sheet,.e12-book,.e4-types,.e10-card{will-change:transform}}   /* на телефоне большие слои тормозили кадр */
/* телефон: карточки цен без размытия фона — пять стёкол сразу тормозили прокрутку; на ПК стекло остаётся (27.10) */
@media (max-width:1023px){.pk-card.lg,.lg-refract .pk-card.lg[data-lg]{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--card)}}
