@font-face {
   font-family: Bahnschrift;
   src: url("../fonts/Bahnschrift.woff2") format("woff2"), url("../fonts/Bahnschrift.woff") format("woff");
   font-weight: 400;
   font-style: normal;
   font-display: swap;
}
a,
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
main,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
u,
ul,
var,
video {
   margin: 0;
   padding: 0;
   border: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: 0 0;
}
a {
   text-decoration: none;
   color: inherit;
   transition: var(--transition);
}
html {
   color: var(--text-color);
}
b {
   font-weight: 600;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
   display: block;
}
textarea:focus {
   outline: 0;
}
textarea {
   resize: none;
}
[hidden] {
   display: none;
}
html {
   box-sizing: border-box;
}
*,
:after,
:before {
   box-sizing: inherit;
}
body,
html {
   line-height: normal;
   overflow-x: hidden;
}
body.no-scroll,
html.no-scroll {
   overflow: hidden;
}
.sc-img {
   display: none;
}
ol,
ul {
   list-style: none;
   list-style-type: none;
}
blockquote,
q {
   quotes: none;
}
blockquote:after,
blockquote:before,
q:after,
q:before {
   content: "";
   content: none;
}
abbr[title],
dfn[title] {
   border-bottom: 1px dotted;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}
img,
video {
   max-width: 100%;
}
img {
   border-style: none;
}
* {
   box-sizing: border-box !important;
}
button,
input,
optgroup,
select,
textarea {
   margin: 0;
   padding: 0;
   border: 0;
   vertical-align: middle;
   color: inherit;
   font: inherit;
   background: 0 0;
   text-align: inherit;
   text-transform: inherit;
}
button:disabled {
   opacity: 0.5;
   pointer-events: none;
}
button {
   cursor: pointer;
   transition: var(--transition);
}
input:focus {
   outline: 0;
}
:root {
   --primary-color: #e51a83;
   --secondary-color: #01a0e2;
   --text-color: #192532;
   --main-bg-color: #fafafa;
   --transition: all 0.35s ease-in;
   --fs-title: 35px;
   --fs-accent: 42px;
   --fs-main: 20px;
   --fs-sl: 16px;
}
body {
   font-family: Bahnschrift;
   background-color: var(--main-bg-color);
   font-size: var(--fs-main);
}
.container {
   max-width: 1375px;
   margin: 0 auto;
   width: 100%;
}
.container--xxl {
   max-width: 2200px;
}
.toggle-switch {
   position: relative;
   display: inline-block;
   width: 50px;
   height: 25px;
   cursor: pointer;
}
.toggle-switch input[type="checkbox"] {
   display: none;
}
.toggle-switch-background {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: var(--primary-color);
   border-radius: 20px;
   transition: background-color 0.3s ease-in-out;
}
.toggle-switch-handle {
   position: absolute;
   top: 5px;
   left: 5px;
   width: 15px;
   height: 15px;
   background-color: #fff;
   border-radius: 50%;
   transition: transform 0.3s ease-in-out;
}
.toggle-switch::before {
   position: absolute;
   top: -25px;
   right: -35px;
   font-size: 12px;
   font-weight: 700;
   color: #aaa;
   text-shadow: 1px 1px #fff;
}
.toggle-switch input[type="checkbox"]:checked + .toggle-switch-handle {
   transform: translateX(45px);
}
.toggle-switch input[type="checkbox"]:checked + .toggle-switch-background {
   background-color: var(--primary-color);
}
.toggle-switch input[type="checkbox"]:checked + .toggle-switch:before {
   content: "";
   color: var(--primary-color);
   right: -15px;
}
.toggle-switch input[type="checkbox"]:checked + .toggle-switch-background .toggle-switch-handle {
   transform: translateX(25px);
}
.check {
   display: none;
}
.hamburger-button {
   position: relative;
   display: inline-block;
   width: 40px;
   height: 35px;
   cursor: pointer;
}
.hamburger-button div {
   width: 40px;
   height: 8px;
   background-color: var(--primary-color);
   position: absolute;
}
.line1 {
   top: 0;
}
.line2 {
   top: calc(40%);
}
.line3 {
   top: calc(80%);
}
.header {
   padding: 30px 0;
}
body:not(.home) .header {
   margin-bottom: 40px;
   border-bottom: 4px solid var(--text-color);
}
.header__inner {
   display: flex;
   justify-content: space-between;
   gap: 10px;
   align-items: center;
}
.header__left {
   display: flex;
   align-items: center;
   column-gap: 50px;
}
.header__logo {
   display: flex;
   width: 165px;
}
.user-type-toggle {
   display: flex;
   align-items: center;
   gap: 10px;
}
.user-type-toggle__text {
   font-size: var(--fs-sl);
}
.header__profile {
   display: flex;
   gap: 10px;
   align-items: center;
}
.header__profile-text {
   font-size: var(--fs-sl);
}
.contacts,
.header__actions {
   display: flex;
   align-items: center;
   column-gap: 20px;
}
.contacts__phone-number {
   color: var(--secondary-color);
   font-weight: 700;
   font-size: 25px;
}
.contacts__max {
   background: var(--secondary-color);
   border-radius: 10px;
   aspect-ratio: 1/1;
   display: flex;
   padding: 2px;
   box-sizing: border-box !important;
}
.header__burger {
   display: flex;
   flex-direction: column;
}
.regular-button,
.ttu {
   text-transform: uppercase;
}
section {
   position: relative;
   margin-bottom: 55px;
}
.hero::before {
   width: 100%;
   height: 100%;
   content: "";
   background: #192532;
   position: absolute;
   left: 0;
   z-index: 1;
   top: 0;
}
.hero__wrapper {
   position: relative;
   padding: 50px 0 70px;
   background-position: right;
   background-repeat: no-repeat;
   background-size: contain;
   z-index: 2;
}
.hero__text {
   position: relative;
   z-index: 3;
   width: 37%;
}
.hero__title {
   font-size: var(--fs-accent);
   color: #fff;
   margin-bottom: 50px;
}
.hero__title strong {
   color: var(--secondary-color);
}
.hero__benefits {
   color: #fff;
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 40px;
   margin-bottom: 60px;
}
.hero__benefits-item {
   display: flex;
   align-items: center;
   gap: 10px;
}
.hero__benefits-icon {
   display: flex;
}
.hero__benefits-item--has-value {
   gap: 7px;
   align-items: end;
}
.hero__benefits-text--top {
   align-self: start;
}
.hero__benefits-accent {
   font-size: var(--fs-accent);
   font-weight: 700;
   color: var(--primary-color);
}
.hero__benefits-text--bottom {
   align-self: end;
   line-height: 38px;
}
.regular-button {
   border-radius: 50px;
   color: #fff;
   transition: var(--transition);
   width: max-content;
   border: 2px solid var(--primary-color);
   display: block;
   padding: 20px 24px;
   text-align: center;
   background: var(--primary-color);
   font-weight: 700;
}
.regular-button:hover {
   opacity: 0.8;
}
.tariffs__head {
   margin-bottom: 40px;
}
.sc-title {
   text-transform: uppercase;
   font-size: var(--fs-title);
   font-weight: 700;
}
.sc-title span {
   color: var(--secondary-color);
}
.tariffs__filters {
   display: flex;
   align-items: center;
   margin-bottom: 50px;
   gap: 18px;
}
.tariffs__filters-item {
   text-transform: uppercase;
   padding: 14px 18px;
   border-radius: 50px;
   background: var(--text-color);
   color: #fff;
   cursor: pointer;
   transition: var(--transition);
}
.tariffs__filters-item:hover {
   opacity: 0.8;
}
.tariffs__filters-item.current {
   background: var(--primary-color);
}
.tariffs__card {
   padding: 15px 18px;
   border-radius: 25px;
   border: 2px solid var(--text-color);
}

