/*
Theme Name: GOREPLY
*/


:root {
--font-body: "Inter", sans-serif;
--main: #1A1919;
--button: #006AFF;
--border: #D1D1D1;
--white: #fff;
--dark: #1A1919;
--black: #000;
--gray: #9A9A9A;

/* Имена для значений, которые уже были в файле. Новых цветов не вводится.
   Опись системы: docs/design-tokens.md */
--blue: #006AFF;          /* чинит var(--blue, ...) без объявления */
--blue-hover: #0400FF;
/* Единственное новое значение в палитре, и оно введено по замеру:
   --blue на сером #F4F4F4 даёт 4,24:1 и не проходит WCAG AA для текста
   (на белом 4,66 и проходит). --blue-text даёт 5,19 на белом и 4,72 на
   сером. Используется только для текстовых ссылок; заливки кнопок и
   акценты остаются на --blue, там контраст считается от белого текста. */
--blue-text: #0063F0;
--surface: #F4F4F4;
--text: #1A1919;
--text-muted: #5F6673;    /* вместо #9A9A9A в тексте: 5,78:1 против 2,85:1 */
--success: #61AE2D;
--danger: #DC3232;
--accent-star: #F8A30A;

--radius-lg: 24px;
--radius-md: 12px;
--radius-btn: 6px;
--radius-pill: 999px;

--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

img {
      -webkit-user-select: none; /* Safari */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE 10+ */
  user-select: none;         /* Standard syntax */
}

/* Standard syntax (most modern browsers) */
::placeholder {
  color: var(--text-muted);
  opacity: 1; /* Ensures full opacity in Firefox */
}

/* Chrome, Opera, Safari */
::-webkit-input-placeholder {
  color: var(--text-muted);
}

/* Firefox 19+ */
::-moz-placeholder {
  color: var(--text-muted);
  opacity: 1;
}

/* Internet Explorer 10+ */
:-ms-input-placeholder {
  color: var(--text-muted);
}

/* Older Firefox 18- */
:-moz-placeholder {
  color: var(--text-muted);
  opacity: 1;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video{margin:0;padding:0;border:0;font:inherit;font-size:100%;-webkit-text-size-adjust:100%;–ms-text-size-adjust:100%;vertical-align:baseline;}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{display:block;}
body{line-height:1;}
ol, ul{list-style-position:inside}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after{content:'';content:none;}
table{border-collapse:collapse;border-spacing:0;}
html{padding:0px;margin:0px !important;height:auto;min-height:100%;min-width:100%;}
body{
font-family: "Inter", sans-serif;
font-size: 20px;
font-weight: 300;
font-style: normal;
line-height: 165.625%;
font-display: swap;
color: var(--main);
font-weight: 400;
margin:0px;padding:0px;
background: #fff;
background-size: cover;
}
html.noscroll,
body.noscroll {
    overflow: hidden;
}
*{-webkit-opacity:1;-webkit-appearance:none;border-radius:0;outline:medium none;margin:0;}
h1, h2, h3, h4, h5, h6{
font-family: "Inter", sans-serif;
color: #373532; font-weight: 700; margin: 0px 0px 20px; letter-spacing: 0.5px;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{}
h1{font-size:36px;line-height:120%;}
h2{font-size:36px;line-height:120%;}
h3{font-size:36px;line-height:120%;}
h4{font-size:36px;line-height:120%;}
h5{font-size:28px;line-height:120%;}
h6{font-size:24px;line-height:120%;}
.subheader{color:#18171D;}
p {
    color: var(--main);
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    margin: 10px 0px 10px 0px;
}
p img{margin:0px;}
em{font-style:italic;}
strong{font-weight:bold;}
small{font-size:80%;}
blockquote, blockquote p{font-size:17px;line-height:1.5;color:var(--text-muted);font-style:italic;}
blockquote{margin:0 0 20px;padding:9px 20px 0 19px;border-left:1px solid #ddd;}
blockquote cite{display:block;font-size:13px;color:var(--text-muted);}
blockquote cite:before{content:"\2014 \0020";}
blockquote cite a, blockquote cite a:visited, blockquote cite a:visited{color:var(--text-muted);}
hr{border:solid #ddd;border-width:1px 0 0;clear:both;margin:30px 0 30px;height:0;}
a, a:visited{color: var(--dark); text-decoration:underline; cursor: pointer;}
a:hover, a:focus {text-decoration:none;}
p a, p a:visited{}
ul, ol {
}

ul li a, ul li a:visited {
    text-decoration: none;
}

a.button, a.button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--button);
    color: var(--white);
    padding: 17px 36px 15px;
    border-radius: 6px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: transform 160ms var(--ease-out), background-color 160ms var(--ease-out);
    margin: 20px 0px 20px;
    border: none;
}

a.button:hover {
color: #fff;
background-color: var(--blue-hover);
 text-decoration: none;
}

/* Состояния, которых в теме не было. Кнопка должна отзываться на нажатие,
   и её должно быть видно при навигации с клавиатуры. */
a.button:active {
    transform: scale(0.97);
}

/* Индикатор фокуса задаётся для всех интерактивных элементов сразу, а не
   перечислением: проверка настоящими нажатиями Tab показала восемь ссылок,
   которые в перечисление не попали. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 3px;
    border-radius: var(--radius-btn);
}

@media (prefers-reduced-motion: reduce) {
    a.button {
        transition: none;
    }
    a.button:active {
        transform: none;
    }
}

#wpadminbar {
display: none !important;
}

.preloader {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
}
    .loader-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 300px;
      height: 300px;
    }


header {
padding: 25px 0px 25px;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
background-color: transparent;
z-index: 4;
box-sizing: border-box;
}

.relative {
    position: relative;
}

.wrapper {
max-width: 1280px;
margin: 0px auto;
padding: 0px 0px;
box-sizing: border-box;
}

.wrap-flex {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: normal;
}


.wrap-flex-center {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}




.wrap-flex-center-between {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}


.wrap-flex-start {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}

.logo {
max-width: 180px;
display: block;
}

.logo img {
display: block;
max-width: 100%;
}


.header-menu {
width: auto;
margin: 0px auto;
display: flex;
justify-content: center;
align-items: center;
}

ul.menu {
display: flex;
flex-wrap: wrap;
font-size: 14px;
list-style-type: none;
}

ul.menu li::before {
content: "";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
display: none;
}

.header-menu li {
width: auto;
margin: 0px 5px;
font-size: 20px;
display: inline-block;
font-weight: 500;
position: relative;
color: #fff;
transition: all 0.2s ease-in-out;
}

.header-menu li a, .header-menu li a:visited, .header-menu li a:hover {
color: var(--text-muted);
font-size: 14px;
font-weight: 400;
    display: inline-block;
    padding: 0px 15px;
    position: relative;
}

.header-menu ul.menu li:hover {
    border-radius: 25px;
    background-color: #F4F4F4;
}


/* .header-menu li a::after {
content: '';
position: absolute;
width: 100%;
transform: scaleX(0);
height: 1px;
bottom: -2px;
left: 0;
background-color: #8F8F8F;
transform-origin: bottom right;
transition: transform 0.25s ease-out;
}

.header-menu li a:hover::after,
.header-menu li a:focus::after {
transform: scaleX(1);
transform-origin: bottom left;
} */


.header-buttons {
    display: flex;
}

a.max, a.whatsapp, a.telegram, a.vk {
width: 48px;
height: 48px;
margin: 0px 5px;
display: inline-block;
border: 1px solid var(--border);
transition: all 0.20s ease-in-out;
vertical-align: middle;
border-radius: 8px;
box-sizing: border-box;
text-decoration: none;
}


a.max {
background: transparent url(images/max.svg) no-repeat center center;
}

a.telegram {
background: transparent url(images/telegram.svg) no-repeat center center;
}

a.login {
width: 110px;
height: 48px;
margin: 0px 0px 0px 5px;
padding: 0px 15px;
display: flex;
align-items: center;
justify-content: space-between;
border: 1px solid #006AFF;
transition: all 0.20s ease-in-out;
vertical-align: middle;
text-decoration: none;
border-radius: 8px;
font-size: 14px;
box-sizing: border-box;
color: #656575;
}

.header-buttons a:visited,
.header-buttons a:hover {
border-color: transparent;
background-color: #F4F4F4;
}

a.login:hover {
border-color: transparent;    
color: #fff;
background-color: #006AFF;
}

a.login:hover > svg {
    filter: invert(50%) brightness(2);
}

.header-mobile {
    display: none;
}

.menu-icon {
margin: 0px 3px;
width: 42px;
height: 42px;
box-sizing: border-box;
cursor: pointer;
position: relative;
    border-radius: 8px;
border: 1px solid #006AFF;
transition: all 0.20s ease-in-out;
display: none;
vertical-align: middle;
z-index: 5;
}

.menu-icon span {
background-color: #006AFF;
height          : 2px;
position        : absolute;
width           : 50%;
left            : 25%;
transition      : all 0.3s ease;
border-radius: 8px;
}

.menu-icon span:first-child {
top: 14px;
}

.menu-icon span:nth-child(2) {
top: 18px;
display: none;
}

.menu-icon span:last-child {
top: 25px;
}

.menu-icon.active {
    background-color: #006AFF;
}

.menu-icon.active span:nth-child(2) {
opacity: 0;
}

.menu-icon.active span:first-child,
.menu-icon.active span:last-child {
top             : 18px;
background-color: #fff;
}

.menu-icon.active span:first-child {
transform: rotate(45deg);
}

.menu-icon.active span:last-child {
transform: rotate(-45deg);
}



header.header-not-front .header-menu,
header.header-not-front .header-buttons {
display: none;
}

a.back {
display: none;    
cursor: pointer;
width: 48px;
height: 48px;
border-radius: 100%;
box-sizing: border-box;
background: #fff url(images/close.svg) no-repeat center center;
}

header.header-not-front a.back {
display: inline-block;
}

a.back:hover {
scale: 1.1;
}

.suptitle, p.suptitle {
color: var(--text-muted);
font-weight: 400;
font-size: 16px;
letter-spacing: 0.02em;
text-align: center;
width: 100%;
margin-bottom: 10px;
box-sizing: border-box;
}

h3.block-title,
.block-title {
font-size: clamp(30px, 3.6vw, 48px);
margin: 0px auto 40px;
text-align: center;
max-width: 880px;
color: var(--dark);
line-height: 1.15;
position: relative;
text-wrap: balance;
}

.single-page-content h1.block-title {
font-size: 48px;
max-width: 960px;
}

a.price-list {
font-size: 15px;
position: absolute;
right: 60px;
top: 60px;
    font-weight: 400;
    text-decoration: none;
}

a.price-list svg {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

a.price-list span {
    display: inline-block;
    margin-top: 5px;
        vertical-align: middle;
    text-decoration: none;
}

a.price-list:hover > span {
    text-decoration: underline;
}

#home {
/* background-attachment: fixed;
background-repeat: no-repeat;
background-size: cover; */
width: 100%;
overflow: hidden;
}

.first-block {
padding: 120px 0px 56px;
height: auto;
color: #fff;
min-height: 400px;
box-sizing: border-box;
position: relative;
overflow: visible;
align-items: center;
}

.first-block .predzagolovok {
    display: none;
}

.first-block-content {
width: 100%;
max-width: 590px;
padding: 0px 0px;
box-sizing: border-box;
z-index: 2;
color: var(--main);
font-size: 20px;
}

.first-block-content p {
color: var(--main);
font-size: 20px;
}

.first-block-content h1 {
color: var(--main);
font-size: clamp(38px, 3.2vw, 46px);
font-weight: 600;
line-height: 1.15;
margin-bottom: 20px;
position: relative;
}

.first-block-content ul {
margin: 20px 0px;
list-style-type: none;
}

.first-block-content h1 .underline {
position: relative;
    width: 100%;
    display: inline;
}


.first-block-content .underline::after {
content: ' ';
    display: inline-block;
    background-color: #91B3FA;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: 10px;
    left: 0px;
    z-index: -1;
    animation: fillWidth 2s ease-in-out forwards;
}


@keyframes fillWidth {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}


.first-block-content ul  li::marker {
color: var(--main);
font-size: 26px;
}


.first-block-content ul li {
color: var(--main);
    font-size: 18px;
    margin: 20px 0px;
    padding-left: 0px;
    position: relative;
    display: flex;
    align-items: center;
    line-height: 120%;
    font-weight: 300;
    text-align: left;
}

.first-block-content ul li img {
    margin-right: 20px;
}

.first-block-content ul li::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: #E6E6E6;
    display: block;
    left: 0px;
    top: calc(50% - 6px);
    display: none;
}

.first-block-content a.button {
display: inline-flex;
align-items: center;
justify-content: center;
background: var(--button);
color: var(--white);
padding: 17px 36px 15px;
border-radius: 6px;
font-family: var(--font-body);
font-size: 16px;
font-weight: 500;
text-decoration: none;
transition: transform 0.2s, box-shadow 0.2s;
margin: 30px 0px 20px;
border: none;
}

.first-block-content a.button:hover {
  background-color: #0400FF;
  }

.hero-guarantee,
.section-subtitle,
.popup-guarantee {
  color: #5f6673;
  font-size: 16px;
  line-height: 1.45;
}

.hero-guarantee {
  margin: 14px 0 0;
  max-width: 520px;
}

/* Первый экран: основное действие и вторичная ссылка к калькулятору
   стоят в одной строке, чтобы кнопка целиком помещалась в 650px. */
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 28px;
  margin: 24px 0 0;
}

.hero-actions a.button {
  margin: 0;
}

a.link-secondary,
a.link-secondary:visited {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--blue-text);
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 160ms var(--ease-out);
}

a.link-secondary::after {
  content: "\2192";
  transition: transform 160ms var(--ease-out);
}

a.link-secondary:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 4px;
  border-radius: 4px;
}

