/*

/* ==========================================
 * АВТОМАТИЧЕСКОЕ МАСШТАБИРОВАНИЕ СТРАНИЦЫ
 * ==========================================
 * Все размеры конвертированы в rem (1rem = 16px на 1600px)
 * Медиа-запросы оставлены в px (стандарт)
 * ========================================== */

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

/* Десктоп: масштабирование 1600px → 767px */
@media screen and (min-width: 768px) and (max-width: 1600px) {
  html {
    font-size: 1vw;
  }
}

/* Мобильная версия: 767px → 370px */
@media screen and (max-width: 767px) {
  html {
     font-size: calc(16 * 0.2702702703vw)
  }
}


.orange-button {border-top-left-radius: 0.9375rem; border-top-right-radius: 0.9375rem; border-bottom-left-radius: 0.9375rem; border-bottom-right-radius: 0.9375rem; padding-left: 1.375rem; padding-right: 1.375rem; padding-top: 1rem; padding-bottom: 1rem; font-size: 1.25rem; transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; background-image: linear-gradient(rgba(43, 187, 220, 0) 0%, rgba(43, 187, 220, 0) 100%); background-color: rgb(255, 131, 92);}
.orange-button:hover {background-image: linear-gradient(rgba(255, 156, 124, 0) 0%, rgba(255, 156, 124, 0) 100%); background-color: rgb(255, 156, 124);}
.purple-button {font-size: 1.25rem; padding-left: 2.5rem; padding-right: 2.5rem; padding-top: 1.125rem; padding-bottom: 1.125rem; border-top-left-radius: 0.9375rem; border-top-right-radius: 0.9375rem; border-bottom-left-radius: 0.9375rem; border-bottom-right-radius: 0.9375rem; background-color: rgb(144, 156, 251); background-image: linear-gradient(rgba(43, 187, 220, 0) 0%, rgba(43, 187, 220, 0) 100%); display: flex;}
.purple-button:hover {background-image: linear-gradient(rgba(181, 190, 255, 0) 0%, rgba(181, 190, 255, 0) 100%); transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; background-color: rgb(181, 190, 255); font-size: 1.25rem;}
.purple-outline-button {font-size: 1.25rem; border-top-left-radius: 0.9375rem; border-top-right-radius: 0.9375rem; border-bottom-left-radius: 0.9375rem; border-bottom-right-radius: 0.9375rem; background-color: rgba(0, 0, 0, 0); border-top-color: rgba(144, 156, 251, 1); border-left-color: rgba(144, 156, 251, 1); border-right-color: rgba(144, 156, 251, 1); border-bottom-color: rgba(144, 156, 251, 1); border-top-width: 0.125rem; border-left-width: 0.125rem; border-right-width: 0.125rem; border-bottom-width: 0.125rem; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-left: 2.5rem; padding-right: 2.5rem; padding-top: 1.125rem; padding-bottom: 1.125rem; background-size: auto; background-image: none/*linear-gradient(rgb(43, 187, 220) 0%, rgb(43, 187, 220) 100%)*/; background-repeat: repeat; background-position: left 0px top 0px; background-attachment: scroll; color: rgba(70, 75, 85, 1); transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease;}
.purple-outline-button:hover {color: rgba(102, 109, 121, 1);}
.image-style {border-top-left-radius: 1.875rem; border-top-right-radius: 1.875rem; border-bottom-left-radius: 1.875rem; border-bottom-right-radius: 1.875rem;}
.body-large {font-family: 'Roboto'; font-weight: 400; color: rgba(70, 75, 85, 1);}
.menu-paragraph {color: rgba(70, 75, 85, 1); font-family: 'Roboto'; font-weight: 500; line-height: 100%; letter-spacing: 0; font-size: 1rem;}
.tt_badge:has(.tt_badge__small:not(.is-removed)) {top: auto; right: auto; left: 0.625rem; bottom: 0.625rem;}
.max-w--1400px {max-width: 100rem;}
.radius--10px {border-top-left-radius: 0.625rem; border-top-right-radius: 0.625rem; border-bottom-left-radius: 0.625rem; border-bottom-right-radius: 0.625rem;}
.paddings--l-r-20px {padding-left: 7.125rem; padding-right: 7.125rem;}
.w-h--20px {width: 1.25rem; height: 1.25rem; flex-shrink: 0;}
.radius--5px {border-top-left-radius: 0.3125rem; border-top-right-radius: 0.3125rem; border-bottom-left-radius: 0.3125rem; border-bottom-right-radius: 0.3125rem;}
.gap-hor--10px {column-gap: 0.625rem;}
.gap-hor--5px {column-gap: 0.3125rem;}
.w-h--28px {width: 1.75rem; height: 1.75rem; flex-shrink: 0;}
.gap-hor--40px {column-gap: 2.5rem;}
.paddings--t-b-10px {padding-top: 0.625rem; padding-bottom: 0.625rem; padding-left: 7.125rem; padding-right: 7.125rem;}
.w-h--16px {width: 1rem; height: 1rem; flex-shrink: 0;}
.color--primary {background-color: rgb(144, 156, 251); grid-column-start: span 1; grid-column-end: span 1;}
.color--primary:hover {background-color: rgb(181, 190, 255);}
.color-text--prim-on {color: rgba(255, 255, 255, 1);}
.color--prim-on {background-color: rgb(255, 255, 255);}
.color--prim-on-hover:hover {background-color: rgba(255, 255, 255, 0.9);}
.color-text--prim-on-hover:hover {color: rgba(255, 255, 255, 0.8);}
.button--prim-on {background-size: auto; background-image: none/*linear-gradient(rgb(43, 187, 220) 0%, rgb(43, 187, 220) 100%)*/; background-repeat: repeat; background-position: left 0px top 0px; background-attachment: scroll; background-color: rgb(255, 255, 255); transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; padding-left: 1.25rem; padding-right: 1.25rem; padding-top: 0.75rem; padding-bottom: 0.75rem; color: rgba(0, 0, 0, 1); border-top-left-radius: 0.625rem; border-top-right-radius: 0.625rem; border-bottom-left-radius: 0.625rem; border-bottom-right-radius: 0.625rem;}
.button--prim-on:hover {background-color: rgba(255, 255, 255, 0.9);}
.w-h--14px {width: 0.875rem; height: 0.875rem; flex-shrink: 0; flex-grow: 0;}
.text--menu-header-prim-on {font-family: 'Manrope'; font-size: 0.875rem; font-weight: 500; letter-spacing: -0.04em; line-height: 140%; color: rgba(255, 255, 255, 1); transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease;}
.text--menu-header-prim-on:hover {color: rgba(255, 255, 255, 0.8);}
.menu--prim-on {width: 2.75rem; height: 2.75rem; transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; border-top-left-radius: 0.625rem; border-top-right-radius: 0.625rem; border-bottom-left-radius: 0.625rem; border-bottom-right-radius: 0.625rem; background-size: auto; background-image: url("library_image-12739-symbol-ioyh9i5nd-burger-menu-black-on.svg"); background-repeat: no-repeat; background-position: center center; background-attachment: scroll; background-color: rgb(255, 255, 255); cursor: pointer;}
.menu--prim-on:hover {background-color: rgba(255, 255, 255, 0.9);}
.close--prim-on {width: 2.75rem; height: 2.75rem; background-image: url("library_image-12739-symbol-ioyh9i5nd-close-black.svg"); background-color: rgb(255, 255, 255); background-size: auto; background-repeat: no-repeat; background-position: center center; background-attachment: scroll; transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; border-top-left-radius: 0.625rem; border-top-right-radius: 0.625rem; border-bottom-left-radius: 0.625rem; border-bottom-right-radius: 0.625rem; cursor: pointer;}
.close--prim-on:hover {background-color: rgba(255, 255, 255, 0.9);}
.paddings--2px {padding-left: 0.125rem; padding-right: 0.125rem; padding-top: 0.125rem; padding-bottom: 0.125rem;}
.gap--menu {column-gap: 1.25rem; row-gap: 0.25rem;}
.gap-ver--30px {row-gap: 1.875rem;}
.gap-hor--35px {column-gap: 2.1875rem;}
.text--menu-header-bg-on {font-family: 'Manrope'; font-size: 0.875rem; font-weight: 500; letter-spacing: -0.04em; line-height: 140%; color: rgba(48, 48, 48, 1); transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease;}
.text--menu-header-bg-on:hover {color: rgba(48, 48, 48, 0.8);}
.menu--bg-on {width: 2.75rem; height: 2.75rem; background-color: rgb(18, 104, 218); transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; border-top-left-radius: 0.625rem; border-top-right-radius: 0.625rem; border-bottom-left-radius: 0.625rem; border-bottom-right-radius: 0.625rem; background-size: auto; background-image: url("menu.svg"); background-repeat: no-repeat; background-position: center center; background-attachment: scroll; cursor: pointer;}
.menu--bg-on:hover {background-color: rgba(18, 104, 218, 0.8);}
.close--bg-on {width: 2.75rem; height: 2.75rem; background-image: url("close.svg"); background-color: rgb(18, 104, 218); background-size: auto; background-repeat: no-repeat; background-position: center center; background-attachment: scroll; transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; border-top-left-radius: 0.625rem; border-top-right-radius: 0.625rem; border-bottom-left-radius: 0.625rem; border-bottom-right-radius: 0.625rem; cursor: pointer;}
.close--bg-on:hover {background-color: rgba(18, 104, 218, 0.8);}
.radius--15px {border-top-left-radius: 0.9375rem; border-top-right-radius: 0.9375rem; border-bottom-left-radius: 0.9375rem; border-bottom-right-radius: 0.9375rem;}
.gap-ver--15px {row-gap: 0.9375rem;}
.color--prim-hover:hover {background-color: rgb(76, 144, 236);}
.color-text--prim-bg-on {color: rgba(18, 104, 218, 1);}
.color-text--prim-bg-on-hover:hover {color: rgba(76, 144, 236, 1);}
.text--h1 {font-family: 'Manrope'; font-size: 4.5rem; letter-spacing: -0.04em; line-height: 110%; font-weight: 700; width: 100%; flex-direction: column;}
.text--medium {font-family: 'Roboto'; font-size: 1rem; letter-spacing: -0.02em; line-height: 150%; font-weight: 500;}
.min-h--80vh {min-height: 80vh;}
.paddings--20px {padding-left: 1.25rem; padding-right: 1.25rem; padding-top: 1.25rem; padding-bottom: 1.25rem;}
.color-text--bg-on {color: rgba(0, 0, 0, 1);}
.gap-ver--10px {row-gap: 0.625rem;}
.max-w--600px {max-width: 37.5rem;}
.gap-ver--60px {row-gap: 3.75rem;}
.main-blocks {padding-left: 3.125rem; padding-right: 3.125rem; padding-top: 3.125rem; padding-bottom: 3.125rem; border-top-left-radius: 3.125rem; border-top-right-radius: 3.125rem; border-bottom-left-radius: 3.125rem; border-bottom-right-radius: 3.125rem; box-shadow: 0 15px 35px 0px rgba(212, 212, 212, 0.15); row-gap: 2.5rem; column-gap: 2.5rem; flex-direction: row;}
.nubmer-card {background-color: rgb(255, 131, 92); border-top-left-radius: 0.9375rem; border-top-right-radius: 0.9375rem; border-bottom-left-radius: 0.9375rem; border-bottom-right-radius: 0.9375rem; padding-left: 1.25rem; padding-right: 1.25rem; padding-top: 1.25rem; padding-bottom: 1.25rem; display: flex; flex-direction: column; row-gap: 1.25rem;}
.description-card {border-top-left-radius: 1.25rem; border-top-right-radius: 1.25rem; border-bottom-left-radius: 1.25rem; border-bottom-right-radius: 1.25rem; display: flex; flex-direction: column; background-color: rgb(245, 245, 245); padding-left: 1.25rem; padding-right: 1.25rem; padding-top: 1.25rem; padding-bottom: 1.25rem;}
.text--h3 {font-family: 'Manrope'; font-size: 2.8125rem; letter-spacing: -0.04em; line-height: 120%; font-weight: 700; width: 100%;}
.text--h5 {font-family: 'Manrope'; font-size: 1.5625rem; letter-spacing: -0.04em; line-height: 120%; font-weight: 700; width: 100%;}
.text--medium-bold {font-family: 'Manrope'; font-size: 1rem; letter-spacing: -0.02em; line-height: 150%; font-weight: 700;}
.text--min {font-family: 'Manrope'; font-size: 0.75rem; letter-spacing: -0.04em; line-height: 140%; font-weight: 500;}
.radius--20px {border-top-left-radius: 1.25rem; border-top-right-radius: 1.25rem; border-bottom-left-radius: 1.25rem; border-bottom-right-radius: 1.25rem;}
.gap-ver--40px {row-gap: 2.5rem;}
.max-w--800px {max-width: 50rem;}
.paddings--15px {padding-left: 0.9375rem; padding-right: 0.9375rem; padding-top: 0.9375rem; padding-bottom: 0.9375rem;}
.input--primary {padding-left: 1.25rem; padding-right: 1.25rem; background-image: linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%); width: 100%; height: 2.5rem;}
.color-text--bg-on-50per {color: rgba(0, 0, 0, 0.5);}
.color-text--error {color: rgba(255, 96, 78, 1);}
.button--black-on {background-size: auto; background-image: none/*linear-gradient(rgb(43, 187, 220) 0%, rgb(43, 187, 220) 100%)*/; background-repeat: repeat; background-position: left 0px top 0px; background-attachment: scroll; background-color: rgb(255, 255, 255); transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; padding-left: 1.25rem; padding-right: 1.25rem; padding-top: 0.75rem; padding-bottom: 0.75rem; color: rgba(0, 0, 0, 1); border-top-left-radius: 0.625rem; border-top-right-radius: 0.625rem; border-bottom-left-radius: 0.625rem; border-bottom-right-radius: 0.625rem;}
.button--black-on:hover {background-color: rgba(255, 255, 255, 0.8);}
.color--black-on {background-color: rgb(255, 255, 255);}
.color-text--black-on {color: rgba(255, 255, 255, 1);}
.color-text--black-on-70per {color: rgba(255, 255, 255, 0.7);}
.line--1-white-on {height: 0.0625rem; width: 1.6875rem; background-color: rgba(0, 0, 0, 0.5);}
.gap-hor--15px {column-gap: 0.625rem;}
.paddings--t-b-80-20px {padding-top: 5rem; padding-bottom: 1.25rem;}
.color--black {background-color: rgb(0, 0, 0);}
.gap-ver--80px {row-gap: 5rem;}
.text--small-bold {font-family: 'Manrope'; font-size: 0.875rem; letter-spacing: -0.02em; line-height: 140%; font-weight: 700;}
.gap-hor--20px {column-gap: 1.25rem;}
.gap-ver--20px {row-gap: 1.25rem;}
.color--bg-sec {background-color: rgb(237, 237, 238);}
.link-block--primary {color: rgba(18, 104, 218, 1); border-top-width: 0; border-right-width: 0; border-bottom-width: 0.0625rem; border-left-width: 0; border-bottom-style: solid; text-decoration: none; transition-property: all; transition-duration: 300ms; transition-delay: 0ms; transition-timing-function: ease; border-bottom-color: rgba(18, 104, 218, 1); border-top-color: rgba(18, 104, 218, 1); border-left-color: rgba(18, 104, 218, 1); border-right-color: rgba(18, 104, 218, 1); column-gap: 0.3125rem;}
.link-block--primary:hover {border-top-color: rgba(76, 144, 236, 1); border-left-color: rgba(76, 144, 236, 1); border-right-color: rgba(76, 144, 236, 1); border-bottom-color: rgba(76, 144, 236, 1); color: rgba(76, 144, 236, 1);}
.border--1px-primary {border-top-width: 0.0625rem; border-right-width: 0.0625rem; border-bottom-width: 0.0625rem; border-left-width: 0.0625rem; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; border-top-color: rgba(18, 104, 218, 1); border-left-color: rgba(18, 104, 218, 1); border-right-color: rgba(18, 104, 218, 1); border-bottom-color: rgba(18, 104, 218, 1);}
.text--large {font-family: 'Manrope'; font-size: 1.25rem; letter-spacing: -0.02em; line-height: 120%; font-weight: 700; width: 100%;}
.h3 {font-size: 4rem; font-family: 'PPRightGrotesk CompactBold'; font-weight: 500; text-transform: uppercase;}
.h2-3 {font-family: 'PPRightGrotesk CompactBold'; font-size: 5rem; line-height: 100%; text-transform: uppercase;}
.primary-text {font-size: 1.25rem; font-family: 'Roboto'; font-weight: 400;}
@media (max-width: 767px) {.text--menu-header-prim-on {font-size: 1.25rem; letter-spacing: -0.02em; line-height: 120%; font-weight: 600;}}
@media (max-width: 767px) {.close--prim-on {margin-left: -64px; margin-top: 0.625rem;}}
@media (max-width: 767px) {.close--prim-on:hover {background-color: rgb(255, 255, 255);}}
@media (max-width: 767px) {.gap--menu {row-gap: 1.875rem;}}
@media (max-width: 767px) {.gap-hor--40px {column-gap: 1.25rem;}}
@media (max-width: 767px) {.text--menu-header-bg-on {font-size: 1.25rem; letter-spacing: -0.02em; line-height: 120%; font-weight: 600;}}
@media (max-width: 767px) {.menu--bg-on {background-color: rgb(144, 156, 251);}}
@media (max-width: 767px) {.menu--bg-on:hover {background-color: rgb(181, 190, 255);}}
@media (max-width: 767px) {.close--bg-on {margin-top: 0.625rem; margin-left: -64px;}}
@media (max-width: 767px) {.text--h1 {font-size: 4.5rem;}}
@media (max-width: 767px) {.main-blocks {flex-wrap: wrap; justify-content: space-between; row-gap: 1.875rem; column-gap: 1.875rem;}}
@media (max-width: 767px) {.gap-ver--80px {row-gap: 5rem;}}
@media (max-width: 767px) {.purple-button {padding-left: 1.875rem; padding-right: 1.875rem; padding-top: 1rem; padding-bottom: 1rem;}}
@media (max-width: 767px) {.purple-button:hover {background-color: rgb(181, 190, 255);}}
@media (max-width: 767px) {.purple-outline-button {padding-left: 1.875rem; padding-right: 1.875rem; padding-top: 1rem; padding-bottom: 1rem;}}
@media (max-width: 767px) {.paddings--l-r-20px {padding-left: 3.125rem; padding-right: 3.125rem;}}
@media (max-width: 767px) {.h3 {font-size: 3.25rem;}}
@media (max-width: 767px) {.paddings--l-r-20px {padding-left: 0.625rem; padding-right: 0.625rem;}}
@media (max-width: 767px) {.gap-hor--40px {row-gap: 1.25rem;}}
@media (max-width: 767px) {.paddings--t-b-10px {padding-left: 0.6875rem; padding-right: 0.6875rem;}}
@media (max-width: 767px) {.close--prim-on {margin-left: -54px;}}
@media (max-width: 767px) {.gap--menu {row-gap: 1.25rem;}}
@media (max-width: 767px) {.gap-ver--30px {row-gap: 1.25rem;}}
@media (max-width: 767px) {.gap-hor--35px {column-gap: 0.625rem;}}
@media (max-width: 767px) {.close--bg-on {margin-left: -54px;}}
@media (max-width: 767px) {.gap-ver--15px {row-gap: 0.625rem;}}
@media (max-width: 767px) {.paddings--20px {padding-left: 0.625rem; padding-right: 0.625rem; padding-top: 0.625rem; padding-bottom: 0.625rem;}}
@media (max-width: 767px) {.text--h1 {font-size: 3.625rem;}}
@media (max-width: 767px) {.gap-ver--60px {row-gap: 1.25rem;}}
@media (max-width: 767px) {.gap-ver--40px {row-gap: 1.25rem;}}
@media (max-width: 767px) {.text--h3 {font-size: 2.625rem;}}
@media (max-width: 767px) {.paddings--t-b-80-20px {padding-top: 6.25rem;}}
@media (max-width: 767px) {.gap-ver--80px {row-gap: 3.75rem;}}
@media (max-width: 767px) {.gap-ver--20px {row-gap: 0.625rem;}}
@media (max-width: 767px) {.gap-hor--20px {column-gap: 0.625rem;}}
@media (max-width: 767px) {.body-large {font-size: 1.125rem;}}
@media (max-width: 767px) {.purple-button {font-size: 1.25rem;}}
@media (max-width: 767px) {.purple-button:hover {font-size: 1.25rem; background-image: linear-gradient(rgba(181, 190, 255, 0) 0%, rgba(181, 190, 255, 0) 100%); background-color: rgb(181, 190, 255);}}
@media (max-width: 767px) {.gap-ver--15px {row-gap: 0.9375rem;}}
@media (max-width: 767px) {.text--h1 {font-size: 3.625rem;}}
@media (max-width: 767px) {.gap-ver--80px {row-gap: 2.5rem;}}
@media (max-width: 767px) {.main-blocks {padding-left: 1.5625rem; padding-right: 1.5625rem; padding-top: 1.5625rem; padding-bottom: 1.5625rem; border-top-left-radius: 1.875rem; border-top-right-radius: 1.875rem; border-bottom-left-radius: 1.875rem; border-bottom-right-radius: 1.875rem; flex-direction: column;}}
@media (max-width: 767px) {.paddings--l-r-20px {padding-left: 0.9375rem; padding-right: 0.9375rem;}}
@media (max-width: 767px) {.menu--bg-on {background-color: rgb(144, 156, 251);}}
@media (max-width: 767px) {.menu--bg-on:hover {background-color: rgb(181, 190, 255);}}
@media (max-width: 767px) {.gap-ver--20px {row-gap: 1.25rem;}}
@media (max-width: 767px) {.nubmer-card {padding-left: 0.9375rem; padding-right: 0.9375rem; padding-top: 0.9375rem; padding-bottom: 0.9375rem; border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; border-bottom-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem;}}
@media (max-width: 767px) {.h2-3 {font-size: 3.5rem;}}
@media (max-width: 767px) {.primary-text {font-size: 1.125rem;}}
@media (max-width: 767px) {.description-card {border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; border-bottom-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem;}}
@media (max-width: 767px) {.image-style {border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem; border-bottom-left-radius: 1.5rem; border-bottom-right-radius: 1.5rem;}}
