/*!
 * Vizvi SiteKit 1 - базовые стили и поведение для сайтов, созданных нейросетью Визви.
 * Все классы начинаются с sk-, атрибуты - с data-sk-, переменные - с --sk-.
 * Значения переменных задаёт тема сайта (<style data-sk-theme>), здесь - запасные.
 */
:root{
  --sk-bg:#ffffff;--sk-surface:#f5f6f8;--sk-surface-2:#eceef2;--sk-text:#15171c;--sk-muted:#5b6270;
  --sk-line:rgba(21,23,28,.12);--sk-accent:#2f5bff;--sk-accent-2:#ff7a45;--sk-on-accent:#ffffff;
  --sk-dark:#111318;--sk-on-dark:#f3f4f6;--sk-muted-dark:rgba(243,244,246,.72);
  --sk-radius:14px;--sk-radius-lg:28px;--sk-radius-btn:999px;
  --sk-font-head:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --sk-font-body:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --sk-head-weight:700;--sk-head-spacing:-.02em;
  --sk-container:1200px;--sk-gutter:clamp(16px,4vw,40px);--sk-section:clamp(64px,9vw,136px);
  --sk-shadow:0 24px 60px -28px rgba(15,18,30,.35);--sk-ease:cubic-bezier(.2,.7,.1,1);
  --sk-header-h:72px
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--sk-header-h) + 8px)}
body{margin:0;background:var(--sk-bg);color:var(--sk-text);font-family:var(--sk-font-body);font-size:clamp(16px,1.05vw + 10px,18px);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{max-width:100%;height:auto}
img{vertical-align:middle}
h1,h2,h3,h4,h5,h6{font-family:var(--sk-font-head);font-weight:var(--sk-head-weight);letter-spacing:var(--sk-head-spacing);line-height:1.1;margin:0 0 .5em;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
a{color:inherit}
:focus-visible{outline:2px solid var(--sk-accent);outline-offset:3px}
::selection{background:var(--sk-accent);color:var(--sk-on-accent)}

/* Раскладка */
.sk-container{width:min(100% - 2*var(--sk-gutter),var(--sk-container));margin-inline:auto}
.sk-section{padding-block:var(--sk-section);position:relative}
.sk-surface{background:var(--sk-surface)}
.sk-dark{background:var(--sk-dark);color:var(--sk-on-dark)}
.sk-dark .sk-muted{color:var(--sk-muted-dark)}
.sk-accent-bg{background:var(--sk-accent);color:var(--sk-on-accent)}
.sk-muted{color:var(--sk-muted)}
.sk-grid{display:grid;gap:clamp(16px,2.4vw,32px);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--sk-min,260px)),1fr))}
.sk-stack>*+*{margin-top:var(--sk-space,1rem)}
.sk-center{text-align:center}
.sk-eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--sk-accent);margin-bottom:1rem}
.sk-dark .sk-eyebrow,.sk-accent-bg .sk-eyebrow{color:inherit;opacity:.8}
.sk-display{font-size:clamp(2.6rem,7vw,6.2rem);line-height:.98}
.sk-h1{font-size:clamp(2.2rem,5.4vw,4.4rem)}
.sk-h2{font-size:clamp(1.8rem,3.6vw,3rem)}
.sk-lead{font-size:clamp(1.05rem,1.4vw,1.3rem);color:var(--sk-muted);max-width:60ch}
.sk-dark .sk-lead{color:var(--sk-muted-dark)}
.sk-card{background:var(--sk-bg);border:1px solid var(--sk-line);border-radius:var(--sk-radius-lg);padding:clamp(20px,2.6vw,32px)}
.sk-surface .sk-card{background:var(--sk-bg)}
.sk-dark .sk-card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.sk-media{border-radius:var(--sk-radius-lg);overflow:hidden}
.sk-media>img,.sk-media>video{display:block;width:100%;height:100%;object-fit:cover}

/* Страховка краёв: если в секции нет .sk-container, поля слева и справа всё равно будут.
   Секции на всю ширину помечаются data-sk-bleed. Блоки библиотеки редактора (data-vz-lib) не трогаем. */
body>:is(header,section,footer):not([data-sk-bleed]):not([data-vz-lib]):not(:has(.sk-container)):not(:has([data-sk-marquee])){padding-inline:max(var(--sk-gutter),calc((100% - var(--sk-container))/2))!important}