@media (hover: hover) and (pointer: fine) {
  a.link-secondary:hover {
    border-bottom-color: currentColor;
  }
  a.link-secondary:hover::after {
    transform: translateX(3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  a.link-secondary,
  a.link-secondary::after {
    transition: none;
  }
}

.section-subtitle {
  max-width: 700px;
  margin: -10px auto 28px;
  text-align: center;
  text-wrap: balance;
}

p.hint {
font-size: 13px;
color: rgba(255, 255, 255, 0.5);
font-weight: 300;
letter-spacing: 0.2px;
}

.first-block-img {
background: transparent url(images/first-bg.svg) no-repeat center top;
background-size: 100% auto;
max-width: 750px;
position: relative;
right: 0px;
padding: 40px 40px;
    box-sizing: border-box;
}


.first-block-img img {
    max-width: 100%;
    height: auto;
        position: relative;
    z-index: 2;
}


.first-block-img .gears {
    display: block;
    position: absolute;
top: 30px;
    right: -10px;
    z-index: 1;
}

#infometriks {
padding: 80px 0px 60px;
background-color: #F4F4F4;
overflow: hidden;
width: 100%; 
}

.infoblock {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: #fff;
    border-radius: 24px;
    padding: 25px 25px;
    margin: 8px 0px;
    box-sizing: border-box;
}


.infoblock p {
    width: 100%;
}

#infoblocks_first .infoblock p {
font-size: 18px;
margin: 0px 0px 10px;
}

#infoblocks_first .infoblock h3 {
    margin-bottom: 10px;
    line-height: 100%;
    font-size: 32px;
}

#infoblocks_first .infoblock {
width: calc(50% - 8px);
padding: 40px 35px 40px 200px;
}

#infoblocks_first .infoblock:nth-child(1) {
background: #fff url(images/clipart1.jpg) no-repeat center left;
}

#infoblocks_first .infoblock:nth-child(2) {
background: #fff url(images/clipart2.jpg) no-repeat center left;
}

#infoblocks_first .infoblock:nth-child(3) {
background: #fff url(images/clipart3.png) no-repeat 40px center;
width: 100%;
padding: 80px 40px 80px 50%;
}

/* #metriks вынесен из #infometriks в самостоятельную секцию: между ними
   встал блок с отчётом по точкам роста. Чередование фонов сохраняется. */
#metriks {
    padding: 80px 0px 60px;
    text-align: center;
    background-color: var(--surface);
    width: 100%;
    overflow: hidden;
}

#metriks .button {
    margin-top: 40px;
}

#metriks .infoblock {
width: calc(25% - 8px);
text-align: center;
    display: block;
}

#metriks .infoblock-icon {
    margin: 0px auto;
}

#metriks .infoblock-title {
font-weight: 600;
color: var(--dark);
font-size: 17px;
margin: 10px 0px 10px;
}

#metriks .infoblock-description {
margin: 10px 0px 0px;
font-weight: 400;
color: var(--text-muted);
font-size: 15px;
}

.center-button {
    width: 100%;
    text-align: center;
}

#points, #growth {
    padding: 70px 0px 70px;
}

.point {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
        margin: 0px auto;
    max-width: 1120px;
}

.point:nth-child(1) .point-image::before,
.point:nth-child(2) .point-image::before {
content: " ";
display: block;
width: 75px;
height: 75px;
background: transparent url(images/gear-one-animated.svg) no-repeat center center;
top: 0px;
position: absolute;
left: 40%;
}

.point:nth-child(2) .point-image::before {
top: 20%;
left: auto;
right: 0px;
}


.point-image {
   position: relative;
}

.point-image img {
    max-width: 490px;
    height: auto;
}

.point-content {
    max-width: 550px;
}

.point-content p {
    font-size: 18px;
    font-weight: 300;
    margin: 40px 0px 40px;
    line-height: 150%;
}

.point:nth-child(even) {
}

.point:nth-child(even) > .point-image {
   order: 2;
}

#integration {
    padding: 20px 0px 70px;
}

#integration .infoblocks {
counter-reset: my-item-counter;
    padding: 25px 0px 40px;
}

#integration .infoblock {
    background-color: #F4F4F4;
    width: calc(33% - 8px);
    position: relative;    
display: block;
max-width: 100%;
padding: 30px 30px;
margin: 10px auto;
}

#integration .infoblock::before {
  counter-increment: my-item-counter; /* Increase count by 1 */
  content: counter(my-item-counter) ""; /* Display as "1. ", "2. ", etc. */
  font-weight: bold;
  background-color: #FFFFFF;
  border-radius: 25px;
  padding: 10px 10px;
  position: absolute;
  top: 25px;
  left: 15px;
  font-size: 20px;
  font-weight: 600;
  color: #006AFF;
}


#integration .infoblock-image {
    display: block;
    margin: 0px auto;
    max-width: 100%;
}

#integration .infoblock p {
    font-size: 15px;
}


#integration .infoblock p.infoblock-title {
font-size: 18px;
font-weight: 600;
}


#plans {
        padding: 80px 0px 60px;
    background-color: #F4F4F4;
    overflow: hidden;
    width: 100%;
}