.tariff-tag {
   font-size: var(--fs-sl);
   padding: 8px 12px;
   background: #e9e9e9;
   width: max-content;
   border-radius: 50px;
   margin-bottom: 20px;
}
.tariffs__card-title {
   font-size: var(--fs-title);
   color: var(--secondary-color);
   margin-bottom: 24px;
}
.regular-speed {
   display: flex;
   align-items: center;
   gap: 14px;
   margin-bottom: 30px;
}
.regular-speed__icon {
   display: flex;
}
.speed-arrow {
   transform-box: fill-box;
   transform-origin: 100% 100%;
   transform: rotate(-25deg);
   transition: transform var(--transition);
}
.regular-value {
   display: flex;
   align-items: end;
}
.regular-value__number {
   font-size: var(--fs-accent);
   font-weight: 700;
   color: var(--primary-color);
}
.regular-value__text {
   line-height: 42px;
   margin-left: 3px;
}
.tariffs__card-button {
   padding: 14px 20px;
   width: 100%;
   justify-content: space-between;
   display: flex;
   align-items: center;
   background: var(--text-color);
   border-color: var(--text-color);
   margin-bottom: 30px;
}
.tariffs__card-button img {
   width: 32px;
}
.tariffs__card-price {
   margin-bottom: 18px;
}
.regular-traffic {
   display: flex;
   align-items: center;
   gap: 10px;
}
.swiper-button {
   position: absolute;
   top: 50%;
   width: 60px;
   height: 60px;
   display: flex;
   z-index: 1;
   transition: var(--transition);
   transform: translateY(-50%);
}
.swiper-button-disabled {
   opacity: 0 !important;
}
.swiper-button--next {
   right: 10px;
}
.swiper-button--prev {
   left: 10px;
   top: 50%;
   transform: translateY(-50%) rotate(180deg);
}
.benefits__row {
   display: flex;
   gap: 50px;
}
.benefits__offer {
   background: var(--secondary-color);
}
.benefits__col {
   padding: 40px;
   color: #fff;
   border-radius: 40px;
}
.benefits__title {
   margin-bottom: 20px;
}
.benefits__offer-item {
   display: flex;
   align-items: center;
   gap: 15px;
}
.benefits__offer-item:not(:last-child) {
    margin-bottom: 20px;
}
.benefits__offer-img {
   width: 50px;
}
.benefits__signal {
   background: var(--text-color);
}
.benefits__signal-row {
   display: flex;
   align-items: end;
   gap: 18px;
}
.benefits__signal-img {
   min-width: 75px;
   display: flex;
}
.benefits__signal-text {
   display: block;
   margin-bottom: 15px;
}
.benefits__signal-bottom {
   display: flex;
   align-items: center;
}
.benefits__signal-apps {
   display: flex;
   align-items: center;
   gap: 10px;
}
.benefits__signal-apps-item {
   width: 36px;
   border-radius: 50px;
   overflow: hidden;
   display: flex;
}
.benefits__signal-trigger {
   font-size: var(--fs-sl);
   display: inline-block;
   margin-left: 10px;
   color: var(--secondary-color);
   text-decoration: underline;
}
.map {
   background-color: var(--text-color);
}
.map__inner {
   padding: 85px 0;
   background: url(../img/map.png) left no-repeat;
   background-size: contain;
   display: flex;
   justify-content: end;
}
.map__text {
   display: flex;
   flex-direction: column;
   row-gap: 40px;
   max-width: 520px;
   color: #fff;
}
.cta__inner {
   padding: 15px 0;
   background: url(../img/home.png) right no-repeat;
}
.cta__text {
   max-width: 445px;
}
.cta__title {
   margin-bottom: 35px;
}
.cta__paragraph {
   margin-bottom: 42px;
}
.cta__buttons {
   display: flex;
   flex-direction: column;
   row-gap: 24px;
}
.regular-button--secondary {
   background-color: var(--secondary-color);
   border-color: var(--secondary-color);
}
.footer {
   background: var(--text-color);
   color: #fff;
   padding: 40px 0 55px;
}
.footer__main {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 50px;
}
.footer__left {
   display: flex;
   gap: 60px;
   align-items: center;
}
.footer__logo {
   display: flex;
}
.footer__note {
   display: flex;
   flex-direction: column;
   font-weight: 700;
}
.footer__note-link {
   text-decoration: underline;
   color: var(--secondary-color);
}
.footer__actions {
   display: flex;
   align-items: center;
   gap: 28px;
}
.user-type-toggle--footer .toggle-switch-handle {
   background: var(--text-color);
}
.contacts--footer .contacts__max {
   background-color: #fff;
}
.contacts--footer .contacts__phone-number {
   color: #fff;
}
.footer__links {
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.footer__links-item {
   font-size: var(--fs-sl);
}
a.footer__links-item {
   text-decoration: underline;
}
a.footer__links-item:hover {
   text-decoration: none;
}
.tariff-heading__tariff-subtitle {
   font-size: var(--fs-sl);
   margin-bottom: 18px;
}
.tariff-heading__row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 25px;
}
.tariff-heading__title {
   width: min-content;
   white-space: nowrap;
   width: min-content;
}
.tariff-heading__options {
   display: flex;
   align-items: center;
   gap: 40px;
}
.tariff-heading__options-speed {
   margin: 0;
}
.additional-tariffs__title {
   margin-bottom: 42px;
}
.additional-tariffs__list {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 40px;
}
.page-heading {
   margin-bottom: 50px;
}
.page-heading .sc-title {
   text-align: start !important;
}
.page-heading:has(.page-heading__subtitle) h1 {
   margin-bottom: 20px;
}
.contacts__items {
   display: flex;
   justify-content: space-between;
   width: 100%;
   gap: 20px;
   align-items: center;
}
.infocblock__title {
   text-transform: uppercase;
   font-weight: 700;
   color: var(--primary-color);
   margin-bottom: 25px;
}
.infocblock__details a {
   text-decoration: underline;
   display: inline-block;
}
.infocblock__details a:hover {
   text-decoration: none;
}
.infocblock__link:hover {
   color: var(--primary-color);
}
.yandex-map__render {
   margin-bottom: 50px;
}
.about {
   min-height: calc(100vh - 505px);
}
.about__items {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 50px 80px;
}
.infocblock__details {
   display: flex;
   flex-direction: column;
   row-gap: 20px;
}
.about__bottom {
   margin-top: 50px;
}
.instruction__list {
   display: flex;
   flex-direction: column;
   row-gap: 40px;
   width: 80%;
   counter-reset: instruction;
}
.instruction__list-item {
   counter-increment: instruction;
   border-radius: 25px;
   border: 2px solid var(--text-color);
   padding: 30px 28px;
   position: relative;
}
.instruction__list-item .infocblock__title {
   color: var(--secondary-color);
   font-weight: 400;
}
.instruction__list-item .infocblock {
   max-width: 90%;
}
.instruction__list-item::after {
   content: counter(instruction);
   width: 50px;
   height: 50px;
   aspect-ratio: 1/1;
   top: 15px;
   right: 15px;
   position: absolute;
   font-size: var(--fs-title);
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50px;
   background-color: var(--secondary-color);
   color: #fff;
}
.pricing__heading {
   margin-bottom: 45px;
}
.custom-input {
   border-radius: 50px;
   font-weight: 700;
   color: var(--text-color);
   font-size: var(--fs-main);
   outline: 0;
   border: 2px solid var(--text-color);
   text-transform: uppercase;
   padding: 20px 22px;
}
.custom-input:focus {
   outline: 0;
}
.custom-input::placeholder {
   color: var(--text-color);
   font-size: var(--fs-main);
}
.pricing__bottom {
   margin-top: 60px;
   display: flex;
   flex-direction: column;
   row-gap: 50px;
}
.custom-inputbox__title {
   margin-bottom: 36px;
}
.custom-inputbox .modal__agreement {
   margin-top: 20px;
}
.custom-inputbox {
   width: max-content;
   position: relative;
}
#pricing-email,
#pricing-radios,
#pricing-contact {
   display: none;
}
.custom-inbutpox__search {
   position: absolute;
   right: 10px;
   z-index: 10;
   display: flex;
   width: 50px;
   height: 50px;
   cursor: pointer;
   top: 50%;
   transform: translateY(-50%);
}

