/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/onest-da347e0b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/onest-e114b6f5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/onest-a3ae0681.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/onest-10f42765.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/onest-da347e0b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/onest-e114b6f5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/onest-a3ae0681.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/onest-10f42765.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/onest-da347e0b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/onest-e114b6f5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/onest-a3ae0681.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/onest-10f42765.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/onest-da347e0b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/onest-e114b6f5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/onest-a3ae0681.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/onest-10f42765.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/onest-da347e0b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/onest-e114b6f5.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/onest-a3ae0681.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/onest-10f42765.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:#e7e9fa;}
  @keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
  @keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
  @keyframes blobA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(70px,-45px) scale(1.25)}}
  @keyframes blobB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-55px,45px) scale(1.18)}}
  @keyframes blobC{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,35px) scale(1.3)}}
  @keyframes spinSlow{to{transform:rotate(360deg)}}
  @keyframes dashFlow{to{stroke-dashoffset:-220}}
  @keyframes nodeGlow{0%,100%{opacity:.35}50%{opacity:1}}
  @keyframes waveBar{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
  @keyframes gradShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
  @keyframes liquid{0%,100%{border-radius:42% 58% 63% 37%/45% 38% 62% 55%}50%{border-radius:58% 42% 38% 63%/55% 62% 38% 45%}}
  @keyframes softPulse{0%,100%{opacity:.32}50%{opacity:.6}}
  @keyframes flowDown{0%{top:26px;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 32px);opacity:0}}
  @keyframes revealUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  [data-featgrid] > div{opacity:0}
  [data-featgrid][data-in] > div{opacity:1;animation:revealUp .55s cubic-bezier(.22,1,.36,1) both}
  [data-featgrid][data-in] > div:nth-child(1){animation-delay:0s}
  [data-featgrid][data-in] > div:nth-child(2){animation-delay:.08s}
  [data-featgrid][data-in] > div:nth-child(3){animation-delay:.16s}
  [data-featgrid][data-in] > div:nth-child(4){animation-delay:.24s}
  [data-featgrid][data-in] > div:nth-child(5){animation-delay:.32s}
  [data-featgrid][data-in] > div:nth-child(6){animation-delay:.40s}
  [data-featgrid][data-in] > div:nth-child(7){animation-delay:.48s}
  [data-featgrid][data-in] > div:nth-child(8){animation-delay:.56s}

  /* --- доступность --- */
  /* Ссылка в обход шапки: видна только когда до неё дошли табом */
  .skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:#1b1d4e;
    padding:12px 20px;border-radius:0 0 12px 0;font-weight:700;font-size:15px;text-decoration:none}
  .skip-link:focus{left:0}
  /* Видимый фокус там, где инлайн-стиль погасил системный контур.
     :focus-visible, чтобы кольцо не мешало тем, кто кликает мышью. */
  a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,
  [tabindex]:focus-visible,.tabs input:focus-visible+.tabbar label{
    outline:3px solid #1e4fc4;outline-offset:2px;border-radius:4px}
  .lead-form input:focus-visible{outline-offset:1px}
  .tabs input:focus-visible~.tabbar label[for]{outline:3px solid #1e4fc4;outline-offset:2px}
  /* Подписи полей формы: плейсхолдер исчезает при вводе и подписью быть не может */
  .lead-form .field{display:grid;gap:5px;margin:0}
  .lead-form .field label{font-size:13px;font-weight:600;color:#52557b}
  .lead-form ::placeholder{color:#6f7291;opacity:1}
  /* Скриншот открывается по клику — с клавиатуры это должно быть видно */
  img[data-lightbox]:focus-visible{outline:3px solid #1e4fc4;outline-offset:3px}
  /* Сетки ровно из четырёх карточек. auto-fit подбирает число колонок по
     ширине и на широком диапазоне даёт три — четвёртая карточка уезжает
     на свою строку и оставляет под собой пустой ряд. Для четырёх элементов
     число колонок задаём явно: 1, 2 или 4, но никогда 3. */
  [data-grid4]{grid-template-columns:repeat(2,1fr)!important}
  @media (max-width:560px){[data-grid4]{grid-template-columns:1fr!important}}
  @media (min-width:1180px){[data-grid4]{grid-template-columns:repeat(4,1fr)!important}}
  /* --- Нумерованные шаги (блок «Как работает») ---
     Шаги — последовательность, а не набор категорий, поэтому цвет здесь
     показывает продвижение: один фирменный синий, углубляющийся к финалу.
     Прежняя радуга из шести гарнитур намекала, что шаги разного рода, и вдобавок
     пять кружков из шести не проходили по контрасту (оранжевый — 1,8:1). */
  [data-steps] > div{position:relative}
  [data-steps] .step-num{flex:none;width:50px;height:50px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
    color:#fff;font-size:18px;font-weight:800;
    /* Моноширинные цифры: в пропорциональных «01» уже «04» на 4,3px,
       и номера в кружках заметно гуляют по горизонтали. */
    font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1;
    box-shadow:0 10px 22px -10px rgba(35,37,95,0.55)}
  [data-steps] > div:nth-child(1) .step-num{background:#2f6bf6}
  [data-steps] > div:nth-child(2) .step-num{background:#2d5dd8}
  [data-steps] > div:nth-child(3) .step-num{background:#2a4fba}
  [data-steps] > div:nth-child(4) .step-num{background:#28419b}
  [data-steps] > div:nth-child(5) .step-num{background:#25337d}
  [data-steps] > div:nth-child(6) .step-num{background:#23255f}
  /* Линию рисуют сами строки, а не одна общая полоса на весь блок: общая
     опиралась на отступ снизу и свисала ниже последнего кружка, стоило тексту
     поменять высоту. Каждая строка ведёт половину: вниз от своего кружка до
     следующей строки (::after) и сверху вниз до своего кружка (::before).
     Половинки стыкуются, и длина не зависит от высоты соседней карточки —
     а она разная, потому что текст шагов на каждой странице свой.
     23.5px — центр кружка (50px) минус половина толщины линии: отсчёт идёт
     от строки, а не от обёртки с её padding-left. */
  [data-steps] > div::before,[data-steps] > div::after{content:'';position:absolute;
    left:23.5px;width:3px;border-radius:3px}
  [data-steps] > div:first-child::before,
  [data-steps] > div:last-child::after{content:none}
  [data-steps] > div::before{top:0;height:50%}
  [data-steps] > div::after{top:50%;bottom:-16px}
  [data-steps] > div:nth-child(1)::after {background:#2f6bf6}
  [data-steps] > div:nth-child(2)::before{background:#2d5dd8}
  [data-steps] > div:nth-child(2)::after {background:#2d5dd8}
  [data-steps] > div:nth-child(3)::before{background:#2a4fba}
  [data-steps] > div:nth-child(3)::after {background:#2a4fba}
  [data-steps] > div:nth-child(4)::before{background:#28419b}
  [data-steps] > div:nth-child(4)::after {background:#28419b}
  [data-steps] > div:nth-child(5)::before{background:#25337d}
  [data-steps] > div:nth-child(5)::after {background:#25337d}
  [data-steps] > div:nth-child(6)::before{background:#23255f}
  [data-steps] .step-card{flex:1;background:#edeefb;border-radius:18px;padding:20px 24px;
    transition:transform .2s cubic-bezier(.22,1,.36,1)}
  [data-steps] > div:last-child .step-card{background:linear-gradient(135deg,#28419b,#23255f);
    color:#fff;box-shadow:0 24px 50px -28px rgba(35,37,95,0.75)}
  [data-steps] > div:last-child .step-card p{color:rgba(255,255,255,0.86)}
  @media (max-width:560px){
    [data-steps] .step-num{width:42px;height:42px;font-size:16px}
    [data-steps] > div::before,[data-steps] > div::after{left:19.5px}
  }

  /* Ссылки в подвале стоят отдельными строками, а не внутри предложения:
     18px высоты пальцем не берётся, добираем до минимальных 24px. */
  footer a{padding:4px 0;display:inline-block}
  /* Горизонтальный список тарифов: подсказываем, что справа есть ещё */
  [data-scroller]{scroll-snap-type:x proximity;
    mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
  [data-scroller] > *{scroll-snap-align:start}
  @media (min-width:1240px){[data-scroller]{mask-image:none;-webkit-mask-image:none}}

  /* --- impeccable --- */
  /* Шапка фиксированная: sticky ломался обёрткой бандлера с overflow-y:auto */
  #siteHeader{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
  #siteHeader.is-solid{background:rgba(255,255,255,0.94)!important;border-bottom:1px solid #e5eaf3!important;box-shadow:0 6px 24px -18px rgba(0,0,0,0.3)}
  #siteHeader.is-solid .hdr-link{color:#52557b!important}
  #siteHeader.is-solid .hdr-link:hover{color:#15173f!important}
  #siteHeader.is-solid .hdr-cta{background:#23255f!important;color:#fff!important}
  /* Мобильная навигация: бургер + выпадающая панель, без JS (чекбокс + ~) */
  /* Скрыт, но фокусируем: бургер — это его видимая часть. Выше 900px бургера
     нет, поэтому и чекбокс убираем из таб-порядка, иначе фокус пропадает. */
  .hdr-toggle{position:absolute;width:1px;height:1px;opacity:0;margin:0;visibility:hidden}
  .hdr-burger{display:none}
  @media (max-width:900px){
    .hdr-toggle{visibility:visible}
    #siteHeader nav{display:none!important}
    .hdr-burger{display:flex;flex:none;order:3;margin-left:auto;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;cursor:pointer;border-radius:12px}
    .hdr-burger span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:background .25s}
    #siteHeader.is-solid .hdr-burger span{background:#23255f}
    .hdr-cta{order:4}
    #hdrToggle:focus-visible ~ .hdr-burger{outline:2px solid #5fc0fb;outline-offset:3px}
    #hdrToggle:checked ~ nav{display:flex!important;position:absolute;left:0;right:0;top:100%;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:0!important;background:#fff;border-bottom:1px solid #e5eaf3;box-shadow:0 18px 40px -28px rgba(0,0,0,0.4);padding:6px 0}
    #hdrToggle:checked ~ nav a{color:#23255f!important;padding:13px clamp(20px,5vw,80px);font-size:16px}
    #siteHeader > div{gap:10px!important}
    .hdr-cta{padding:10px 16px!important;font-size:14px!important;box-shadow:none!important}
    #siteHeader .hdr-logo{padding:6px 10px!important}
    #siteHeader .hdr-logo img{height:20px!important}
  }
  /* Ревил-анимация не должна прятать контент там, где её некому запустить */
  @media print{[data-featgrid] > div{opacity:1!important;animation:none!important}}
  @media (prefers-reduced-motion:reduce){
    [data-featgrid] > div{opacity:1!important;animation:none!important}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  }

.x-hover-1:hover{color:#fff;}
.x-hover-2:hover{color:#fff;}
.x-hover-3:hover{color:#fff;}
.x-hover-4:hover{color:#fff;}
.x-hover-5:hover{color:#fff;}
.x-hover-6:hover{color:#fff;}
.x-hover-7:hover{transform:translateY(-2px);background:#fff;}
.x-hover-8:hover{background:rgba(255,255,255,0.28);}
.x-hover-9:hover{transform:translateY(-2px);background:#eef0fe;}
.x-hover-10:hover{gap:13px;}
.x-hover-11:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(35,90,60,0.4);}
.x-hover-12:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(35,37,95,0.28);}
.x-hover-13:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(35,55,120,0.34);}
.x-hover-14:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(35,37,95,0.28);}
.x-hover-15:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(47,107,246,0.4);}
.x-hover-16:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(21,165,95,0.4);}
.x-hover-17:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(106,92,240,0.4);}
.x-hover-18:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(240,151,42,0.4);}
.x-hover-19:hover{transform:translateX(5px);}
.x-hover-20:hover{transform:translateX(5px);}
.x-hover-21:hover{transform:translateX(5px);}
.x-hover-22:hover{transform:translateX(5px);}
.x-hover-23:hover{transform:translateX(5px);}
.x-hover-24:hover{transform:translateY(-2px);background:#2c2e72;}
.x-hover-25:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(21,165,95,0.4);}
.x-hover-26:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(106,92,240,0.4);}
.x-hover-27:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(47,107,246,0.4);}
.x-hover-28:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(240,151,42,0.4);}
.x-hover-29:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(14,159,184,0.4);}
.x-hover-30:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(232,86,143,0.4);}
.x-hover-31:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(47,107,246,0.4);}
.x-hover-32:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(21,165,95,0.4);}
.x-hover-33:hover{transform:translateY(-6px);}
.x-hover-34:hover{gap:11px;}
.x-hover-35:hover{transform:translateY(-6px);}
.x-hover-36:hover{gap:11px;}
.x-hover-37:hover{transform:translateY(-6px);}
.x-hover-38:hover{gap:11px;}
.x-hover-39:hover{transform:translateY(-4px);box-shadow:0 22px 42px -18px rgba(47,107,246,0.5);}
.x-hover-40:hover{transform:translateY(-4px);box-shadow:0 22px 42px -18px rgba(21,165,95,0.5);}
.x-hover-41:hover{transform:translateY(-4px);box-shadow:0 22px 42px -18px rgba(106,92,240,0.5);}
.x-hover-42:hover{transform:translateY(-4px);box-shadow:0 22px 42px -18px rgba(14,159,184,0.5);}
.x-hover-43:hover{transform:translateY(-4px);box-shadow:0 22px 42px -18px rgba(240,151,42,0.5);}
.x-hover-44:hover{transform:translateY(-4px);box-shadow:0 22px 42px -18px rgba(232,86,143,0.5);}
.x-hover-45:hover{transform:translateY(-8px);box-shadow:0 28px 56px -26px rgba(47,107,246,0.32);}
.x-hover-46:hover{background:#eaf1fe;border-color:#2f6bf6;}
.x-hover-47:hover{transform:translateY(-6px);box-shadow:0 42px 84px -28px rgba(47,107,246,0.7);}
.x-hover-48:hover{background:#eef0fe;}
.x-hover-49:hover{transform:translateY(-8px);box-shadow:0 28px 56px -26px rgba(21,165,95,0.3);}
.x-hover-50:hover{background:#e2f6ec;border-color:#15a55f;}
.x-hover-51:hover{transform:translateY(-8px);box-shadow:0 28px 56px -26px rgba(106,92,240,0.3);}
.x-hover-52:hover{background:#efecff;border-color:#6a5cf0;}
.x-hover-53:hover{transform:translateY(-8px);box-shadow:0 28px 56px -26px rgba(14,159,184,0.3);}
.x-hover-54:hover{background:#e3f5f9;border-color:#0e9fb8;}
.x-hover-55:hover{background:#eef0fe;}
.x-hover-56:hover{background:#2c2e72;}
.x-hover-57:hover{color:#fff;}
.x-hover-58:hover{color:#fff;}
.x-hover-59:hover{color:#fff;}
.x-hover-60:hover{color:#fff;}
.x-hover-61:hover{color:#fff;}
.x-hover-62:hover{color:#fff;}
.x-hover-63:hover{color:#fff;}
.x-hover-64:hover{color:#fff;}
.x-hover-65:hover{color:#fff;}
.x-hover-66:hover{color:#fff;}
.x-hover-67:hover{color:#fff;}
.x-focus-1:focus{border-color:#2f6bf6;}
.x-focus-2:focus{border-color:#2f6bf6;}
.x-focus-3:focus{border-color:#2f6bf6;}
.x-before-1::before{content:'';position:absolute;inset:-6px;border-radius:20px;background:radial-gradient(circle,rgba(47,107,246,0.5),transparent 70%);z-index:-1;animation:nodeGlow 3.4s ease-in-out infinite 0s;}
.x-before-2::before{content:'';position:absolute;inset:-6px;border-radius:20px;background:radial-gradient(circle,rgba(21,165,95,0.5),transparent 70%);z-index:-1;animation:nodeGlow 3.4s ease-in-out infinite -0.6s;}
.x-before-3::before{content:'';position:absolute;inset:-6px;border-radius:20px;background:radial-gradient(circle,rgba(106,92,240,0.5),transparent 70%);z-index:-1;animation:nodeGlow 3.4s ease-in-out infinite -1.2s;}
.x-before-4::before{content:'';position:absolute;inset:-6px;border-radius:20px;background:radial-gradient(circle,rgba(240,151,42,0.5),transparent 70%);z-index:-1;animation:nodeGlow 3.4s ease-in-out infinite -1.8s;}

.tabs input{position:absolute;opacity:0;pointer-events:none}
.tabs label{padding:12px 22px;border-radius:12px;border:1.5px solid #e1e2f0;background:#fff;color:#52557b;
  font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}
.tabs label:hover{background:#eef0fe}
.tabs .panel{display:none}
.tabs #tab-dash:checked~.tabbar label[for=tab-dash],
.tabs #tab-rep:checked~.tabbar label[for=tab-rep],
.tabs #tab-sum:checked~.tabbar label[for=tab-sum]{background:#2f6bf6;border-color:#2f6bf6;color:#fff}
.tabs #tab-dash:checked~.screen .panel-dash,
.tabs #tab-rep:checked~.screen .panel-rep,
.tabs #tab-sum:checked~.screen .panel-sum{display:block}
.tabs #tab-dash:checked~.screen .cap-dash,
.tabs #tab-rep:checked~.screen .cap-rep,
.tabs #tab-sum:checked~.screen .cap-sum{display:block}
.tabs .cap{display:none}
@media (prefers-reduced-motion:reduce){.tabs label{transition:none}}

.faq summary::-webkit-details-marker{display:none}.faq summary::marker{content:''}.faq .faq-ico::after{content:'+'}.faq details[open] .faq-ico::after{content:'\2212'}
@keyframes heroSlide{0%,28%{transform:translateX(0)}33%,61%{transform:translateX(-33.3333%)}66%,94%{transform:translateX(-66.6666%)}100%{transform:translateX(0)}}.hero-track{animation:heroSlide 18s infinite}@media (prefers-reduced-motion:reduce){.hero-track{animation:none}}
@keyframes revealUpSafe{from{transform:translateY(26px)}to{transform:none}}[data-featgrid] > div{opacity:1;animation:revealUpSafe .55s cubic-bezier(.22,1,.36,1) both}[data-featgrid] > div:nth-child(1){animation-delay:0.00s}[data-featgrid] > div:nth-child(2){animation-delay:0.08s}[data-featgrid] > div:nth-child(3){animation-delay:0.16s}[data-featgrid] > div:nth-child(4){animation-delay:0.24s}[data-featgrid] > div:nth-child(5){animation-delay:0.32s}[data-featgrid] > div:nth-child(6){animation-delay:0.40s}[data-featgrid] > div:nth-child(7){animation-delay:0.48s}[data-featgrid] > div:nth-child(8){animation-delay:0.56s}@media (prefers-reduced-motion:reduce){[data-featgrid] > div{animation:none}}