.tarif {
    width: calc(25% - 8px);
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.tarif_header {
width: 100%;
background-color: #fff;
border-radius: 12px;
padding: 10px 30px;
margin-bottom: 5px;
display: flex;
justify-content: space-between;
align-items: center;
min-height: 67px;
    box-sizing: border-box;
        font-size: 16px;
    font-weight: 600;
    transition: all 0.20s ease-in-out;
}

.tarif_header img {
max-height: 100%;
width: auto;
}

.tarif_props_price {
background-color: #fff;
border-radius: 12px;
    box-sizing: border-box;
    overflow: hidden;
    transition: all 0.20s ease-in-out;
    display: flex;
    flex: 1;
    flex-direction: column;
}

.tarif_props {
width: 100%;
padding: 20px 30px;
display: flex;
flex: 1;
align-content: flex-start;
    flex-wrap: wrap;
border-bottom: 1px solid #EBEBEB;
    box-sizing: border-box;
}

.tarif_prop {
    width: 100%;
}

p.tarif_prop_title, p.tarif_price_title {
    display: block;
    width: 100%;
    color: var(--text-muted);
    font-size: 15px;
        margin: 10px 0px 0px;
}

p.tarif_prop_value {
    font-size: 16px;
    font-weight: 600;
        margin: 5px 0px 10px;
}

.tarif_price {
width: 100%;
padding: 15px 30px;
    box-sizing: border-box;
    margin-top: auto;
}

.tarif_price_value {
    font-size: 20px;
    font-weight: 600;
}

.tarif:hover .tarif_title,
.tarif:hover p.tarif_price_value,
.tarif:hover p.tarif_prop_value {
    color: #fff;
}

.tarif:hover img {
    filter: invert(100);
}

.tarif:hover .tarif_header, .tarif:hover .tarif_props_price  {
  background-color: var(--dark);
  }

.tarif:hover .tarif_props {
      border-color: #777;
  }

.tarif-featured .tarif_header,
.tarif-featured .tarif_props_price {
  box-shadow: 0 0 0 2px var(--blue, #006AFF);
}

.tarif-button {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.tarif_action {
  width: 100%;
  padding: 0 30px 30px;
  box-sizing: border-box;
}

.tarif_action .tarif-button {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 58px;
  padding-left: 16px;
  padding-right: 16px;
}

.case-quote {
  margin: 22px 0 0;
  padding: 18px 20px;
  border-left: 4px solid #006AFF;
  border-radius: 10px;
  background: #f4f7ff;
  color: #1A1919;
  font-size: 15px;
  font-style: italic;
  line-height: 1.45;
}

#banner-form {
    background-color: #F4F4F4;
    overflow: hidden;
    width: 100%;  
}

.open-form {
    /* background: #fff url(images/clipart9.jpg) no-repeat center left; */
    background-color: #fff;
    overflow: hidden;
    padding: 50px 50px;
    border-radius: 12px;
    box-sizing: border-box;
    position: relative;
}

.open-form-gear {
    position: absolute;
    animation: spin 3s linear infinite;
    left: -100px;
    top: 50%;
    margin-top: -100px;
}

.open-form-gear-logo {
    display: block;
    background: transparent url(images/logo-form.svg) no-repeat center center;
    width: 52px;
    height: 52px;
    position: absolute;
    top: 80px;
    left: 80px;
}


@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


.open-form-left {
width: calc(100% - 300px);
max-width: 520px;
margin-right: 80px;
box-sizing: border-box;
}

.open-form-left li img {
    margin: 0px;
    vertical-align: middle;
    margin-right: 10px;
}

.open-form-left ul {
    list-style-type: none;
}

.open-form-left ul li {
    list-style: none;
    font-size: 15px;
    margin: 10px 0px;
}

.open-form-right {
    width: 300px;
}

p.privacy {
    color: var(--text-muted);
    font-size: 12px;
    width: 100%;
}

#cases {
            padding: 80px 0px 60px;
    background-color: #F4F4F4;
    overflow: hidden;
    width: 100%;
}

.case {
    width: 100%;
    background-color: #fff;
    border-radius: 12px;
    margin: 8px auto;
}

.case span {
color: var(--text-muted);
font-size: 15px;
font-weight: 300;
    display: block;
    margin: 10px 0px 0px;
}

.case p.case-title {
    font-size: 24px;
    margin: 5px 0px 0px;
    font-weight: 600;
}

.case .case-amount {
font-size: 48px;
color: #006AFF;
font-weight: 600;
}

.case .case-amount span.case-count-number {
    display: inline;
    margin: 0;
    color: #006AFF;
    font-size: inherit;
    font-weight: inherit;
}

.case .case-amount span.case-first-number {
    display: inline;
    color: #006AFF;
    font-size: 32px;
    font-weight: 300;
}

.case .case-amount span.case-last-number {
display: inline;
    font-size: 48px;
color: #006AFF;
font-weight: 600;
}

.case-header {
    padding: 20px 50px 20px;
    box-sizing: border-box;
    border-bottom: 1px solid #E0E0E0;
}

.case-stat {
    padding: 30px 50px 30px;
}


#faq {
            padding: 80px 0px 60px;
    overflow: hidden;
    width: 100%;
}

.faq-list {
    width: 100%;
    max-width: 920px;
    margin: 20px auto;
}

.faq {
    border-radius: 12px;
    background-color: #F4F4F4;
    margin: 10px auto;
    padding: 20px 35px;
    box-sizing: border-box;
    font-size: 15px;
    font-weight: 300;
    width: 100%;
    cursor: pointer;
    transition: background-color 0.2s var(--ease-out);
}

.faq:hover {
    scale: 1.03;
}

.faq-title {
    font-weight: 600;
    font-size: 17px;
    line-height: 1.4;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
/* Свёрнутый ответ прятался одной opacity: он оставался в дереве доступности,
   и скринридер читал все двенадцать ответов подряд. Плюс height:0 без
   overflow:hidden давал вылезание содержимого. */
.faq-answer {
opacity: 0;
height: 0px;
overflow: hidden;
visibility: hidden;
transition: opacity 200ms var(--ease-out), visibility 200ms var(--ease-out);
}

.faq-answer, .faq-answer p {
        font-size: 15px;
    font-weight: 300;
}

.faq-switcher {
    border-radius: 100%;
    display: block;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    background: #0066FF url(images/faq-show.svg) no-repeat center center;
}
.faq.active .faq-switcher {
background: #1A1919 url(images/faq-hide.svg) no-repeat center center;
}

.faq.active {
cursor: auto;
}

.faq.active .faq-answer {
opacity: 1.0;
height: auto;
overflow: visible;
visibility: visible;
display: block;
}


.imac-display {
    position: relative;
    max-width: 720px;
    width: 100%;
    height: auto;
    margin: 60px auto 0px;
    z-index: 2;
}

.imac-display img {
    max-width: 100%;
    height: auto;
}

.imac-display .text_content {
max-width: 360px;
    background: #006AFF url(images/checkmark.svg) no-repeat 25px 35px;
    padding: 30px 20px 30px 80px;
    font-size: 18px;
    box-sizing: border-box;
    font-weight: 600;
    line-height: 150%;
    border-radius: 12px;
    color: #fff;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#last_block {
    padding: 400px 0px 80px;
background: #F4F4F4 url(images/bg.png) no-repeat center -50px;
background-size: 100% auto;
position: relative;
width: 100%; 
margin-top: -300px;
}

.last_block_content {
    max-width: 800px;
    padding: 0px 10px;
    width: 100%;
    margin: 0px auto;
    box-sizing: border-box;
}

.last_block_content h2, .last_block_content h3 {
    font-size: 48px;
    line-height: 100%;
}

.last_block_content .button {
    padding: 17px 60px 15px;
    max-width: 320px;
    margin: 20px 0px 10px;
}

.row-slider-relative  {
position: relative;
}

.tns-ovh {
overflow: visible !important;
}


.tns-nav {
text-align: center;
margin-top: 20px;
}
.tns-outer .tns-nav [aria-controls], .tns-outer .tns-nav [data-action] {
cursor: pointer;
border-radius: 100%;
border: none;
width: 15px;
height: 15px;
margin: 0px 2px;
background-color: #9C9C9C;
vertical-align: middle;
}

.tns-outer [aria-controls].tns-nav-active {
background-color: #000000;
width: 20px;
height: 20px;
}

.tns-controls {
    width: 140px;
    height: auto;
    right: 5px;
    top: -40px;
    position: absolute;
    z-index: 3;
	text-align: right;
}

.tns-controls button:first-child {
	width: 48px;
	height: 48px;
	border-radius: 100%;
background: #fff url(images/arrows.svg) no-repeat 16px 16px;
	border: none;
	font-size: 0px;
	margin-right: 20px;
	transition: background-color 0.20s ease-in-out, margin 0.20s ease-in-out;
	display: inline-block;
}

.tns-controls button:last-child {
	width: 48px;
	height: 48px;
	border-radius: 100%;
	background: #fff url(images/arrows.svg) no-repeat -26px 16px;
	border: none;
	font-size: 0px;
	transition: background-color 0.20s ease-in-out, margin 0.20s ease-in-out;
	display: inline-block;
}

.tns-controls button:first-child:hover {
	background: #61AE2D url(images/arrows.svg) no-repeat 16px -28px;
	margin-right: 25px;
}

.tns-controls button:last-child:hover {
	background: #61AE2D url(images/arrows.svg) no-repeat -26px -28px;
	margin-right: -5px;
margin-left: 5px;
}


#team-slider {
    padding: 60px 0px 40px;
    overflow: hidden;
}

#projectsMap {
    width: 100%;
    height: 500px;
    border-radius: 12px;
    overflow: hidden;
}


.single-page-wrap {
padding: 130px 0px;
min-height: 500px;
}

.single-page-column-content {
    width: 100%;
    max-width: 1120px;
    background-color: #F4F4F4;
    color: var(--black);
    font-size: 16px;
    border-radius: 12px;
    padding: 15px 30px;
    margin: 10px auto 20px;
    box-sizing: border-box;
    /* min-height: 500px; */
        position: relative;
        z-index: 2;
}

.single-page-column-content p {
        color: var(--dark);
            font-size: 16px;
            margin: 20px 0px;
}

.single-page-column-content .legal-doc {
    max-width: 860px;
    margin: 0 auto;
    line-height: 1.65;
}

.single-page-column-content .legal-doc h2 {
    font-size: 26px;
    line-height: 1.2;
    margin: 36px 0 14px;
}

.single-page-column-content .legal-doc ul {
    margin: 14px 0 22px;
    padding-left: 22px;
}

.single-page-column-content .legal-doc li {
    margin: 8px 0;
}

.single-page-column-content .legal-doc a {
    color: var(--blue-text);
}

.single-page-column-content .knowledge-base {
    max-width: 1040px;
    margin: 0 auto;
}

.knowledge-base,
.knowledge-base p,
.knowledge-base li {
    color: var(--dark);
}

.knowledge-base .kb-eyebrow {
    margin: 8px 0 10px;
    color: var(--blue-text);
    font-size: 16px;
    font-weight: 700;
}

.knowledge-base .kb-lead {
    max-width: 760px;
    margin: 0 0 28px;
    color: #545B68;
    font-size: 20px;
    line-height: 1.45;
}

.kb-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.kb-sidebar {
    position: sticky;
    top: 110px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    background: #fff;
    border: 1px solid #E3E7EF;
    border-radius: 12px;
}