.custom-inbutpox__search svg {
   width: 100%;
   height: 100%;
}
.custom-inbutpox__row {
   display: flex;
   gap: 20px;
   align-items: center;
}
.custom-inbutpox__radio {
   transition: var(--transition);
   cursor: pointer;
}
.custom-inbutpox__radio.active {
   background-color: var(--primary-color);
   border-color: var(--primary-color);
}
.modal {
   position: fixed;
   left: 0;
   top: 0;
   display: flex;
   align-items: start;
   justify-content: center;
   width: 100%;
   height: 100%;
   background-color: rgb(30, 64, 46, 0.3);
   opacity: 0;
   backdrop-filter: blur(5px);
   visibility: hidden;
   overflow: auto;
   scrollbar-width: thin;
   transition: var(--transition);
}
.menu-modal {
   position: fixed;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   background-color: rgb(30, 64, 46, 0.3);
   opacity: 0;
   backdrop-filter: blur(5px);
   visibility: hidden;
   overflow: auto;
   scrollbar-width: thin;
   transition: var(--transition);
}
.modal__content {
   position: relative;
   background-color: #fff;
   padding: 50px 60px;
   margin: clamp(30px, 60px, 100px) 0;
   width: 850px;
   transition: all 0.5s ease;
   border-radius: 30px;
   transform: translateY(50px);
}
.close-button {
   cursor: pointer;
   position: absolute;
   right: 20px;
   height: 36px;
   width: 36px;
   display: flex;
   top: 20px;
}
.show {
   opacity: 1;
   z-index: 9999;
   visibility: visible;
   transform: translateY(0);
   transition: var(--transition);
}
.show .modal__content {
   transform: translate(0);
}
.modal__title {
   font-size: var(--fs-title);
   text-transform: uppercase;
   text-align: center;
   margin-bottom: 30px;
}
.modal__form {
   max-width: 65%;
   display: flex;
   flex-direction: column;
   row-gap: 30px;
   margin: 0 auto;
   margin-bottom: 15px;
}
.modal__form-inputbox .custom-input {
   width: 100%;
}
.modal__submit {
   width: 100%;
}
.modal__agreement {
   text-align: center;
   font-size: var(--fs-sl);
}
.modal__agreement a {
   text-decoration: underline;
}
.apps__list {
   display: grid;
   gap: 20px;
   grid-template-columns: repeat(10, 1fr);
   align-items: center;
   justify-content: center;
}
.apps__list-item {
   display: flex;
   width: 36px;
   border-radius: 50px;
   overflow: hidden;
   display: flex;
}
.menu-modal__content {
   position: absolute;
   right: 0;
   background: var(--main-bg-color);
   padding: 50px 70px;
   height: 100%;
}
.menu-modal__actions {
   display: none;
}
.menu-modal__navigation {
   margin: 20px 0 50px;
}
.menu-modal__navigation-list {
   display: flex;
   flex-direction: column;
   row-gap: 10px;
   text-align: center;
}
.menu-modal__navigation-item {
   text-transform: uppercase;
}
.header__profile:hover,
.menu-modal__navigation-item a:hover {
   color: var(--primary-color);
}
button#map-select {
   padding: 10px 16px;
   font-size: 14px;
}
#map {
   width: 100%;
   height: 500px;
   position: relative;
}
#map-overlay {
   position: absolute;
   top: 12px;
   left: 12px;
   z-index: 10;
   background: #fff;
   padding: 12px 14px;
   border-radius: 8px;
   box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
   display: none;
   max-width: 320px;
}
#map-address {
   margin-bottom: 8px;
   font-size: 14px;
}

