/* Базовые стили страниц /start. Свои, по поведению вёрстки Тильды: элементы блока Zero
   позиционируются абсолютно внутри артборда, содержимое — ячейкой таблицы по центру. */
:root { --ff-text: "Montserrat", Arial, sans-serif; --ff-head: "Montserrat", Arial, sans-serif; }
body { margin: 0; }
div, span, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, code, img, b, u, i, center, table, tr, th, td, video { margin: 0; padding: 0; border: 0; }
.recs { -webkit-font-smoothing: antialiased; }
.recs a { color: #ff8562; text-decoration: none; }
.recs a[href^="tel"] { color: inherit; }
.recs ol { padding-left: 22px; margin-top: 0; margin-bottom: 10px; }
.recs ul { padding-left: 20px; margin-top: 0; margin-bottom: 10px; }
.recs b, .recs strong { font-weight: 700; }
.recs a:focus-visible, .recs button:focus-visible { outline: 2px solid #2015ff; outline-offset: 4px; }

/* Видимость блоков по ширине — как у Тильды: «от 980» скрыт до 980 включительно. */
@media screen and (max-width: 980px) { .smin-980 { display: none; } }
@media screen and (min-width: 981px) { .smax-980 { display: none; } }

/* Блок Zero */
.zb { position: relative; width: 100%; height: 100vh; overflow: hidden; -webkit-text-size-adjust: 100%; }
.zc { position: absolute; left: 0; top: 0; z-index: 0; width: 100%; height: 100vh; }
.zf { position: absolute; left: 0; top: 0; z-index: 1; width: 100%; height: 100vh; }
.ze { position: absolute; box-sizing: border-box; display: table; }
.ze .a { display: table-cell; vertical-align: middle; width: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.ze .a ul, .ze .a ol { margin-bottom: 0; }
.ze a.a { text-decoration: none; }
.ze .img { width: 100%; display: block; }
.ze .a.html { vertical-align: top; }
.zb.scaled .ze[data-t="text"] .a { word-break: normal; -moz-osx-font-smoothing: grayscale; -webkit-text-size-adjust: auto; text-size-adjust: auto; }

/* Кнопка */
.ze[data-t="button"] { display: block; }
.ze[data-t="button"] .a { display: flex; box-sizing: border-box; width: 100%; height: 100%; flex-direction: row; justify-content: center; align-items: center; overflow: hidden; position: relative; }
.ze[data-t="button"] .a::after { content: ""; display: block; position: absolute; width: 100%; height: 100%; left: 0; top: 0; pointer-events: none; opacity: 0; z-index: -1; }
.ze .bc { display: flex; flex-direction: row; align-items: center; justify-content: center; flex: 0 1 auto; min-width: 0; }
.ze .bt { flex: 1 1 0; text-overflow: ellipsis; }
.ze .bb { position: absolute; inset: 0; z-index: 1; border-radius: inherit; transition-duration: inherit; transition-timing-function: inherit; pointer-events: none; }
.ze .bb::before, .ze .bb::after { -webkit-backface-visibility: hidden; position: absolute; inset: 0; content: ""; border-radius: inherit; z-index: 1; }
.ze .bb::after { opacity: 0; transition-property: opacity; transition-duration: inherit; transition-timing-function: inherit; }

/* Видео: обложка с кнопкой, плеер подгружается по клику */
.ze .a.video { position: relative; background-size: cover; background-position: center; }
.ze .vplay { all: unset; display: flex; align-items: center; justify-content: center; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); z-index: 1; cursor: pointer; }
.ze .vpi { margin: 0 auto; transition: all ease-in-out .2s; display: block; }
.ze .a.video:hover .vpi { transform: scale(1.2); }
.ze .a.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Слайдеры (на Тильде — модуль VORON на slick) */
.sl { position: relative; width: 100%; display: table; table-layout: fixed; background: transparent; }
.sl-list { position: relative; overflow: hidden; display: block; margin: 0; padding: 0; }
.sl-track { display: flex; align-items: flex-start; will-change: transform; transition: transform 1s ease-in-out; }
.sl-slide { flex: 0 0 calc(100% / var(--n, 1)); min-width: 0; box-sizing: border-box; outline: none; }
.sl-slide .zb { background-color: transparent !important; }
.sl-slide .zc, .sl-slide .zf { background-image: none !important; }
.sl.fade .sl-track { display: grid; transition: none; }
.sl.fade .sl-slide { grid-area: 1 / 1; opacity: 0; transition: opacity 1s ease-in-out; }
.sl.fade .sl-slide.on { opacity: 1; z-index: 1; }
.dots { position: absolute; display: block; width: 100%; padding: 0 !important; margin: 0; list-style: none; text-align: center; }
.dots li { position: relative; display: inline-block; width: max-content; height: max-content; margin: 0 5px; padding: 0; cursor: pointer; }
.v-next, .v-prev { cursor: pointer; }

/* Кнопка «наверх» */
.to-top { position: fixed; z-index: 10; right: 20px; bottom: 20px; width: 50px; height: 50px; border: 0; border-radius: 50px; background: #fff; display: none; align-items: center; justify-content: center; cursor: pointer; }
.to-top.on { display: flex; }

/* Режим сверки: всё неподвижно, как на эталонных скриншотах */
.compare *, .compare *::before, .compare *::after { animation: none !important; transition: none !important; }
.compare .anim-hidden { opacity: 1 !important; }

/* Автомасштаб: zoom элементам блока, высоту и --z ставит src/runtime/zero.js */
.zb.scaled > .ze { zoom: var(--z, 1); }
.zb.scaled > .zc, .zb.scaled > .zf { height: 100% !important; min-height: 0 !important; }

/* Отступы блоков: большие нижние отступы на узких экранах — как у Тильды */
@media screen and (max-width: 480px) { .pb210 { padding-bottom: 120px !important; } }