.kb-sidebar a {
    display: block;
    padding: 10px 12px;
    color: #1A1919;
    font-size: 15px;
    line-height: 1.25;
    text-decoration: none;
    border-radius: 8px;
}

.kb-sidebar a:hover {
    color: var(--blue-text);
    background: #F4F8FF;
}

.kb-section {
    margin: 0 0 30px;
    scroll-margin-top: 110px;
}

.kb-section h2 {
    margin: 0 0 14px;
    font-size: 32px;
    line-height: 1.15;
}

.kb-card {
    padding: 28px;
    background: #fff;
    border: 1px solid #E3E7EF;
    border-radius: 12px;
}

.kb-card-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
}

.kb-badge,
.kb-time {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 999px;
}

.kb-badge {
    color: var(--blue-text);
    background: #EAF2FF;
}

.kb-time {
    color: #545B68;
    background: #F1F3F6;
}

.kb-card h3 {
    margin: 0 0 16px;
    font-size: 28px;
    line-height: 1.2;
}

.kb-card h4 {
    margin: 28px 0 10px;
    font-size: 22px;
    line-height: 1.25;
}

.kb-card p {
    margin: 12px 0;
    font-size: 17px;
    line-height: 1.55;
}

.kb-card ol,
.kb-card ul {
    margin: 12px 0 18px;
    padding-left: 22px;
}

.kb-card li {
    margin: 8px 0;
    font-size: 16px;
    line-height: 1.55;
}

.kb-note,
.kb-warning {
    padding: 14px 16px;
    border-radius: 10px;
}

.kb-note {
    background: #F4F8FF;
}

.kb-warning {
    background: #FFF8ED;
    border-left: 4px solid #FFB020;
}

.kb-download a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 18px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    background: #006AFF;
    border-radius: 8px;
}

.kb-download a:hover {
    background: #0057D5;
}

.kb-placeholder {
    background: #F7F7F8;
}

.kb-placeholder h3 {
    margin-bottom: 8px;
    font-size: 22px;
}

.legal-note,
.legal-warning {
    padding: 14px 16px;
    border-radius: 10px;
    background: #fff;
}

.legal-warning {
    border-left: 4px solid #006AFF;
}

.privacy-consent {
    margin: 14px 0 18px;
    color: #5f6673;
    font-size: 14px;
    line-height: 1.45;
    text-align: left;
}

.privacy-consent .wpcf7-form-control-wrap {
    display: block;
}

.privacy-consent .wpcf7-list-item {
    margin: 0;
    text-align: left !important;
}

.privacy-consent label {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    text-align: left !important;
}

.privacy-consent input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin-top: 2px;
    border: 1px solid #B8C0CC;
    border-radius: 4px;
    appearance: auto;
    -webkit-appearance: checkbox;
}

.privacy-consent .wpcf7-list-item-label {
    display: inline;
    margin-left: 0;
    max-width: none;
    color: inherit;
    font: inherit;
    line-height: inherit;
    letter-spacing: normal;
    text-align: left !important;
}

.privacy-consent a {
    color: var(--blue-text);
    text-decoration: underline;
}

.privacy-consent-optional {
    margin-top: 8px;
}

.legal-tariffs-table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0 26px;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
}

.legal-tariffs-table th,
.legal-tariffs-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #E3E7EF;
    text-align: left;
    vertical-align: top;
}

.legal-tariffs-table th {
    font-weight: 700;
    background: #F8FAFF;
}

.legal-tariffs-table tr:last-child td {
    border-bottom: 0;
}