/* Кнопки */
.sk-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 1.6em;border-radius:var(--sk-radius-btn);background:var(--sk-accent);color:var(--sk-on-accent);font:600 1rem/1.2 var(--sk-font-body);text-decoration:none;border:0;cursor:pointer;transition:transform .25s var(--sk-ease),box-shadow .25s var(--sk-ease),background-color .25s,color .25s;will-change:transform}
.sk-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px var(--sk-accent)}
.sk-btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.sk-btn--ghost:hover{box-shadow:inset 0 0 0 1.5px currentColor}
.sk-btn--light{background:#fff;color:#111}
.sk-btn--dark{background:#111;color:#fff}
.sk-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Иконки: <i data-sk-icon="phone"></i> */
[data-sk-icon]{display:inline-flex;width:1.25em;height:1.25em;vertical-align:-.22em;flex:none;line-height:1}
[data-sk-icon] svg{width:100%;height:100%;display:block}
.sk-icon-box{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:var(--sk-radius);background:color-mix(in srgb,var(--sk-accent) 14%,transparent);color:var(--sk-accent);font-size:1.25rem}

/* Шапка: <header class="sk-header" data-sk-header data-sk-shared="header"> */
.sk-header{position:sticky;top:0;z-index:50;transition:background-color .3s,box-shadow .3s,backdrop-filter .3s}
.sk-header.is-scrolled{background:color-mix(in srgb,var(--sk-bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);box-shadow:0 1px 0 var(--sk-line)}
.sk-header__in{display:flex;align-items:center;gap:24px;min-height:var(--sk-header-h)}
.sk-logo{display:inline-flex;align-items:center;gap:.6em;font:700 1.2rem/1 var(--sk-font-head);text-decoration:none;margin-right:auto}
.sk-logo img{max-height:44px;width:auto}
.sk-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.sk-nav a{text-decoration:none;font-weight:500;opacity:.86;transition:opacity .2s}
.sk-nav a:hover{opacity:1}
.sk-burger{display:none;width:44px;height:44px;border:0;background:transparent;color:inherit;cursor:pointer;position:relative;border-radius:12px;flex:none}
.sk-burger span{position:absolute;left:11px;right:11px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--sk-ease),top .3s var(--sk-ease)}
.sk-burger span:nth-child(1){top:17px}.sk-burger span:nth-child(2){top:25px}
.is-menu-open .sk-burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.is-menu-open .sk-burger span:nth-child(2){top:21px;transform:rotate(-45deg)}
@media (max-width:860px){
  .sk-burger{display:inline-block}
  .sk-header .sk-nav{position:fixed;left:0;right:0;top:var(--sk-header-h);bottom:0;flex-direction:column;align-items:flex-start;gap:6px;padding:24px var(--sk-gutter);background:var(--sk-bg);color:var(--sk-text);overflow:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--sk-ease),visibility .25s}
  .sk-header .sk-nav a{font-size:1.35rem;padding:10px 0;width:100%;border-bottom:1px solid var(--sk-line)}
  .sk-header.is-menu-open .sk-nav{opacity:1;visibility:visible;transform:none}
  .sk-header.is-menu-open{background:var(--sk-bg);color:var(--sk-text);-webkit-backdrop-filter:none;backdrop-filter:none}
  .sk-header__cta{display:none}
}
html.sk-lock,html.sk-lock body{overflow:hidden}
/* Мобильное меню должно работать, даже если стили сайта переопределили шапку по-своему. */
@media (max-width:860px){.sk-header .sk-header__cta{display:none!important}}
.sk-header.is-menu-open [data-sk-menu],[data-sk-menu].is-open{display:flex!important;visibility:visible!important;opacity:1!important;transform:none!important;pointer-events:auto!important}

/* Появление при прокрутке: data-sk-reveal="up|down|left|right|zoom|blur|fade" */
.sk-js [data-sk-reveal]{opacity:0;transition:opacity .9s var(--sk-ease),transform .9s var(--sk-ease),filter .9s var(--sk-ease);transition-delay:var(--sk-d,0ms)}
.sk-js [data-sk-reveal=""],.sk-js [data-sk-reveal="up"]{transform:translate3d(0,42px,0)}
.sk-js [data-sk-reveal="down"]{transform:translate3d(0,-42px,0)}
.sk-js [data-sk-reveal="left"]{transform:translate3d(-56px,0,0)}
.sk-js [data-sk-reveal="right"]{transform:translate3d(56px,0,0)}
.sk-js [data-sk-reveal="zoom"]{transform:scale(.9)}
.sk-js [data-sk-reveal="blur"]{filter:blur(14px);transform:translate3d(0,20px,0)}
.sk-js [data-sk-reveal].is-in{opacity:1;transform:none;filter:none}

/* Бегущая строка: <div data-sk-marquee> ... </div> */
[data-sk-marquee]{display:flex;overflow:hidden;white-space:nowrap;--sk-gap:2.5rem}
[data-sk-marquee]>*{flex:none;margin-right:var(--sk-gap)}
.sk-marquee__track{display:flex;flex:none;width:max-content;animation:sk-marquee var(--sk-speed,32s) linear infinite}
.sk-marquee__track>*{flex:none;margin-right:var(--sk-gap)}
[data-sk-marquee][data-sk-reverse] .sk-marquee__track{animation-direction:reverse}
[data-sk-marquee]:hover .sk-marquee__track{animation-play-state:paused}
@keyframes sk-marquee{to{transform:translate3d(-50%,0,0)}}

/* Слайдер: <div data-sk-slider><div data-sk-track>слайды</div><button data-sk-prev> <button data-sk-next> <div data-sk-dots></div></div> */
[data-sk-slider]{position:relative}
[data-sk-track]{display:flex;gap:var(--sk-gap,20px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
[data-sk-track]::-webkit-scrollbar{display:none}
[data-sk-track]>*{flex:0 0 var(--sk-slide,min(86%,420px));scroll-snap-align:start}
[data-sk-track].is-drag{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing}
[data-sk-track].is-drag *{pointer-events:none;user-select:none}
[data-sk-prev],[data-sk-next]{cursor:pointer}
[data-sk-prev][disabled],[data-sk-next][disabled]{opacity:.35;cursor:default}
[data-sk-dots]{display:flex;gap:8px;justify-content:center;margin-top:18px}
[data-sk-dots] button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:currentColor;opacity:.25;cursor:pointer;transition:width .3s var(--sk-ease),opacity .3s}
[data-sk-dots] button.is-active{width:26px;opacity:.9}

/* Вкладки: <div data-sk-tabs><button data-sk-tab="a"> ... <div data-sk-panel="a"> */
.sk-js [data-sk-tabs] [data-sk-panel]:not(.is-active){display:none}
[data-sk-tab]{cursor:pointer}
[data-sk-tab].is-active{background:var(--sk-accent);color:var(--sk-on-accent)}

/* Вопросы-ответы: <details class="sk-faq"><summary>Вопрос</summary><div>Ответ</div></details> */
.sk-faq{border-bottom:1px solid var(--sk-line)}
.sk-faq>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;font-weight:600;font-size:1.1rem}
.sk-faq>summary::-webkit-details-marker{display:none}
.sk-faq>summary::after{content:"";flex:none;width:.7em;height:.7em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s var(--sk-ease)}
.sk-faq[open]>summary::after{transform:rotate(225deg)}
.sk-faq>summary+*{padding:0 0 1.2rem;color:var(--sk-muted)}
.sk-dark .sk-faq{border-color:rgba(255,255,255,.14)}
.sk-dark .sk-faq>summary+*{color:var(--sk-muted-dark)}

/* Галерея с просмотром: <div data-sk-lightbox> <img ...> */
[data-sk-lightbox] img{cursor:zoom-in}
.sk-lb{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(8,9,12,.92);opacity:0;transition:opacity .25s;padding:4vmin}
.sk-lb.is-open{opacity:1}
.sk-lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.sk-lb button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:24px;line-height:48px;cursor:pointer}
.sk-lb__x{top:16px;right:16px}.sk-lb__p{left:16px;top:50%;margin-top:-24px}.sk-lb__n{right:16px;top:50%;margin-top:-24px}

/* Наклон и магнит */
[data-sk-tilt]{transform-style:preserve-3d;transition:transform .4s var(--sk-ease);will-change:transform}
[data-sk-magnetic]{transition:transform .35s var(--sk-ease)}

/* Прогресс прокрутки: <div data-sk-progress></div> */
[data-sk-progress]{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--sk-p,0));background:var(--sk-accent);z-index:60;pointer-events:none}

/* Смена слов: <span data-sk-typed="быстро|красиво|надёжно">быстро</span> */
[data-sk-typed]{display:inline-block;transition:opacity .35s,transform .35s var(--sk-ease)}
[data-sk-typed].is-out{opacity:0;transform:translateY(.25em)}

/* Бейдж-счётчик и прочее */
[data-sk-count]{font-variant-numeric:tabular-nums}
.sk-divider{height:1px;background:var(--sk-line);border:0;margin:0}
.sk-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sk-js [data-sk-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .sk-marquee__track{animation:none!important}
  [data-sk-tilt],[data-sk-magnetic]{transform:none!important}
}
@media print{.sk-js [data-sk-reveal]{opacity:1!important;transform:none!important;filter:none!important}.sk-header{position:static}}