input[type="radio"] {
   opacity: 0;
   position: absolute;
   width: 100%;
   cursor: pointer;
   left: 0;
   top: 0;
   height: 100%;
}
.custom-inbutpox__radio {
   cursor: pointer;
   position: relative;
}
.wpcf7-list-item {
   margin: 0 !important;
}
.pricing__form .custom-input {
   width: 320px;
}

@media (max-width: 1400px) {
   .container {
      padding: 0 20px;
   }
   :root {
      --fs-sl: 14px;
      --fs-main: 18px;
   }
}

@media (max-width: 1200px) {
   .hero__wrapper {
      background-size: cover;
      background-position: left;
   }
   .tariff-heading__row {
      flex-wrap: wrap;
   }
   .additional-tariffs__list {
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
   }
   .regular-value__text {
      line-height: 32px;
   }
   .cta__inner {
      background-size: 600px;
   }
   .hamburger-button div {
      height: 5px;
   }
   :root {
      --fs-title: 30px;
      --fs-accent: 36px;
   }
   .hero__title br {
      display: none;
   }
   .contacts__phone-number {
      font-size: 22px;
   }
   .toggle-switch {
      width: 45px;
   }
   .toggle-switch input[type="checkbox"]:checked + .toggle-switch-background .toggle-switch-handle {
      transform: translateX(20px);
   }
   .hero__text {
      width: 48%;
   }
   .swiper-button {
      width: 55px;
      height: 55px;
   }
   .swiper-button svg {
      width: 100%;
      height: 100%;
   }
   .tariffs__filters-item {
      padding: 12px 16px;
   }
   .regular-button {
      padding: 18px 22px;
   }
   .tariffs__card-button {
      padding: 14px 20px;
   }
   .map__inner {
      padding: 55px 0;
   }
   .instruction__list {
      row-gap: 40px;
      width: 100%;
   }
}
@media (max-width: 992px) {
   .benefits__row {
      gap: 35px;
      flex-direction: column;
   }
   .pricing__heading {
      margin-bottom: 35px;
   }
   .pricing__bottom {
      row-gap: 35px;
      margin-top: 40px;
   }
   .custom-inbutpox__row {
      flex-wrap: wrap;
   }
   .custom-inputbox__title {
      margin-bottom: 25px;
      font-size: 18px;
   }
   .instruction__list {
      row-gap: 30px;
      width: 100%;
   }
   .benefits__col {
      border-radius: 25px;
   }
   .cta__inner {
      background-size: 500px;
   }
   .hero__text {
      width: 55%;
   }
   .menu-modal__actions {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column-reverse;
      row-gap: 20px;
      margin-bottom: 30px;
   }
   .header .header__profile,
   .header .user-type-toggle {
      display: none;
   }
   .menu-modal__navigation {
      margin-bottom: 30px;
   }
   .map__inner {
      justify-content: start;
      background-position: right;
   }
   .tariffs__filters {
      margin-bottom: 35px;
   }
   .benefits__col {
      padding: 30px;
   }
   .footer__main {
      flex-direction: column;
      row-gap: 30px;
   }
   .footer__actions,
   .footer__left {
      width: 100%;
      justify-content: space-between;
   }
   .modal__content {
      width: 96%;
   }
   .instruction__list-item {
      padding: 25px;
   }
}
@media (max-width: 767px) {
   .hero__text {
      width: 100%;
   }
   #map {
    height: 400px;
   }
   .custom-inputbox {
      width: fit-content;
   }
   .about__bottom {
      margin-top: 45px;
   }
   .about__items {
      grid-template-columns: 1fr;
      row-gap: 40px;
   }
   .contacts__items {
      flex-direction: column;
      align-items: start;
   }
   .instruction__list-item::after {
      width: 40px;
      height: 40px;
   }
   .instruction__list-item .infocblock__title {
      font-size: 18px;
   }
   .instruction__list {
      row-gap: 20px;
   }
   .instruction__list-item {
      padding: 20px;
   }
   .page-heading {
      margin-bottom: 45px;
   }
   .infocblock__title {
      margin-bottom: 15px;
   }
   .additional-tariffs__list {
      row-gap: 20px;
   }
   .regular-traffic img {
      width: 50px;
   }
   .tariffs__filters {
      flex-wrap: wrap;
   }
   :root {
      --fs-title: 26px;
      --fs-accent: 32px;
   }
   .contacts__items a.infocblock__link {
      font-size: 18px;
   }
   .sc-img {
      display: flex;
   }
   .cta__inner,
   .map__inner {
      background: 0 0;
      display: flex;
      padding-bottom: 0;
      row-gap: 30px;
      flex-direction: column;
      align-items: center;
   }
   .cta__text,
   .map__text {
      max-width: none;
      position: relative;
      z-index: 1;
   }
   .cta {
      margin-bottom: 0;
   }
   .header {
      padding: 25px 0;
   }
   .map__img {
      position: relative;
   }
   .map__img::before {
      content: "";
      position: absolute;
      top: -36px;
      left: 0;
      width: 100%;
      height: 100px;
      background: radial-gradient(60% 100% at 20% 100%, #192532, transparent 70%),
         radial-gradient(60% 100% at 80% 100%, rgba(25, 37, 50, 0.9), transparent 70%), linear-gradient(to bottom, #192532, #192532);
      filter: blur(27px);
      pointer-events: none;
   }
   .contacts__max svg {
      width: 100%;
      height: 100%;
   }
   .contacts__max {
      width: 36px;
      height: 36px;
      padding: 2px;
   }
   .hamburger-button div {
      width: 100%;
   }
   .footer__links {
      flex-direction: column;
      align-items: center;
      row-gap: 10px;
   }
   .footer {
      padding: 40px 0;
   }
   .close-button {
      width: 30px;
      height: 30px;
   }
   .menu-modal .close-button {
      width: 36px;
      height: 36px;
   }
   .modal__form {
      width: 100%;
      max-width: none;
   }
   .modal__form {
      row-gap: 20px;
   }
   .modal__submit {
      margin-top: 10px;
   }
   :root {
      --fs-main: 16px;
   }
   .yandex-map,
   section {
      margin-bottom: 45px;
   }
   .map__inner {
      padding-top: 45px;
   }
   .cta__inner {
      padding-top: 0;
   }
   .menu-modal__content {
      width: 100%;
   }
   .contacts {
      justify-content: center;
   }
   .map__text {
      row-gap: 30px;
   }
   .cta__paragraph,
   .cta__title {
      margin-bottom: 30px;
   }
   .regular-speed__icon {
      width: 45px;
   }
   .tariffs .container:has(.swiper) {
      max-width: none;
      width: 100%;
      padding: 0;
   }
   .tariffs__card-button img {
      width: 28px;
   }
   .apps__list {
      grid-template-columns: repeat(auto-fill, minmax(36px, 1fr));
   }
   .cta__paragraph,
   .map__subtitle,
   .sc-title:not(.tariffs__title):not(.benefits__title) {
      text-align: center;
   }
}
@media (max-width: 610px) {
   .tariff-heading__options {
      flex-wrap: wrap;
      row-gap: 15px;
   }
   .tariff-heading__row {
      flex-direction: column;
      align-items: start;
   }
   .tariff-heading__options-speed {
      margin: 0 !important;
   }
   .pricing__form .custom-input {
      width: 100%;
   }
}
@media (max-width: 540px) {
   .header__actions .contacts {
      display: none;
   }
   .instruction__list-item::after {
      width: 30px;
      height: 30px;
      font-size: 20px;
   }
   .pricing__bottom .custom-input,
   .pricing__heading .custom-input {
      width: 100%;
   }
   .body:not(.home) .header {
      margin-bottom: 30px;
   }
   .modal__content {
      border-radius: 25px;
   }
   .hamburger-button {
      height: 30px;
      width: 35px;
   }
   .header {
      padding: 20px 0;
   }
   .footer__logo,
   .header__logo {
      width: 150px;
   }
   .contacts__phone-number {
      font-size: 20px;
   }
   .map__text {
      row-gap: 25px;
   }
   .cta__paragraph,
   .cta__title {
      margin-bottom: 25px;
   }
   .regular-button {
      width: 100%;
   }
   .hero__benefits-text--bottom {
      line-height: 32px;
   }
   .tariffs__filters {
      gap: 15px;
   }
   .benefits__offer-img {
      width: 40px;
   }
   .benefits__signal-apps-item {
      width: 26px;
   }
   .cta__buttons {
      gap: 18px;
   }
   .menu-modal__navigation {
      margin-top: 40px;
   }
   .tariffs__card-button,
   .tariffs__card-price,
   .tariffs__card-title {
      margin-bottom: 15px;
   }
   .regular-speed {
      margin-bottom: 20px;
   }
   .benefits__col {
      padding: 25px;
   }
   .hero__wrapper {
      padding: 50px 0 40px;
   }
   .hero__benefits {
      gap: 25px 40px;
   }
   .swiper-button--prev {
      left: 5px;
   }
   .swiper-button--next {
      right: 5px;
   }
   .benefits__row {
      row-gap: 25px;
   }
   .modal__content {
      padding: 40px 30px;
   }
   .close-button {
      width: 24px;
      height: 24px;
      top: 15px;
      right: 15px;
   }
   .custom-input {
      padding: 16px 18px;
   }
   .footer__actions {
      flex-direction: column;
      row-gap: 20px;
   }
   .footer__main {
      row-gap: 40px;
   }
}
@media (max-width: 475px) {
   :root {
      --fs-accent: 28px;
   }
   .about__items {
      row-gap: 30px;
   }
   .additional-tariffs__list {
      row-gap: 20px;
   }
   .container {
      padding: 0 15px;
   }
   .regular-value__text {
      line-height: 32px;
   }
   .benefits__signal-apps {
      flex-wrap: wrap;
   }
   .benefits__signal-bottom {
      flex-direction: column;
      row-gap: 10px;
   }
   .benefits__signal-row {
      flex-direction: column;
      align-items: center;
   }
   .benefits__signal-text,
   .sc-title,
   .tariffs__subtitle {
      text-align: center !important;
      display: block;
   }
   .benefits__signal-apps-item {
      width: 36px;
   }
   .regular-traffic br {
      display: none;
   }
   .swiper-button {
      width: 50px;
      height: 50px;
   }
}
@media (max-width: 410px) {
   :root {
      --fs-title: 24px;
   }
   .about__items {
      row-gap: 20px;
   }
   .swiper-button {
      width: 45px;
      height: 45px;
   }
   .hero__benefits-icon {
      width: 40px;
   }
   .benefits__offer-item {
      flex-direction: column;
      text-align: center;
   }
   .benefits__offer-item:not(:last-child) {
      margin-bottom: 25px;
   }
   .container {
      padding: 0 10px;
   }
   .hero__benefits {
      display: flex;
      flex-direction: column;
      gap: 20px;
   }
   .hero__benefits-text br {
      display: none;
   }
   .hero__benefits-item:first-child {
      order: 1;
   }
   .hero__benefits-item:nth-child(2) {
      order: 2;
   }
   .hero__benefits-item:nth-child(3) {
      order: 4;
   }
   .hero__benefits-item:nth-child(4) {
      order: 3;
   }
   .tariffs__filters-item {
      font-size: var(--fs-sl);
      padding: 10px 16px;
   }
   .tariffs__filters {
      justify-content: center;
      gap: 10px;
   }
   .hero__title {
      margin-bottom: 30px;
   }
   .hero__benefits {
      margin-bottom: 40px;
   }
   .tariff-heading__options {
      row-gap: 25px;
   }
   .tariff-heading__tariff-subtitle {
      margin-bottom: 25px;
   }
}

.wpcf7 .wpcf7-response-output,
.wpcf7-not-valid-tip {
   margin: 0 !important;
   padding: 0 !important;
   border: none !important;
   font-size: var(--fs-main) !important;
   text-transform: none !important;
   margin-top: 5px !important;
   font-weight: 400 !important;
}
.wpcf7 form.sent .wpcf7-response-output {
   color: var(--secondary-color);
}
.wpcf7 form.invalid .wpcf7-response-output {
   color: #dc3232;
}
.wpcf7 .wpcf7-response-output {
   text-align: center;
   font-size: var(--fs-main) !important;
}
.pricing__form  .wpcf7-response-output {
   text-align: start !important;
}
.pricing__form .wpcf7-response-output {
   margin-top: 25px !important;
}