@media only screen and (max-width: 767px) {
    .single-page-column-content .knowledge-base {
        max-width: none;
    }

    .knowledge-base .kb-lead {
        margin-bottom: 22px;
        font-size: 17px;
    }

    .kb-layout {
        display: block;
    }

    .kb-sidebar {
        position: static;
        margin-bottom: 22px;
        padding: 12px;
    }

    .kb-sidebar a {
        padding: 9px 10px;
        font-size: 14px;
    }

    .kb-section {
        margin-bottom: 24px;
        scroll-margin-top: 90px;
    }

    .kb-section h2 {
        font-size: 26px;
    }

    .kb-card {
        padding: 20px;
    }

    .kb-card h3 {
        font-size: 24px;
    }

    .kb-card h4 {
        font-size: 20px;
    }

    .kb-card p {
        font-size: 16px;
    }

    .kb-download a {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .legal-tariffs-table,
    .legal-tariffs-table thead,
    .legal-tariffs-table tbody,
    .legal-tariffs-table tr,
    .legal-tariffs-table th,
    .legal-tariffs-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .legal-tariffs-table thead {
        display: none;
    }

    .legal-tariffs-table tr {
        padding: 14px 0;
        border-bottom: 1px solid #E3E7EF;
    }

    .legal-tariffs-table tr:last-child {
        border-bottom: 0;
    }

    .legal-tariffs-table td {
        border-bottom: 0;
        padding: 6px 16px;
    }

    .legal-tariffs-table td:first-child {
        font-weight: 700;
        font-size: 18px;
    }
}

.single-page-column-content p.price-suptitle {
    font-size: 24px;
    font-weight: 500;
    margin: 20px 0px 10px;
}

.single-page-column-content p.price-title {
    font-size: 32px;
    font-weight: 500;
    margin: 0px 0px 40px;
}

.two-columns .single-page-column-content {
width: calc(50% - 8px);
}

.prices p {
font-size: 24px;
}

.price {
 font-size: 24px;
 display: flex;
 align-items: flex-end;
 justify-content: space-between;   
 position: relative;
}

.prices-padding {
        padding: 15px 30px 25px;
}

.single-page-column-content p.prices-first {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0px 0px;
}

.dots {
  /* flex-grow: 1;
  margin: 0 5px; */
    position: absolute;
    width: 100%;
    left: 0px;
    bottom: 10px;
    z-index: -1;
    border-bottom: 1px dotted var(--dark);
}

span.price-title {
    padding: 2px 0px;
    background-color: #F1F1F1;
}

span.price-title span {
    padding: 0px 4px 0px 0px;
    background-color: #F1F1F1;
}

span.price-amount {
    padding: 2px 0px 4px 4px;
    background-color: #F1F1F1;
}

footer {
    background-color: #fff;
    padding: 0px 0px 0px;
    box-sizing: border-box;
}

.footer {
    padding: 40px 0px 40px;
    box-sizing: border-box;
}

.footer .wrap-flex {
    justify-content: left;
    align-items: center;
}

.footer-logo {
    max-width: 180px;
    margin-right: 100px;
}

.contacts {
    width: calc(80% - 200px);
}


.contacts a {
    display: inline-block;
    background-color: #F4F4F4;
    border-radius: 12px;
color: var(--text-muted);
width: auto;
padding: 15px 35px;
text-decoration: none;
color: var(--dark);
font-weight: 600;
 margin: 10px 15px 10px 0px;
    height: 72px;
    box-sizing: border-box;
        border: transparent;
        transition: all 0.20s ease-in-out;
}

.contacts a.max, .contacts a.telegram {
    padding: 15px 65px;
    margin: 10px 15px 10px 0px;
}

.contacts span {
color: var(--text-muted);
font-size: 15px;
line-height: 100%;
font-weight: 300;
display: block;
}

.contacts a:hover {
text-decoration: none;
background-color: transparent;
scale: 1.05;
}


img.aligncenter {
    clear: both;
    margin: 0px auto 20px;
    display: block;
}


.scrollToTop { 
        display: block;
        width: 93px;
        height: 32px;
position: absolute;
    top: -43px;
    right: 0px;
    background: #0066FF url(images/scrolltop.svg) no-repeat center center;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.scrollToTop:hover {
    background-color: #0400FF;
}

.footer-bottom {
    padding: 10px 0px;
    border-top: 1px solid #E6E6E6;
    font-size: 13px;
    color: var(--text-muted);
}

.footer-bottom p, .footer-bottom a {
color: var(--text-muted);
font-size: 12px;
}


.footer-bottom a:hover {
    text-decoration: underline;
}

.footer-menu ul li {
        margin: 0px 20px;
}


.redround a:hover {
text-decoration: none;
}


input[type=text], input[type=tel], input[type=email] {
border-radius: 8px;
border: 1px solid #D9D9D9;
background-color: var(--white);
font-family: "Inter", sans-serif;
color: var(--text);
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: normal;
letter-spacing: 1.12px;
padding: 25px 16px 25px 16px;
line-height: 140%;
box-sizing: border-box;
height: 60px;
margin: 10px 0px;
display: inline-block;
vertical-align: top;
width: 100%;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  transition: background-color 5000s ease-in-out 0s;
}


input[name="your-name"],
input[name="your-name"]:-webkit-autofill,
input[name="your-name"]:-webkit-autofill:hover,
input[name="your-name"]:-webkit-autofill:focus,
input[name="your-name"]:-webkit-autofill:active  {
      -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  transition: background-color 5000s ease-in-out 0s;
/* background: var(--white) url(images/input-name.svg) no-repeat 15px center !important;
background-image: url(images/input-name.svg) !important; */
}

input[type=email],
input[type=email]:-webkit-autofill,
input[type=email]:-webkit-autofill:hover,
input[type=email]:-webkit-autofill:focus,
input[type=email]:-webkit-autofill:active  {
      -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  transition: background-color 5000s ease-in-out 0s;
/* background: var(--white) url(images/input-mail.svg) no-repeat 15px center !important;
background-image: url(images/input-mail.svg) !important; */
}

input[type=tel],
input[type=tel]:-webkit-autofill,
input[type=tel]:-webkit-autofill:hover,
input[type=tel]:-webkit-autofill:focus,
input[type=tel]:-webkit-autofill:active  {
      -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
  transition: background-color 5000s ease-in-out 0s;
/* background: var(--white) url(images/input-phone.svg) no-repeat 15px center !important;   
background-image: url(images/input-phone.svg) !important; */
}


.wpcf7-list-item-label {
margin-left: 38px;
display: block;
cursor: pointer;
color: #5A5A5A;
font-size: 14px;
font-style: normal;
font-weight: 300;
line-height: 135.714%;
letter-spacing: 0.56px;
max-width: 380px;
}

.wpcf7-response-output {
display:none !important;
}

input[type=submit] {
display: inline-block;
    /* display: inline-flex; */
    align-items: center;
    background: var(--button);
    color: var(--white);
    padding: 16px 36px;
    border-radius: 6px;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: transform 160ms var(--ease-out), background-color 160ms var(--ease-out);
    margin: 10px 0px 10px;
    width: 100%;
    border: none;
    cursor: pointer;
}

input[type=submit]:hover {
color: #fff;
background-color: #0400FF;
 text-decoration: none;
}


input[type=submit]:focus {
color: #fff;
background-color: #0400FF;
 text-decoration: none;
}


.fixed-overlay {
position: fixed;
left: 0;
top: 0;
min-width: 100%;
height: 100%;
min-height: 100vh;
background: rgba(18, 22, 22, 0.80);
/* backdrop-filter: blur(5.75px); */
z-index: 13;
display: none;
}


.fixed-form {
position: fixed;
width: calc(90% - 80px);
height: auto;
max-width: 600px;
padding: 40px 40px;
border-radius: 8px;
box-sizing: border-box;
text-align: center;
background: #fff;
top: 50%;
left: 50%;
bottom: auto;
transform: translate(-50%, -50%);
transition:all .4s ease-in-out;
opacity: 0.0;
z-index: 14;
display: none;
}

.fixed-form h4 {
    font-size: 36px;
    line-height: 110%;
}

.fixed-form.popup-form {
      height: auto;
      max-width: 520px;
    padding: 40px 60px;
    text-align: center;
}

.fixed-form.popup-form h3 {
    font-size: 36px;
    line-height: 1.08;
}

.fixed-form.popup-form h3 span {
    white-space: nowrap;
}

.popup-form-main {
      max-width: 400px;
      margin: 0px auto;
  }

.popup-guarantee {
  margin: 12px 0 0;
  text-align: center;
}

.telegram-registration h3 span {
  display: block;
}

.telegram-registration-accent {
  color: #006aff;
}

.telegram-registration-text {
  margin: 24px auto 32px;
  max-width: 420px;
  font-size: 20px;
  line-height: 1.35;
}

.telegram-registration-button {
  display: flex;
  width: 100%;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  padding: 17px 24px 15px;
  box-sizing: border-box;
  text-align: center;
}

.telegram-registration-inline h3 {
  margin-bottom: 16px;
}

.telegram-registration-inline .telegram-registration-text {
  margin: 0 0 24px;
  font-size: 18px;
}




.fixed-form.show {
display: block;
opacity: 1.0;
}


.fixed-form-title {
}



.wpcf7-form {
margin: 0px auto 0px;
}

.wpcf7-form p {
}

.wpcf7-form p.form-notice {
color: #5A5A5A;
text-align: center;
font-size: 14px;
font-style: normal;
font-weight: 400;
margin: 10px 0px 0px;
display: block;
text-align: center;
line-height: 153.333%;
letter-spacing: 0.48px;
}

.form-notice a, .form-notice a:visited {
color: #F8A30A;
}

.form-notice a:hover {
color: #F8A30A;
}


.wpcf7-form .fixed-form-submit p {
text-align: right;
}

.fixed-form .screen-reader-response {
display: none;
margin: 0px auto;
}



.form-desc {
display: block;
}


.close-ajax:hover {
opacity: 0.7;
}


.close {
background: #fff url('images/close.svg') no-repeat center center;
background-size: auto auto;
transition:all .2s ease-in-out;
width: 40px;
height: 40px;
padding: 15px 15px;
box-sizing: border-box;
display: block;
position: absolute;
top: 15px;
cursor: pointer;
right: 15px;
border-radius: 100%;
z-index: 16;
}


.close:hover {
scale: 1.1;
}


.form-success {
text-align: center;
max-width: 320px;
margin: 0px auto;
display: none;
padding: 60px 0px;
}

.form-success img {
margin: 10px auto;
}

.form-success h4 {
font-weight: 600;
margin: 20px auto 0px;
color: var(--dark);
}


.checkmark {
width: 100px;
height: 100px;
border-radius: 50%;
display: block;
stroke-width: 2;
stroke: #006AFF;
stroke-miterlimit: 10;
box-shadow: inset 0px 0px 0px #006AFF;
animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
position:relative;
top: 5px;
right: 5px;
margin: 0 auto;
}
.checkmark__circle {
stroke-dasharray: 166;
stroke-dashoffset: 166;
stroke-width: 2;
stroke-miterlimit: 10;
stroke: #006AFF;
fill: #fff;
animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;

}

.checkmark__check {
transform-origin: 50% 50%;
stroke-dasharray: 48;
stroke-dashoffset: 48;
animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}

@keyframes stroke {
100% {
stroke-dashoffset: 0;
}
}

@keyframes scale {
0%, 100% {
transform: none;
}

50% {
transform: scale3d(1.1, 1.1, 1);
}
}

@keyframes fill {
100% {
box-shadow: inset 0px 0px 0px 30px #006AFF;
}
}


.form-success .button {
width: 100%;
}

.wpcf7-not-valid-tip {
color: #dc3232;
font-size: 1em;
font-weight: normal;
display: none !important;
}

input.wpcf7-not-valid {
border-color: #EE3030 !important;
}

.wpcf7 .screen-reader-response {
position: relative;
overflow: hidden;
display: none !important;
clip: auto;
clip-path: none;
height: auto;
width: auto;
margin: -1px;
padding: 0;
color: #fff;
border: 0;
word-wrap: normal !important;
}

.screen-reader-response ul {
display: none;
}

.wpcf7-spinner {
visibility: hidden;
display: block;
background-color: #23282d;
position: absolute;
opacity: 0.75;
width: 24px;
height: 24px;
border: none;
border-radius: 100%;
padding: 0;
margin: 0 auto;
position: absolute;
left: calc(50% - 12px);
bottom: -40px;
}

input[type="text"].wpcf7-not-valid, input[type="email"].wpcf7-not-valid, textarea.wpcf7-not-valid {
border-color: #dc3232;
}

.wpcf7-response-output {
display: none !important;
}

.not-mobile {
    display: block !important;
}

.mobile {
    display: none !important;
}


svg .svg-elem-1{stroke-dashoffset:111.39506530761719px;stroke-dasharray:111.39506530761719px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0s,fill 0.7s ease-in-out 0.8s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0s,fill 0.7s ease-in-out 0.8s}svg.active .svg-elem-1{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-2{stroke-dashoffset:115.74173736572266px;stroke-dasharray:115.74173736572266px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.12s,fill 0.7s ease-in-out 0.9s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.12s,fill 0.7s ease-in-out 0.9s}svg.active .svg-elem-2{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-3{stroke-dashoffset:319.78765869140625px;stroke-dasharray:319.78765869140625px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.24s,fill 0.7s ease-in-out 1s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.24s,fill 0.7s ease-in-out 1s}svg.active .svg-elem-3{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-4{stroke-dashoffset:68px;stroke-dasharray:68px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.36s,fill 0.7s ease-in-out 1.1s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.36s,fill 0.7s ease-in-out 1.1s}svg.active .svg-elem-4{stroke-dashoffset:0;fill:rgb(0,106,255)}svg .svg-elem-5{stroke-dashoffset:568.3335571289062px;stroke-dasharray:568.3335571289062px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.48s,fill 0.7s ease-in-out 1.2000000000000002s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.48s,fill 0.7s ease-in-out 1.2000000000000002s}svg.active .svg-elem-5{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-6{stroke-dashoffset:121.89103698730469px;stroke-dasharray:121.89103698730469px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.6s,fill 0.7s ease-in-out 1.3s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.6s,fill 0.7s ease-in-out 1.3s}svg.active .svg-elem-6{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-7{stroke-dashoffset:117.93888092041016px;stroke-dasharray:117.93888092041016px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.72s,fill 0.7s ease-in-out 1.4000000000000001s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.72s,fill 0.7s ease-in-out 1.4000000000000001s}svg.active .svg-elem-7{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-8{stroke-dashoffset:103.5630874633789px;stroke-dasharray:103.5630874633789px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.84s,fill 0.7s ease-in-out 1.5s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.84s,fill 0.7s ease-in-out 1.5s}svg.active .svg-elem-8{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-9{stroke-dashoffset:98.4076156616211px;stroke-dasharray:98.4076156616211px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.96s,fill 0.7s ease-in-out 1.6s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 0.96s,fill 0.7s ease-in-out 1.6s}svg.active .svg-elem-9{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-10{stroke-dashoffset:82.07291412353516px;stroke-dasharray:82.07291412353516px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 1.08s,fill 0.7s ease-in-out 1.7000000000000002s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 1.08s,fill 0.7s ease-in-out 1.7000000000000002s}svg.active .svg-elem-10{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-11{stroke-dashoffset:61.47956085205078px;stroke-dasharray:61.47956085205078px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 1.2s,fill 0.7s ease-in-out 1.8s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 1.2s,fill 0.7s ease-in-out 1.8s}svg.active .svg-elem-11{stroke-dashoffset:0;fill:rgb(0,0,0)}svg .svg-elem-12{stroke-dashoffset:75.9713134765625px;stroke-dasharray:75.9713134765625px;fill:transparent;-webkit-transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 1.3199999999999998s,fill 0.7s ease-in-out 1.9000000000000001s;transition:stroke-dashoffset 1s cubic-bezier(0.47,0,0.745,0.715) 1.3199999999999998s,fill 0.7s ease-in-out 1.9000000000000001s}svg.active .svg-elem-12{stroke-dashoffset:0;fill:rgb(0,0,0)}

@media only screen and (min-width: 1360px) {


}


@media only screen and (min-width: 980px) and (max-width: 1180px) {

    .header-menu li a, .header-menu li a:visited, .header-menu li a:hover {
        font-size: 14px;
    }

    .header-menu li {
    margin: 0px 0px;
    }

    .first-block-content {
width: calc(100% - 450px);
    }

    .first-block-content h1 {
        font-size: 42px;
        line-height: 112%;
        margin-bottom: 32px;
    }

    .first-block-img {
        max-width: 450px;
    }

    

    .open-form-left {
    width: calc(100% - 300px);
max-width: 450px;
        margin-right: 20px;
        padding-left: 80px;
}

.open-form-right {
    width: 260px;
}


}

@media only screen and (min-width: 1720px) {


}


@media only screen and (max-width: 1200px) {

}

@media only screen and (min-width: 768px) and (max-width: 1280px) {

    
    .wrapper {
        padding: 0px 10px;
    }

    .first-block {
    padding: 150px 10px 60px;
    }


}

@media only screen and (min-width: 768px) and (max-width: 980px) {

            .service-tag {
    padding: 20px 2%;
    }


    .first-block-content {
width: 100%;
margin: 0px auto;
text-align: center;
    }

    .first-block-content h1 {
        font-size: 42px;
        line-height: 112%;
        margin-bottom: 32px;
    }

    .first-block-img {
        max-width: 550px;
margin: 60px auto 0px;
    }

    #metriks .infoblock {
    width: calc(50% - 8px);
    }

    


}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 980px) {

    .header-menu {
        display: none;
    }

}

@media only screen and (max-width: 767px) {

.not-mobile {
    display: none !important;
}

.mobile {
    display: block !important;
}



body {
font-size: 15px;
}

h1{font-size:24px;line-height:120%;}
h2{font-size:24px;line-height:110%;         margin-bottom: 20px;}
h3{font-size:26px;line-height:110%;}
h4{font-size:24px;line-height:110%;}
h5{font-size:22px;line-height:110%;}
h6{font-size:20px;line-height:110%;}

p {
font-size: 15px;
}

header {
padding: 20px 10px 20px;
}

header.active {
    position: fixed;
    /* background-color: #F4F4F4; */
}

.header-buttons a.login {
    display: none;
}

header.active .header-buttons a.max,
header.active .header-buttons a.telegram {
}

.header-buttons a.max, .header-buttons a.whatsapp, .header-buttons a.telegram, .header-buttons a.vk {
width: 42px;
height: 42px;
}

.header-menu {
position: fixed;
overflow: auto;
top: 0;
bottom:0;
left: -200%;
width: 100vw; /* viewport width */
height: 100vh; /* viewport height */
overflow-y: scroll;
overflow-x: hidden;
background: #F4F4F4;
display: block;
z-index: -1;
text-align: center;
transition: all 0.4s ease-in-out;
}

.header-menu.active {
left: 0px;
}

.header-menu li a::after {
/* display: none; */
}

ul.menu {
display: block;
width: 100%;
padding: 60px 0px 30px;
        box-sizing: border-box;
        
}

.header-menu-flex {
        display: flex;
    align-items: center;
    justify-content: center;
height: 45vh;
}

.header-menu li {
display: block;
width: 100%;
color: #FFF;
font-size: 25px;
font-style: normal;
font-weight: 400;
line-height: normal;
margin: 20px 0px;
text-align: center;
text-transform: none;
}

.header-menu li:hover {
    background-color: transparent;
    border-radius: none;
}

.header-menu li a,
.header-menu li a:visited, 
.header-menu li a:hover {
    font-size: 24px;
    font-weight: 600;
    color: var(--dark);
}

.header-menu li.phone {
display: none;
}


	.header-mobile-flex {
          display: flex;
        flex-wrap: wrap;
        overflow: auto;
        justify-content: center;
        align-items: center;
        overflow: visible;
    }

    .header-mobile-socials {
        margin-bottom: 40px;
    }

    .header-mobile {
	width: 100%;
	height: 55vh;
	margin: 0px auto;
	display: none;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--dark);
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
	background-color: #fff;
	position: absolute;
	padding: 0px 0px 0px;
	box-sizing: border-box;
	bottom: 0px;
	left: -100%;
	transition:all .2s ease-in-out;
	order: 4;
	}
	
	.header-mobile.active {
	left: 0px;
    bottom: 0px;
    display: flex;
	}
	
    .header-mobile p {
width: 100%;
color: #fff;
    }

	.bx-top-nav-container {
		padding: 40px 15px;
	}

	.header-mobile li {
		margin: 12px 0px;
	}


.menu-icon {
	display: inline-block;
	}


.block-title, .suptitle, .subtitle {
padding: 0px 15px;
}

.suptitle, p.subtitle {
text-align: center;
}

h3.block-title,
.block-title,
.single-page-content h1.block-title {
    text-align: center;
    font-size: 36px;
        margin: 0px 0px 30px;
}



a.price-list {
    font-size: 15px;
    position: relative;
    right: auto;
    top: auto;
    font-weight: 400;
    text-decoration: none;
    margin: 0px auto 20px;
    width: 100%;
    text-align: center;
    display: block;
}

.single-page-column-content,
.two-columns .single-page-column-content {
width: calc(100% - 15px);
    padding: 15px 15px;
    box-sizing: border-box;
    margin: 10px auto 10px;
}


#home {
}

.first-block {
  padding: 110px 10px 20px;
  text-align: center;
}


.first-block-content h1 {
    font-size: 30px;
    line-height: 112%;
    margin-bottom: 28px;
}
.first-block-content .underline::after {
    bottom: 5px;
}

.first-block-img {
    right: auto;
    margin: 50px auto 0px;
}

.first-block-content ul {
    margin: 20px auto;
    max-width: 540px;
}

.first-block-content ul li {
      text-align: left;
      font-size: 15px;
  }

.hero-guarantee {
      margin: 12px auto 0;
      font-size: 14px;
  }

.section-subtitle {
      margin: -5px auto 20px;
      font-size: 15px;
      padding: 0 15px;
  }

#infometriks {
        padding: 40px 0px 50px;
}

#infoblocks_first .infoblock {
    width: 100%;
    padding: 40px 40px 150px;
    text-align: center;
}

#infoblocks_first .infoblock h3 {
    width: 100%;
    font-size: 28px;
}

#infoblocks_first .infoblock p {
    font-size: 17px;
}

#infoblocks_first .infoblock:nth-child(1) {
    background: #fff url(images/clipart1-2.jpg) no-repeat no-repeat center bottom
}


#infoblocks_first .infoblock:nth-child(2) {
    background: #fff url(images/clipart2-2.jpg) no-repeat no-repeat center bottom
}


#infoblocks_first .infoblock:nth-child(3) {
background-position: center 130%;
        padding: 40px 40px 200px;
        background-size: 380px auto;
}

#metriks {
    padding: 40px 0px 40px;
}
#metriks .infoblock {
width: 100%;
        display: flex;
        text-align: left;
                margin: 5px auto;
}

#metriks .infoblock-icon {
          margin: auto;
}

#metriks .infoblock-title { 
margin: 5px 0px 5px;
}

#metriks .infoblock-description {
    margin: 5px 0px 0px;
}

#metriks .infoblock-content {
        width: calc(100% - 50px);
        padding-left: 20px;
        box-sizing: border-box;
        text-align: left;
}

#points, #growth {
    padding: 40px 0px 10px;
}

.point {
    display: block;
}

.point-image img {
    max-width: 100%;
}


.point-content {
        max-width: 100%;
        padding: 0px 15px;
        text-align: center;
}

.point-content p {
        margin: 30px 0px 30px;
}

#integration {
    padding: 20px 0px 40px;
}

#integration .infoblocks {
    padding: 25px 0px 0px;
}

#integration .infoblock {
    width: 100%;
    margin: 5px auto;
}

.infoblock-content {
    text-align: center;
}

#plans {
    padding: 40px 0px 40px
}

    .plans {
        display: flex;
        flex-wrap: unset;
        overflow: auto;
        width: 100% !important;
        justify-content: left;
        align-items: flex-start;
        padding: 0px 15px 20px 15px;
        box-sizing: border-box;
    }

    .tarif {
        width: calc(320px - 0px);
        display: block;
        margin: 0px 6px;
        padding: 0px 0px;
        flex-shrink: 0;
    }

    .open-form {
    padding: 130px 45px 45px;
    border-radius: 24px;
    box-sizing: border-box;
}

.open-form-gear {
        left: 50%;
    top: 0%;
    margin-top: -100px;
    margin-left: -100px;
}

.open-form-gear-logo {
top: 50px;
    left: calc(50% + 60px);
}

.open-form-left {
    width: 100%;
    max-width: 520px;
    margin: 0px auto 0px;
    text-align: center;
}

.open-form-left ul {
    max-width: 260px;
    margin: 20px auto;
}

.open-form-left ul li {
    text-align: left;
}

.open-form-right {
    text-align: center;
}

p.privacy {
    text-align: center;
}

#cases {
    padding: 40px 0px 40px;
}

.case {
        border-radius: 24px;
}

.case-header {
    padding: 20px 30px 20px;
    text-align: center;
}

.case-stat {
    padding: 30px 30px 30px;
}

.case .case-amount {
    font-size: 32px;
    text-align: center;
    width: 100%;
    margin: 20px 0px;
}

#faq {
    padding: 40px 0px 0px;
}

.faq-list {
    padding: 0px 15px;
    box-sizing: border-box;
}

.faq {
        padding: 20px 15px;
}


.imac-display {
    margin: 20px auto 0px;
}

.imac-display .text_content {
    width: 100%;
    max-width: 360px;
}

#last_block {
    padding: 350px 0px 40px;
    background: #F4F4F4 url(images/bg.png) no-repeat center 90px;
    background-size: auto;
}

.last_block_content h2, .last_block_content h3 {
    font-size: 36px;
}

footer {
background-color: transparent;
    padding: 0px 0px 0px;
    box-sizing: border-box;
    margin-top: 0px;
}

.footer {
    padding: 40px 0px 20px;
}

.footer .wrap-flex {
    justify-content: center;
}

.footer-logo {
        order: 2;
    margin: 40px auto 0px;
}

.contacts.wrap-flex {
    justify-content: space-between;
}

.footer-bottom {
    padding: 20px 10px 0px;
    border-top: none;
    font-size: 12px;
    text-align: center;
}

.footer-bottom .wrap-flex {
    justify-content: center;
    display: block;
}

.footer-bottom ul.menu {
        display: block;
        width: 100%;
        padding: 0px 0px 0px;
}

.scrollToTop {
 margin: 50px auto 0px;
    display: block;
    position: initial;
}

.redround {
        margin-top: 20px;
       color: #373532;
}

.redround a, .redround a:hover, .redround a:visited {
            color: #373532;
}

.contacts {
    width: 100%;
    box-sizing: border-box;
    padding: 0px 0px;
    max-width: 280px;
    margin: 0px auto;
text-align: center;
}

.contacts a {
    width: 100%;
        font-size: 20px;
            margin: 10px auto;
}

.contacts span {
    line-height: 120%;
}

.contacts a.max, .contacts a.telegram {
    padding: 15px 65px;
    margin: 10px 0px;
    height: 72px;
    width: auto;
}



.contacts a.login {
        border: 1px solid #006AFF;
        background-color: transparent;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        font-weight: 400;
        color: #656575;
        border-radius: 8px;
        width: 100%;
        height: 60px;
}

.contacts a.login svg {
    margin-right: 10px;
}

.contacts a.login:hover, .contacts a.login:focus {
    background-color: #006AFF;
    color: #fff;
}

.single-page-column-content p.price-title {
    font-size: 24px;
    margin-bottom: 25px;
}

span.price-title {
    max-width: 45%;
}

.prices-first {
    text-align: left;
    font-family: 16px;
}

.prices p {
    font-size: 16px;
}

#banner-mobile {
display: block;
    background-color: #fff;
padding-top: 50px;
        margin-top: -60px;
}

#mute {
right: auto;
        bottom: 170px;
        top: auto;
        left: 25px;
}

#banner-mobile img {
    display: block;
    margin: 0px auto;
    max-width: 100%;
}



.fixed-form {
width: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transform: none;
        padding: 24px 20px;
        border-radius: 0;
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        max-width: 100%;
        align-items: flex-start;
        justify-content: center;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
}

.fixed-form.show {
display: flex;
}

.fixed-form.popup-form {
    max-width: 100%;
    padding: 24px 20px;
}

.fixed-form.popup-form h3 {
    font-size: 36px;
    line-height: 1.08;
}

.fixed-form.popup-form h3 span {
    white-space: nowrap;
}

.fixed-form .close {
    position: fixed;
}

.fixed-form p {
}

.wpcf7-form {
margin: 10px auto 0px;
}

input[type=text], input[type=tel], input[type=email] {
    margin: 5px 0px 5px;
}


}


/* ==================================================================
   Калькулятор экономии (#calc)
   Собран внутри токенов из docs/design-tokens.md: акцент var(--blue),
   поверхность var(--surface), радиусы 24/12/6, теней нет.
   ================================================================== */

#calc {
    padding: 80px 0px 60px;
    width: 100%;
}

.calc {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 24px;
    align-items: start;
    max-width: 1080px;
    margin: 0 auto;
}

.calc-inputs {
    background-color: var(--surface);
    border-radius: var(--radius-lg);
    padding: 32px;
    display: grid;
    gap: 22px;
}

.calc-field label {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: var(--text);
    margin-bottom: 8px;
}

input.calc-input {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background-color: var(--white);
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--text);
    font-variant-numeric: tabular-nums;
    transition: border-color 160ms var(--ease-out);
    margin: 0;
}

input.calc-input:hover {
    border-color: #B8C0CC;
}

input.calc-input:focus {
    outline: none;
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(0, 106, 255, 0.15);
}

input.calc-input.is-invalid {
    border-color: var(--danger);
}

.calc-hint {
    font-size: 14px;
    color: var(--text-muted);
    margin: 8px 0 0;
}

.calc-result {
    background-color: var(--white);
    border: 1px solid #E3E7EF;
    border-radius: var(--radius-lg);
    padding: 32px;
}

.calc-rows {
    display: grid;
    gap: 2px;
}

.calc-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
}

.calc-row + .calc-row {
    border-top: 1px solid #EDF0F5;
}

.calc-row-label {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.4;
}

.calc-row-value {
    font-size: 20px;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.calc-row-total .calc-row-label,
.calc-row-total .calc-row-value {
    color: var(--text);
    font-weight: 600;
}

.calc-row-ours .calc-row-value {
    color: var(--blue-text);
}

.calc-row[data-row][hidden] {
    display: none;
}

.calc-summary {
    margin-top: 26px;
    padding-top: 26px;
    border-top: 1px solid #E3E7EF;
}

.calc-summary-label {
    font-size: 15px;
    color: var(--text-muted);
    margin: 0 0 6px;
}

.calc-summary-value {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--text);
    margin: 0;
    font-variant-numeric: tabular-nums;
}

.calc-summary[data-state="saving"] .calc-summary-value {
    color: var(--blue);
}

.calc-summary-note {
    font-size: 15px;
    color: var(--text-muted);
    margin: 10px 0 0;
    max-width: 42ch;
}

.calc-summary a.button {
    margin: 22px 0 0;
}

.calc-note {
    max-width: 1080px;
    margin: 28px auto 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-muted);
}

.calc-note strong {
    font-weight: 600;
    color: var(--text);
}

@media only screen and (max-width: 980px) {
    .calc {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
}

@media only screen and (max-width: 767px) {
    #calc {
        padding: 40px 0px 40px;
    }
    .calc-inputs,
    .calc-result {
        padding: 22px 18px;
        border-radius: var(--radius-md);
    }
    input.calc-input {
        font-size: 20px;
    }
    .calc-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .calc-summary-value {
        font-size: 34px;
    }
    .calc-summary a.button {
        width: 100%;
    }
    .calc-note {
        padding: 0 15px;
    }
}

/* ==================================================================
   Сравнение альтернатив (#compare)
   ================================================================== */

#compare {
    padding: 80px 0px 70px;
    width: 100%;
}

.compare-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--radius-lg);
}

.compare-scroll:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 3px;
}

table.compare-table {
    width: 100%;
    min-width: 860px;
    border-collapse: collapse;
    background-color: var(--white);
    font-size: 15px;
    text-align: left;
}

.compare-table th,
.compare-table td {
    padding: 16px 18px;
    vertical-align: top;
    line-height: 1.45;
    border-bottom: 1px solid #EDF0F5;
}

.compare-table thead th {
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
    background-color: var(--surface);
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}

.compare-table thead th:first-child {
    border-top-left-radius: var(--radius-md);
}

.compare-table thead th:last-child {
    border-top-right-radius: var(--radius-md);
}

.compare-table tbody th {
    font-weight: 500;
    color: var(--text);
    width: 22%;
}

.compare-table td {
    color: var(--text-muted);
}

.compare-table .is-ours {
    background-color: #F4F8FF;
    color: var(--text);
    font-weight: 500;
}

/* Синий на светло-синем даёт 4,38:1 и не проходит AA. Колонку размечаем
   фоном и подчёркиванием, текст оставляем основным цветом. */
.compare-table thead th.is-ours {
    color: var(--text);
    background-color: #F4F8FF;
    box-shadow: inset 0 -2px 0 var(--blue);
}

.compare-sub {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: var(--text-muted);
    margin-top: 2px;
}

.compare-note {
    max-width: 780px;
    margin: 24px auto 0;
    text-align: center;
    font-size: 16px;
    color: var(--text-muted);
}


/* ==================================================================
   Честный социальный пруф (#proof)
   ================================================================== */

#proof {
    padding: 80px 0px 60px;
    background-color: var(--surface);
    width: 100%;
    overflow: hidden;
}

.proof-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.proof-card {
    background-color: var(--white);
    border-radius: var(--radius-lg);
    padding: 28px 30px;
}

.proof-card h3 {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 10px;
    color: var(--text);
}

.proof-card p {
    margin: 0;
    color: var(--text-muted);
}

.proof-card-offer {
    background-color: var(--blue);
}

.proof-card-offer h3,
.proof-card-offer p {
    color: var(--white);
}

.proof-honest {
    margin: 20px 0 0;
    padding: 24px 30px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background-color: transparent;
}

.proof-honest p {
    margin: 0;
    color: var(--text-muted);
    max-width: 90ch;
}

.proof-honest strong {
    color: var(--text);
    font-weight: 600;
}

.proof-legal {
    margin: 22px 0 0;
    font-size: 14px;
    color: var(--text-muted);
    text-align: center;
}

.proof-legal a {
    color: var(--text-muted);
}


/* Строка выгоды в карточке тарифа: связывает тариф с калькулятором.
   Горизонтальные отступы те же, что у остальных частей карточки (0 30px),
   иначе строка идёт от края до края и вылезает из общей колонки.
   min-height держит ряд карточек выровненным по кнопке: у тарифа
   «Настраиваемый» числовой цены нет и строка выводится пустой. */
.tarif_benefit {
    margin: 10px 0 0;
    padding: 0 30px;
    box-sizing: border-box;
    min-height: 40px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--blue-text);
    font-weight: 500;
    text-wrap: balance;
}

.tarif:hover .tarif_benefit {
    color: #8FB8FF;
}


@media only screen and (max-width: 980px) {
    .proof-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media only screen and (max-width: 767px) {
    #compare {
        padding: 40px 0px 40px;
    }
    #compare .wrapper,
    #proof .wrapper {
        padding: 0 15px;
        box-sizing: border-box;
    }
    .compare-scroll {
        border-radius: var(--radius-md);
    }
    table.compare-table {
        min-width: 700px;
        font-size: 14px;
    }
    .compare-table th,
    .compare-table td {
        padding: 12px 14px;
    }
    .compare-note {
        font-size: 15px;
    }
    #proof {
        padding: 40px 0px 40px;
    }
    .proof-card {
        padding: 22px 20px;
        border-radius: var(--radius-md);
    }
    .proof-honest {
        padding: 20px;
        border-radius: var(--radius-md);
    }
}

/* Карточка метрик без иконки: восемь одинаковых «лайков» убраны,
   осмысленного набора иконок пока нет (docs/design-debt.md). */
#metriks .infoblock-noicon {
    padding-top: 30px;
}

/* Подсказка о горизонтальной прокрутке таблицы: на узких экранах она
   не видна целиком, а сама по себе прокрутка ничем не обозначена. */
.compare-swipe {
    display: none;
}

@media only screen and (max-width: 980px) {
    .compare-swipe {
        display: block;
        margin: 10px 0 0;
        font-size: 14px;
        color: var(--text-muted);
        text-align: center;
    }
}

/* Не даём переносу разорвать white-label по дефису. */
.nowrap {
    white-space: nowrap;
}

/* ==================================================================
   Размер зон нажатия на мобильных. Замер при 390px показал пункты
   меню высотой 29px и ссылки подвала 15px: по WCAG 2.5.8 минимум
   24x24, комфортный размер 44x44.
   ================================================================== */
@media only screen and (max-width: 980px) {
    .header-menu li a,
    .header-menu li a:visited {
        display: flex;
        align-items: center;
        min-height: 44px;
    }

    a.link-secondary {
        min-height: 44px;
        padding: 8px 0;
    }

    .footer-menu li a,
    .footer-menu li a:visited,
    .footer-bottom a {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
    }

    .contacts a.email {
        min-height: 28px;
    }
}

/* Статичная таблица точек безубыточности рядом с калькулятором. */
.calc-breakeven {
    max-width: 1080px;
    margin: 36px auto 0;
}

.calc-breakeven-title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--text);
    margin: 0 0 16px;
    text-align: center;
}

.calc-updated {
    display: inline-block;
    margin-top: 6px;
}

@media only screen and (max-width: 767px) {
    .calc-breakeven {
        padding: 0 15px;
        box-sizing: border-box;
    }
    .calc-breakeven-title {
        font-size: 18px;
        text-align: left;
    }
}

/* Страница 404: список полезных ссылок вместо тупика. */
.error-page {
    padding: 60px 0 80px;
    max-width: 760px;
    margin: 0 auto;
}

.error-page .block-title {
    text-align: left;
    margin-bottom: 20px;
}

.error-page p {
    font-size: 17px;
    margin-bottom: 20px;
}

.error-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.error-links li {
    padding: 16px 20px;
    background-color: var(--surface);
    border-radius: var(--radius-md);
    font-size: 16px;
    line-height: 1.5;
    color: var(--text-muted);
}

.error-links a {
    color: var(--blue-text);
    font-weight: 500;
    text-decoration: none;
}

.error-links a:hover {
    text-decoration: underline;
}

@media only screen and (max-width: 767px) {
    .error-page {
        padding: 30px 15px 50px;
    }
}


/* ==================================================================
   Страница партнёрской программы (/partners)
   Собрана на токенах из docs/design-tokens.md. Новых цветов, шрифтов
   и размеров не вводится: акцент var(--blue), поверхность var(--surface),
   радиусы 24/12/6, теней нет. Отдельного визуального языка нет сознательно.
   ================================================================== */

.partners-hero {
    padding: 70px 0 50px;
}

.partners-hero .block-title {
    max-width: 900px;
    margin-bottom: 20px;
}

.partners-hero-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.partners-hero-actions .hero-guarantee {
    margin: 0;
    max-width: none;
    text-align: center;
}

#partners-calc {
    padding: 60px 0;
    background-color: var(--surface);
}

.pcalc {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
    max-width: 1000px;
    margin: 0 auto;
}

.pcalc-input,
.pcalc-result {
    background-color: var(--white);
    border-radius: var(--radius-lg);
    padding: 32px;
    box-sizing: border-box;
}

.pcalc-input label {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: var(--text);
    margin-bottom: 18px;
}

.pcalc-slider-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.pcalc-count {
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    color: var(--blue-text);
    font-variant-numeric: tabular-nums;
    min-width: 2.2ch;
    text-align: right;
}

input[type="range"]#pcalc-clients {
    flex: 1;
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    border-radius: var(--radius-pill);
    background: #E3E7EF;
    outline: none;
    margin: 0;
}

input[type="range"]#pcalc-clients::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--blue);
    cursor: pointer;
    border: none;
    transition: transform 160ms var(--ease-out);
}

input[type="range"]#pcalc-clients::-moz-range-thumb {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--blue);
    cursor: pointer;
    border: none;
    transition: transform 160ms var(--ease-out);
}

input[type="range"]#pcalc-clients:active::-webkit-slider-thumb {
    transform: scale(0.92);
}

input[type="range"]#pcalc-clients:active::-moz-range-thumb {
    transform: scale(0.92);
}

input[type="range"]#pcalc-clients:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 6px;
}

.pcalc-result {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.pcalc-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 0;
}

.pcalc-row + .pcalc-row {
    border-top: 1px solid #EDF0F5;
}

.pcalc-row-label {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.4;
}

.pcalc-row-value {
    font-size: 26px;
    font-weight: 600;
    color: var(--text);
    font-variant-numeric: tabular-nums;
}

.pcalc-row-total .pcalc-row-value {
    font-size: 34px;
    font-weight: 700;
    color: var(--blue-text);
}

#partners-why,
#partners-how,
#partners-who,
#partners-terms {
    padding: 70px 0;
}

#partners-who,
#partners-terms {
    background-color: var(--surface);
}

.partners-cards,
.partners-steps,
.partners-explain {
    display: grid;
    gap: 16px;
    max-width: 1080px;
    margin: 0 auto;
}

.partners-cards,
.partners-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.partners-explain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 28px;
}

.partners-card,
.partners-step {
    background-color: var(--white);
    border: 1px solid #E3E7EF;
    border-radius: var(--radius-lg);
    padding: 28px;
}

#partners-who .partners-card,
#partners-terms .partners-card {
    border-color: transparent;
}

.partners-card-title,
.partners-step-title {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--text);
    margin: 0 0 10px;
}

.partners-card p:last-child,
.partners-step p:last-child {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.55;
}

/* Шаги нумеруются счётчиком, как в блоке подключения на главной. */
.partners-steps {
    counter-reset: partners-step-counter;
}

.partners-step {
    position: relative;
    padding-top: 60px;
}

.partners-step::before {
    counter-increment: partners-step-counter;
    content: counter(partners-step-counter);
    position: absolute;
    top: 24px;
    left: 28px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-pill);
    background-color: var(--surface);
    color: var(--blue-text);
    font-size: 18px;
    font-weight: 600;
}

.partners-note {
    max-width: 760px;
    margin: 28px auto 0;
    text-align: center;
    font-size: 17px;
    line-height: 1.55;
    color: var(--text);
}

.partners-who-list {
    max-width: 900px;
    margin: 0 auto;
    display: grid;
    gap: 2px;
}

.partners-who-item {
    padding: 20px 0;
}

.partners-who-item + .partners-who-item {
    border-top: 1px solid #E3E7EF;
}

.partners-who-item dt {
    font-size: 18px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 6px;
}

.partners-who-item dd {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.55;
}

#partners-agency {
    padding: 0 0 70px;
}

.partners-agency-box,
.partners-final-box {
    max-width: 900px;
    margin: 0 auto;
    background-color: var(--surface);
    border-radius: var(--radius-lg);
    padding: 44px;
    text-align: center;
}

.partners-agency-box h2,
.partners-final-box h2 {
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 16px;
}

.partners-agency-box p,
.partners-final-box p {
    max-width: 620px;
    margin: 0 auto 12px;
    line-height: 1.55;
}

.partners-agency-box .button,
.partners-final-box .button {
    margin-top: 20px;
}

.partners-terms-table th[scope="row"] {
    width: 34%;
    white-space: normal;
}

.partners-offer-link {
    text-align: center;
    margin-top: 24px;
}

.partners-offer-link a {
    color: var(--blue-text);
    font-weight: 500;
}

#partners-faq {
    padding: 70px 0;
}

#partners-final {
    padding: 0 0 80px;
}

.partners-final-box {
    background-color: var(--white);
    border: 1px solid #E3E7EF;
}

@media only screen and (max-width: 980px) {
    .pcalc {
        grid-template-columns: minmax(0, 1fr);
    }
    .partners-cards,
    .partners-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 767px) {
    .partners-hero {
        padding: 30px 0 30px;
    }
    #partners-calc,
    #partners-why,
    #partners-how,
    #partners-who,
    #partners-terms,
    #partners-faq {
        padding: 40px 0;
    }
    .pcalc {
        padding: 0 15px;
    }
    .pcalc-input,
    .pcalc-result {
        padding: 22px 18px;
        border-radius: var(--radius-md);
    }
    .pcalc-count {
        font-size: 34px;
    }
    .pcalc-row-total .pcalc-row-value {
        font-size: 28px;
    }
    .partners-cards,
    .partners-steps,
    .partners-explain {
        grid-template-columns: minmax(0, 1fr);
        padding: 0 15px;
    }
    .partners-who-list,
    .partners-note {
        padding: 0 15px;
    }
    .partners-agency-box,
    .partners-final-box {
        padding: 28px 20px;
        margin: 0 15px;
    }
    .partners-agency-box h2,
    .partners-final-box h2 {
        font-size: 24px;
    }
    .partners-agency-box .button,
    .partners-final-box .button {
        width: 100%;
        box-sizing: border-box;
    }
}


/* Блок «Если селлеры уже вам доверяют»: две двери вместо двух соседних
   блоков про одно и то же. Обоснование: docs/partners-copy.md, раздел 0.1. */
.two-doors {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 1000px;
    margin: 0 auto;
}

.door {
    background-color: var(--white);
    border-radius: var(--radius-lg);
    padding: 36px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.door-title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text);
    margin: 0 0 12px;
}

.door-text {
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0 0 auto;
}

.door .button {
    align-self: flex-start;
    margin: 24px 0 0;
}

/* Вторичная кнопка: то же начертание и радиус, инвертированная заливка.
   Нужна, чтобы две двери не выглядели как два одинаковых призыва. */
a.button.button-secondary,
a.button.button-secondary:visited {
    background: var(--white);
    color: var(--blue-text);
    box-shadow: inset 0 0 0 1px var(--border);
}

@media (hover: hover) and (pointer: fine) {
    a.button.button-secondary:hover {
        background: var(--surface);
        color: var(--blue-text);
        box-shadow: inset 0 0 0 1px var(--blue);
    }
}

@media only screen and (max-width: 767px) {
    .two-doors {
        grid-template-columns: minmax(0, 1fr);
        padding: 0 15px;
    }
    .door {
        padding: 24px 20px;
        border-radius: var(--radius-md);
    }
    .door-title {
        font-size: 19px;
    }
    .door .button {
        align-self: stretch;
        text-align: center;
    }
}

.plans-extra {
    max-width: 760px;
    margin: 28px auto 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.55;
    color: var(--text-muted);
}
