@charset "UTF-8";.popup {
    position: fixed;
    inset: 0;
    z-index: 1000
}

.popup__overlay {
    position: absolute;
    inset: 0;
    background: #0000008c;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px)
}

.popup__dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(92vw,760px);
    max-height: 90vh;
    transform: translate(-50%,-50%);
    background: #fff;
    border-radius: 0;
    box-shadow: 0 10px 30px #00000040;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px
}

.popup__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #777
}

.popup__close:hover {
    color: #000
}

.popup-overlay-enter-active,.popup-overlay-leave-active {
    transition: opacity .2s ease
}

.popup-overlay-enter-from,.popup-overlay-leave-to {
    opacity: 0
}

.popup-content-enter-active,.popup-content-leave-active {
    transition: opacity .25s ease,transform .25s ease
}

.popup-content-enter-from,.popup-content-leave-to {
    opacity: 0;
    transform: translate(-50%,-48%) scale(.98)
}

body.modal-open {
    overflow: hidden
}

.contact {
    max-width: 100%;
    margin: 0 auto;
    font-family: system-ui,sans-serif
}

.contact__title {
    color: #000;
    text-align: center;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    margin-bottom: 30px
}

.contact__form {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.contact__field {
    display: flex;
    flex-direction: column
}

.contact__input {
    padding: 13px 20px;
    border: 1px solid #d0caca;
    background: #fff;
    font-size: 16px;
    width: 100%;
    resize: vertical
}

.contact__input--error {
    border-color: #e53935
}

.contact__error-text {
    color: #e53935;
    font-size: 13px;
    margin-top: 4px
}

.contact__captcha-wrapper {
    height: 100px;
    width: 100%
}

.contact__confirm {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 16px 0 36px;
    font-size: 14px;
    line-height: 20px
}

.contact__checkbox {
    width: 16px;
    height: 16px;
    margin-top: 2px
}

.contact__button {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 11px 24px;
    border: 1px solid #ff8156;
    background: #ff8156;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    cursor: pointer;
    transition: .2s
}

.contact__button:hover:not(:disabled) {
    background: #fff;
    color: #ff8156
}

.contact__button:disabled {
    opacity: .6;
    cursor: not-allowed
}

.contact__global-error {
    position: fixed;
    top: 90px;
    right: 30px;
    background: #ff8156;
    color: #fff;
    padding: 12px 16px;
    border-radius: 0;
    font-size: 14px;
    box-shadow: 0 2px 8px #00000026;
    max-width: 280px;
    text-align: right;
    z-index: 10
}

.contact__success {
    margin-top: 12px;
    color: #388e3c;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .contact__title {
        font-size:24px;
        line-height: 30px;
        margin-bottom: 24px
    }
}

@media screen and (max-width: 567px) {
    .contact__input {
        padding:9px 15px;
        border: 1px solid #d0caca;
        font-size: 14px
    }

    .contact__confirm {
        margin: 16px 0 26px
    }
}

.contact-launch {
    display: inline-block
}

.contact-launch__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 11px 24px;
    border: 1px solid #ff8156;
    background: #ff8156;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    cursor: pointer;
    transition: .2s;
    border-radius: 0
}

.contact-launch__button:hover {
    background: #fff;
    color: #ff8156
}

.mobile-menu__socials a {
    padding: 0!important;
    font-size: 18px!important
}

.header {
    position: fixed;
    inset-inline: 0;
    top: 0;
    width: 100%;
    padding: 1rem;
    background: #251e1e;
    color: #fff;
    z-index: 10
}

.header--home {
    background: transparent
}

.header--home.header--scrolled {
    background: #251e1e;
    transition: .2s
}

.header__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%
}

.header__logo {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
    color: inherit
}

.header__logo-icon {
    width: 36px;
    height: 36px
}

.header__logo-icon path {
    transition: .2s
}

.header__logo:hover .header__logo-icon path {
    stroke: #fff
}

.header__logo-title {
    white-space: nowrap
}

.header__nav {
    display: block
}

.header-nav__list {
    display: flex;
    gap: 0 28px;
    margin: 0;
    padding: 0;
    list-style: none
}

.header-nav__link {
    color: #fff;
    font-size: 15px;
    line-height: 24px;
    text-decoration: none;
    transition: .2s;
    white-space: nowrap
}

.header-nav__link:hover {
    opacity: .5
}

.header__actions {
    display: flex;
    align-items: center;
    gap: 24px;
    position: relative;
    z-index: 9
}

.header__tel {
    color: #fff;
    text-decoration: none;
    white-space: nowrap
}

.header__callback-btn {
    background: #ff8156;
    color: #fff;
    border: 2px solid #FF8156;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all .3s ease;
    white-space: nowrap;
    position: relative;
    overflow: hidden
}

.header__callback-btn:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
    animation: shine-header-d904b404 3s ease-in-out infinite;
    pointer-events: none
}

@keyframes shine-header-d904b404 {
    0% {
        left: -100%
    }

    to {
        left: 100%
    }
}

.header__callback-btn:hover {
    background: #ff8156;
    color: #fff;
    transform: scale(1.05)
}

.header__callback-btn:hover:before {
    animation: shine-header-d904b404 1.5s ease-in-out infinite
}

.header__social svg {
    width: 24px;
    height: 24px
}

.header__search-btn,.header__burger {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer
}

.header__burger svg {
    width: 24px;
    height: 24px
}

.header__burger-line {
    transition: all .3s ease;
    transform-origin: center
}

.header__burger--open .header__burger-line--top {
    transform: translateY(4.5px) rotate(45deg)
}

.header__burger--open .header__burger-line--middle {
    opacity: 0
}

.header__burger--open .header__burger-line--bottom {
    transform: translateY(-4.5px) rotate(-45deg)
}

.header__search {
    position: fixed;
    inset: 0;
    background: #0000004d;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 60px 20px 20px;
    z-index: 9
}

.header__search-form {
    background: #fff;
    width: 100%;
    max-width: 570px;
    display: flex;
    box-shadow: 0 2px 10px #0003
}

.header__search-input {
    flex: 1;
    padding: 20px;
    border: 0;
    color: #251e1e;
    font-size: 16px;
    line-height: 24px;
    min-width: 120px
}

.header__search-input:focus-visible {
    outline: none
}

.header__search-submit,.header__search-close {
    border: 0;
    background: none;
    padding: 0 16px;
    cursor: pointer;
    color: #251e1e
}

.header__search-results {
    width: 100%;
    max-width: 570px;
    max-height: 200px;
    overflow-y: auto;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    box-shadow: 0 2px 10px #0000001a
}

.header__search-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-bottom: 1px solid #eee;
    cursor: pointer
}

.header__search-img {
    width: 65px;
    height: 36px;
    object-fit: cover;
    display: block
}

.header__search-title {
    color: #251e1e;
    font-weight: 500
}

.header__search-empty {
    padding: 14px 20px;
    text-align: center;
    color: #777
}

@media (max-width: 1099px) {
    .header__nav {
        display:none
    }
}

@media (max-width: 991px) {
    .header__callback-btn {
        display:none
    }
}

@media (max-width: 567px) {
    .header__tel {
        display:none
    }

    .header {
        padding: 12px 16px
    }

    .header__search {
        padding: 0 0 20px
    }
}

.mobile-menu {
    position: fixed;
    inset: 0;
    background: #00000073;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 3;
    display: flex;
    justify-content: flex-end
}

.mobile-menu__nav {
    width: 340px;
    height: 100%;
    background: #251e1e;
    padding: 80px 0 48px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    box-shadow: -2px 0 8px #00000026;
    justify-content: center
}

@media (max-width: 767px) {
    .mobile-menu__nav {
        width:100%
    }
}

.mobile-menu__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    height: 100%
}

.mobile-menu ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.mobile-menu a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 12px 16px;
    font-size: 18px;
    line-height: 28px;
    transition: opacity .2s
}

.mobile-menu ul li:hover {
    background: #ff8156
}

.mobile-menu ul li:hover a {
    opacity: 1!important
}

.mobile-menu a:hover {
    opacity: .6
}

.mobile-menu__contacts {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 16px;
    width: 100%
}

.mobile-menu__socials {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 4px 16px 12px
}

.mobile-menu__socials a {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.mobile-menu__contacts a:first-of-type {
    font-size: 24px
}

.mobile-menu__contacts-social .contacts-social__title {
    padding: 0 16px;
    color: #fff6;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: 1px;
    text-transform: uppercase
}

.mobile-menu__contacts-social ul {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    margin: 10px 0 0
}

.mobile-menu__contacts-social ul li a {
    padding: 0
}

.mobile-menu__contacts-social ul li:hover {
    background: transparent
}

.mobile-menu__contacts-social ul li a:hover svg path {
    fill: #ff8156
}

.btn-order {
    border: 1px solid #FF8156;
    background: #ff8156;
    color: #fff;
    padding: 12px;
    border-radius: 0;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    font-weight: 600;
    margin: 30px 16px 0
}

.btn-order:hover {
    opacity: 1!important;
    background: #fff;
    color: #ff8156
}

.slide-enter-active,.slide-leave-active {
    transition: transform .3s ease
}

.slide-enter-from,.slide-leave-to {
    transform: translate(100%)
}

.contact-launch__button {
    width: 100%
}

.mobile-menu__contacts .contact-launch {
    margin: 20px 16px 0!important
}

.contact__global-error {
    top: 20px!important;
    right: 20px!important
}

.footer {
    min-height: 120px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 48px;
    margin: auto 0 0
}

.footer ul {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 0 16px
}

.footer ul a {
    color: #251e1e;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    transition: .2s;
    white-space: nowrap
}

.footer ul a:hover {
    opacity: .5
}

.footer__non-clickable {
    color: #251e1e;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    white-space: nowrap;
    cursor: default;
    pointer-events: none
}

.footer__social a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px
}

@media (max-width: 1439px) {
    .footer {
        flex-direction:column;
        justify-content: center;
        align-items: flex-start;
        padding: 0 48px;
        gap: 24px;
        margin: auto 0 0
    }
}

@media (max-width: 767px) {
    .footer {
        padding:24px 16px;
        gap: 24px;
        min-height: unset
    }

    .footer ul {
        flex-direction: column;
        justify-content: space-between;
        gap: 20px 0;
        align-items: flex-start
    }
}

.messenger-widget {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9998;
    pointer-events: none
}

.messenger-widget__container {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-end
}

.messenger-widget__item {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff8156;
    border: 2px solid #ffffff;
    box-shadow: 0 4px 20px #00000040,0 2px 8px #ff81564d;
    transition: all .3s ease;
    pointer-events: auto;
    color: #fff;
    cursor: pointer
}

.messenger-widget__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px #00000059,0 4px 12px #ff815666
}

.messenger-widget__item--telegram:hover {
    background: #08c;
    color: #fff
}

.messenger-widget__item--whatsapp:hover {
    background: #25d366;
    color: #fff
}

.messenger-widget__item svg {
    width: 24px;
    height: 24px
}

@media screen and (max-width: 768px) {
    .messenger-widget {
        bottom:16px;
        right: 16px
    }

    .messenger-widget__item {
        width: 52px;
        height: 52px
    }

    .messenger-widget__item svg {
        width: 22px;
        height: 22px
    }

    .messenger-widget__container {
        gap: 10px
    }
}

@media screen and (max-width: 480px) {
    .messenger-widget {
        bottom:12px;
        right: 12px
    }

    .messenger-widget__item {
        width: 48px;
        height: 48px
    }

    .messenger-widget__item svg {
        width: 20px;
        height: 20px
    }
}

.main--home {
    flex: 1 0 auto;
    margin-top: 0
}

.header {
    background: transparent
}

.contact-launch {
    margin: 0!important
}

.main-slider {
    width: 100%;
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url(/assets/main-slider.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.main-slider:after {
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    left: 0;
    background: #00000080
}

.main-slider__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0
}

.main-slider__content {
    z-index: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 24px;
    text-align: left;
    padding: 0 16px;
    max-width: 1200px;
    margin: 60px auto 120px auto;
    width: 100%
}

.main-slider__title {
    color: #fff;
    font-size: 50px;
    font-weight: 500;
    line-height: 1.4;
    /*max-width: 630px*/
}

@media screen and (min-width: 768px) {
    .main-slider__title-line {
        /*white-space:nowrap*/
    }
}

.main-slider__description {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    max-width: 630px
}

.main-slider__button-wrapper {
    display: flex;
    flex-direction: row;
    gap: 20px;
    max-width: 630px;
    flex-wrap: wrap;
    justify-content: flex-start
}

.main-slider__more-button,.main-slider__callback-button {
    display: flex;
    padding: 11px 24px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    border: 1px solid #FF8156;
    background: #ff8156;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    min-width: 240px;
    text-decoration: none;
    max-height: 48px;
    transition: .2s;
    position: relative;
    overflow: hidden
}

.main-slider__more-button:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
    animation: shine-slider-5f314945 3s ease-in-out infinite;
    pointer-events: none
}

@keyframes shine-slider-5f314945 {
    0% {
        left: -100%
    }

    to {
        left: 100%
    }
}

.main-slider__callback-button {
    background: #fff;
    color: #000;
    border-color: #fff
}

.main-slider__more-button:hover,.main-slider__callback-button:hover {
    background: #fff;
    color: #ff8156;
    border-color: #ff8156
}

.main-slider__more-button:hover:before {
    animation: shine-slider-5f314945 1.5s ease-in-out infinite
}

.main-slider__advantages {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%);
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    padding: 0 40px
}

.main-slider__advantages-container {
    background: #ffffff40;
    backdrop-filter: blur(30px) saturate(180%);
    -webkit-backdrop-filter: blur(30px) saturate(180%);
    border-top: 1px solid rgba(255,255,255,.3);
    border-left: 1px solid rgba(255,255,255,.2);
    border-right: 1px solid rgba(255,255,255,.2);
    padding: 24px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 32px #0000001a,inset 0 1px #fff6
}

.main-slider__advantage-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex: 1;
    min-height: 100px
}

.main-slider__advantage-number {
    color: #ff8156;
    font-size: 56px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -2px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center
}

.main-slider__advantage-label {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .5px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0,0,0,.3)
}

.main-slider__advantage-divider {
    width: 1px;
    height: 60px;
    background: #fff6;
    flex-shrink: 0
}

@media screen and (max-width: 1024px) {
    .main-slider__advantages-container {
        gap:24px;
        padding: 0 24px
    }

    .main-slider__advantage-number {
        font-size: 42px
    }

    .main-slider__advantage-label {
        font-size: 12px
    }

    .main-slider__advantage-divider {
        height: 50px
    }
}

@media screen and (max-width: 767px) {
    .main-slider__content {
        padding-bottom:200px
    }

    .main-slider__title {
        font-size: 32px;
        line-height: 40px;
        max-width: 320px
    }

    .main-slider__description {
        font-size: 16px;
        line-height: 24px;
        max-width: 320px
    }

    .main-slider__button-wrapper {
        flex-direction: column;
        gap: 12px;
        max-width: 320px
    }

    .main-slider__advantages {
        padding: 0 10px
    }

    .main-slider__advantages-container {
        flex-wrap: wrap;
        gap: 12px;
        padding: 24px 16px;
        border-radius: 12px 12px 0 0
    }

    .main-slider__advantage-item {
        flex: 0 0 calc(33.333% - 8px);
        min-height: 80px
    }

    .main-slider__advantage-number {
        font-size: 30px
    }

    .main-slider__advantage-label {
        font-size: 11px
    }

    .main-slider__advantage-divider {
        display: none
    }
}

.contact-launch {
    margin: 0!important
}

.main-slider__button-wrapper .contact-launch__button {
    display: flex;
    padding: 11px 24px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    background: #ff8156;
    color: #fff;
    border: 1px solid #FF8156;
    font-size: 16px;
    font-weight: 600;
    min-width: 240px;
    text-decoration: none;
    transition: .2s
}

.main-slider__button-wrapper .contact-launch__button:hover {
    background: #ff815600;
    color: #fff;
    border: 1px solid #FF8156
}

.main-slider__video-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 11px 24px;
    background: #fff;
    border: 1px solid #FFFFFF;
    color: #000;
    font-size: 16px;
    font-weight: 600;
    min-width: 240px;
    text-decoration: none;
    max-height: 48px;
    transition: .2s;
    cursor: pointer
}

.main-slider__video-button:hover {
    background: #fff;
    color: #ff8156;
    border-color: #fff
}

.main-slider__video-button-play {
    width: 24px;
    height: 24px;
    background: #ff8156;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.main-slider__video-button-play svg {
    width: 12px;
    height: 12px
}

.main-slider__video-button-text {
    color: inherit;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap
}

@media screen and (max-width: 767px) {
    .main-slider__video-button {
        padding:11px 24px;
        gap: 16px;
        min-width: 240px
    }

    .main-slider__video-button-play {
        width: 24px;
        height: 24px
    }

    .main-slider__video-button-play svg {
        width: 12px;
        height: 12px
    }

    .main-slider__video-button-text {
        font-size: 16px
    }
}

.video-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000e6;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px
}

.video-popup__body {
    position: relative;
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 0
}

.video-popup__close {
    position: absolute;
    top: -50px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s;
    z-index: 10
}

.video-popup__close:hover {
    transform: scale(1.2)
}

.video-popup iframe {
    width: 100%;
    height: 100%;
    border-radius: 0
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .3s
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

.quiz {
    padding: 80px 0;
    background: #fff
}

.quiz__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    width: 100%
}

.quiz__intro {
    text-align: center;
    max-width: 800px;
    margin: 0 auto
}

.quiz__title {
    font-size: 48px;
    font-weight: 500;
    line-height: 58px;
    color: #000;
    margin: 0 0 24px;
    text-align: center
}

.quiz__description {
    font-size: 20px;
    line-height: 28px;
    color: #666;
    margin: 0 0 40px
}

.quiz__start-btn {
    padding: 14px 32px;
    border: 1px solid #FF8156;
    background: #ff8156;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    cursor: pointer;
    transition: .2s
}

.quiz__start-btn:hover {
    background: #fff;
    color: #ff8156
}

.quiz__content {
    max-width: 800px;
    margin: 0 auto
}

.quiz__progress {
    height: 4px;
    background: #e0e0e0;
    margin-bottom: 24px;
    position: relative
}

.quiz__progress-bar {
    height: 100%;
    background: #ff8156;
    transition: width .3s ease
}

.quiz__step-counter {
    font-size: 14px;
    color: #666;
    margin-bottom: 16px
}

.quiz__question {
    font-size: 32px;
    font-weight: 500;
    line-height: 40px;
    color: #000;
    margin: 0 0 32px
}

.quiz__options {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 40px
}

.quiz__option {
    padding: 16px 24px;
    border: 2px solid #d0caca;
    background: #fff;
    color: #000;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    text-align: left;
    cursor: pointer;
    transition: .2s
}

.quiz__option:hover {
    border-color: #ff8156;
    background: #fff5f2
}

.quiz__option--selected {
    border-color: #ff8156;
    background: #ff8156;
    color: #fff
}

.quiz__navigation {
    display: flex;
    gap: 16px;
    justify-content: space-between
}

.quiz__nav-btn {
    padding: 12px 24px;
    border: 1px solid #FF8156;
    background: #fff;
    color: #ff8156;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    cursor: pointer;
    transition: .2s
}

.quiz__nav-btn--next {
    background: #ff8156;
    color: #fff;
    margin-left: auto
}

.quiz__nav-btn:hover {
    background: #ff8156;
    color: #fff
}

.quiz__nav-btn--next:hover {
    background: #fff;
    color: #ff8156
}

@media screen and (max-width: 991px) {
    .quiz {
        padding:60px 0
    }

    .quiz__container {
        padding: 0 32px
    }

    .quiz__title {
        font-size: 40px;
        line-height: 48px
    }

    .quiz__question {
        font-size: 28px;
        line-height: 36px
    }
}

@media screen and (max-width: 767px) {
    .quiz {
        padding:40px 0
    }

    .quiz__container {
        padding: 0 24px
    }

    .quiz__title {
        font-size: 32px;
        line-height: 40px
    }

    .quiz__description {
        font-size: 18px;
        line-height: 26px
    }

    .quiz__question {
        font-size: 24px;
        line-height: 30px
    }

    .quiz__option {
        font-size: 16px;
        padding: 14px 20px
    }

    .quiz__form-title {
        font-size: 24px;
        line-height: 30px
    }
}

.advantages {
    position: relative;
    padding: 20px 0;
    display: flex;
    align-items: center;
    background: #f8f8f8;
    background: #fff
}

.advantages__container {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px
}

.advantages__grid {
    display: flex;
    gap: 20px;
    height: clamp(520px,70vh,640px);
    overflow: hidden
}

.adv-card {
    position: relative;
    flex: 1;
    min-width: 240px;
    color: #191d1f;
    border-radius: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    background: #fff;
    border: none;
    isolation: isolate
}

.adv-card__background {
    position: absolute;
    inset: 0;
    background-image: var(--bg-image);
    background-size: cover;
    background-position: center;
    z-index: -2
}

.adv-card__content {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    flex: 1
}

.adv-card__text {
    width: 100%;
    background: #ffffffe6;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-radius: 0;
    border-top: 1px solid rgba(240,240,240,.8);
    padding: 28px 32px 34px;
    min-height: 280px;
    height: 280px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    box-shadow: none
}

.adv-card__title {
    margin: 0 0 28px;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 500;
    height: 80px
}

.adv-card__title .adv-card__number,.adv-card__title .adv-card__number {
    color: #ff8156!important;
    font-size: 36px!important;
    font-weight: 300!important;
    line-height: 1!important;
    display: inline-block!important;
    vertical-align: baseline!important;
    letter-spacing: -2px!important
}

 .adv-card__number,.adv-card__number {
    color: #ff8156!important;
    font-size: 36px!important;
    font-weight: 300!important;
    line-height: 1!important;
    display: inline-block!important;
    letter-spacing: -2px!important
}

.adv-card__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
    line-height: 1.4;
    color: #1f2528;
    flex: 1
}

.adv-card__list li {
    position: relative;
    padding-left: 18px
}

.adv-card__list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ff8156;
    box-shadow: 0 0 12px #ff815666
}

@media (max-width: 1280px) {
    .advantages__grid {
        gap:16px
    }

    .adv-card__text {
        padding: 24px 28px 30px
    }

    .adv-card__title {
        font-size: 18px
    }

    .adv-card__title .adv-card__number, .adv-card__number,.adv-card__number {
        font-size: 28px!important
    }
}

@media (max-width: 1024px) {
    .advantages {
        padding:60px 0 40px
    }

    .advantages__grid {
        display: grid;
        grid-template-columns: 1fr;
        height: auto;
        min-height: auto;
        overflow-x: visible;
        padding-bottom: 0;
        gap: 20px
    }

    .adv-card {
        min-width: auto;
        width: 100%;
        flex: none;
        height: 550px
    }
}

@media (max-width: 640px) {
    .advantages__container {
        padding:0 20px
    }

    .adv-card {
        min-width: auto;
        width: 100%;
        height: 520px
    }

    .adv-card__text {
        padding: 20px 24px 26px;
        min-height: 260px;
        height: 260px
    }

    .adv-card__title {
        font-size: 16px
    }

    .adv-card__title .adv-card__number, .adv-card__number,.adv-card__number {
        font-size: 24px!important
    }
}

.about-company {
    background: #fff;
    padding: 40px 0;
    display: flex;
    align-items: center
}

.about-company__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px;
    width: 100%
}

.about-company__main-title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 0 24px;
    text-align: center;
    letter-spacing: -.5px
}

.about-company__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch
}

.about-company__left {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%
}

.about-company__video-section {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1
}

.about-company__video-wrapper {
    position: relative;
    border-radius: 0;
    overflow: hidden;
    cursor: pointer;
    transition: all .4s ease;
    box-shadow: 0 8px 32px #0000001f;
    aspect-ratio: 16/9
}

.about-company__video-wrapper:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px #0000002e
}

.about-company__video-preview {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-company__video-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg,#ff81561a,#0003);
    z-index: 1
}

.about-company__play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    transition: all .3s ease
}

.about-company__video-wrapper:hover .about-company__play-button {
    transform: translate(-50%,-50%) scale(1.15)
}

.about-company__video-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: #fffffff2;
    padding: 8px 16px;
    border-radius: 0;
    z-index: 2
}

.about-company__video-badge span {
    font-size: 14px;
    font-weight: 500;
    color: #ff8156
}

.about-company__philosophy {
    padding: 20px;
    background: #fafafa;
    border-radius: 0;
    border-left: 4px solid #FF8156;
    flex: 1;
    display: flex;
    align-items: center
}

.about-company__philosophy-text {
    margin: 0;
    color: #1a1a1a;
    font-size: 15px;
    line-height: 1.7;
    text-align: justify
}

.about-company__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 32px;
    background: #ff8156;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border: 2px solid #FF8156;
    border-radius: 0;
    cursor: pointer;
    transition: all .3s ease;
    text-decoration: none;
    width: 100%
}

.about-company__button:hover {
    background: #fff;
    color: #ff8156;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px #ff81564d
}

.about-company__button-arrow {
    transition: transform .3s ease
}

.about-company__button:hover .about-company__button-arrow {
    transform: translate(4px)
}

.about-company__right {
    display: flex;
    flex-direction: column;
    height: 100%
}

.about-company__team-showcase {
    background: #fff;
    border-radius: 0;
    padding: 32px;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px #00000014;
    border: 1px solid rgba(0,0,0,.05)
}

.about-company__team-header {
    margin-bottom: 32px;
    text-align: center
}

.about-company__team-title {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.about-company__team-eyebrow {
    color: #ff8156;
    font-size: 48px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: -2px;
    display: block
}

.about-company__team-subtitle {
    color: #1a1a1a;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    display: block
}

.about-company__team-gallery {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 1
}

.about-company__departments-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap: 12px;
    max-height: 400px;
    overflow-y: auto;
    padding-right: 8px
}

.about-company__departments-grid::-webkit-scrollbar {
    width: 6px
}

.about-company__departments-grid::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 0
}

.about-company__departments-grid::-webkit-scrollbar-thumb {
    background: #ff8156;
    border-radius: 0
}

.about-company__departments-grid::-webkit-scrollbar-thumb:hover {
    background: #e67148
}

.about-company__dept-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 0;
    padding: 16px;
    transition: all .3s ease;
    animation: fadeInUp-efc0946a .6s ease forwards;
    opacity: 0
}

.about-company__dept-card:nth-child(1) {
    animation-delay: .1s
}

.about-company__dept-card:nth-child(2) {
    animation-delay: .2s
}

.about-company__dept-card:nth-child(3) {
    animation-delay: .3s
}

.about-company__dept-card:nth-child(4) {
    animation-delay: .4s
}

.about-company__dept-card:nth-child(5) {
    animation-delay: .5s
}

@keyframes fadeInUp-efc0946a {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.about-company__dept-card:hover {
    border-color: #ff8156;
    box-shadow: 0 4px 16px #ff81561a;
    transform: translateY(-4px)
}

.about-company__dept-header {
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f5f5f5
}

.about-company__dept-name {
    color: #1a1a1a;
    font-size: 18px;
    font-weight: 600;
    margin: 0
}

.about-company__dept-members {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.about-company__dept-member {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px;
    background: #fafafa;
    border-radius: 0;
    transition: all .3s ease;
    cursor: pointer
}

.about-company__dept-member:hover {
    background: #ff8156;
    transform: translate(4px)
}

.about-company__dept-member:hover .about-company__member-name,.about-company__dept-member:hover .about-company__member-position {
    color: #fff
}

.about-company__member-avatar {
    width: 36px;
    height: 36px;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid #ffffff;
    box-shadow: 0 2px 8px #0000001a
}

.about-company__member-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-company__member-info-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0
}

.about-company__member-name {
    color: #1a1a1a;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    transition: color .3s ease
}

.about-company__member-position {
    color: #666;
    font-size: 11px;
    line-height: 1.2;
    transition: color .3s ease
}

.video-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #000000e6;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px
}

.video-popup__body {
    position: relative;
    width: 100%;
    max-width: 900px;
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 0;
    overflow: hidden
}

.video-popup__close {
    position: absolute;
    top: -45px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s;
    z-index: 10
}

.video-popup__close:hover {
    transform: scale(1.2)
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .3s
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

@media screen and (max-width: 968px) {
    .about-company__content {
        grid-template-columns:1fr;
        gap: 32px
    }

    .about-company__main-title {
        font-size: 36px
    }

    .about-company__departments-grid {
        grid-template-columns: 1fr;
        max-height: none
    }
}

@media screen and (max-width: 640px) {
    .about-company {
        padding:40px 0
    }

    .about-company__container {
        padding: 0 16px
    }

    .about-company__main-title {
        font-size: 28px
    }

    .about-company__team-showcase {
        padding: 24px
    }

    .about-company__philosophy {
        padding: 20px
    }

    .about-company__philosophy-text {
        font-size: 14px
    }

    .about-company__dept-card {
        padding: 16px
    }

    .about-company__dept-name {
        font-size: 16px
    }

    .about-company__team-eyebrow {
        font-size: 36px
    }

    .about-company__team-subtitle {
        font-size: 16px
    }
}

@media screen and (max-width: 380px) {
    .about-company__container {
        padding:0 12px
    }

    .about-company__team-showcase {
        padding: 20px
    }

    .about-company__team-eyebrow {
        font-size: 28px
    }

    .about-company__team-subtitle {
        font-size: 14px
    }

    .about-company__dept-member {
        flex-direction: column;
        align-items: flex-start;
        text-align: left
    }
}

.celebrity-reviews {
    background: #f8f8f8;
    padding: 20px 0;
    position: relative
}

.celebrity-reviews__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px
}

.celebrity-reviews__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 0 24px;
    text-align: center;
    letter-spacing: -.5px
}

.celebrity-reviews__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 40px
}

.celebrity-reviews__card {
    background: #fff;
    border: 1px solid #E8E8E8;
    cursor: pointer;
    transition: all .3s ease;
    overflow: hidden
}

.celebrity-reviews__card:hover {
    border-color: #ff8156;
    box-shadow: 0 12px 40px #251e1e1a;
    transform: translateY(-4px)
}

.celebrity-reviews__video-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
    background: #000
}

.celebrity-reviews__preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease
}

.celebrity-reviews__card:hover .celebrity-reviews__preview {
    transform: scale(1.05)
}

.celebrity-reviews__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0000004d;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s ease
}

.celebrity-reviews__card:hover .celebrity-reviews__overlay {
    background: #00000080
}

.celebrity-reviews__play-button {
    transition: transform .3s ease
}

.celebrity-reviews__card:hover .celebrity-reviews__play-button {
    transform: scale(1.15)
}

.celebrity-reviews__content {
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.celebrity-reviews__label {
    color: #ff8156;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin: 0 0 4px
}

.celebrity-reviews__name {
    color: #251e1e;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 16px
}

.celebrity-reviews__name .highlight {
    color: #ff8156;
    font-weight: 700
}

.celebrity-reviews__description {
    color: #555;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.7;
    margin: 0;
    font-style: italic
}

.video-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #000000f2;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px
}

.video-modal__body {
    position: relative;
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 0
}

.video-modal__close {
    position: absolute;
    top: -50px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s;
    z-index: 10
}

.video-modal__close:hover {
    transform: scale(1.2)
}

.video-modal iframe {
    width: 100%;
    height: 100%;
    border-radius: 0
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .3s
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

@media screen and (max-width: 1200px) {
    .celebrity-reviews__grid {
        grid-template-columns:repeat(2,1fr);
        gap: 32px
    }

    .celebrity-reviews__card:last-child {
        grid-column: 1 / -1;
        max-width: 600px;
        margin: 0 auto;
        width: 100%
    }
}

@media screen and (max-width: 991px) {
    .celebrity-reviews {
        padding:60px 0
    }

    .celebrity-reviews__container {
        padding: 0 32px
    }

    .celebrity-reviews__title {
        font-size: 32px;
        margin-bottom: 40px
    }

    .celebrity-reviews__grid {
        gap: 24px
    }

    .celebrity-reviews__content {
        padding: 24px 20px
    }

    .celebrity-reviews__label {
        font-size: 11px
    }

    .celebrity-reviews__name {
        font-size: 20px;
        margin-bottom: 12px
    }

    .celebrity-reviews__description {
        font-size: 14px;
        line-height: 1.6
    }

    .video-modal__close {
        top: -40px;
        font-size: 32px
    }
}

@media screen and (max-width: 640px) {
    .celebrity-reviews__container {
        padding:0 16px
    }

    .celebrity-reviews__title {
        font-size: 24px;
        margin-bottom: 32px
    }

    .celebrity-reviews__grid {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .celebrity-reviews__card:last-child {
        grid-column: 1;
        max-width: 100%
    }

    .celebrity-reviews__content {
        padding: 20px 16px
    }

    .celebrity-reviews__label {
        font-size: 10px
    }

    .celebrity-reviews__name {
        font-size: 18px;
        margin-bottom: 10px
    }

    .celebrity-reviews__description {
        font-size: 13px;
        line-height: 1.6
    }

    .celebrity-reviews__play-button svg {
        width: 60px;
        height: 60px
    }

    .video-modal {
        padding: 10px
    }

    .video-modal__close {
        top: -35px;
        font-size: 28px
    }
}

.project-card-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #111;
    transition: all .3s ease
}

.project-card-wrapper:hover {
    box-shadow: 0 12px 40px #0000004d
}

.project-card-wrapper__image-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden
}

.project-card-wrapper__image,.project-card-wrapper__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease
}

.project-card-wrapper:hover .project-card-wrapper__image {
    transform: scale(1.05)
}

.project-card-wrapper__placeholder {
    background: #2a2a2a;
    color: #fff;
    font-size: 42px;
    font-weight: 700;
    display: grid;
    place-items: center
}

.project-card-wrapper__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.85) 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px
}

.project-card-wrapper__info {
    margin-top: auto
}

.project-card-wrapper__title {
    color: #fff;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 0 12px
}

.project-card-wrapper__specs {
    display: flex;
    gap: 24px;
    margin-bottom: 16px
}

.project-card-wrapper__spec {
    margin: 0;
    opacity: .95;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-right: 24px;
    border-right: 1px solid rgba(255,255,255,.3)
}

.project-card-wrapper__spec:last-child {
    border-right: none;
    padding-right: 0
}

.project-card-wrapper__spec strong {
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    opacity: .8
}

.project-card-wrapper__spec span {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px
}

.project-card-wrapper__spec--price strong {
    color: #ff8156
}

.project-card-wrapper__spec--price span {
    color: #ff8156;
    font-size: 20px;
    font-weight: 700
}

.project-card-wrapper__actions {
    display: flex;
    gap: 12px
}

.project-card-wrapper__button {
    flex: 1;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 600;
    border: 2px solid transparent;
    border-radius: 0;
    cursor: pointer;
    transition: all .3s ease;
    text-decoration: none;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.project-card-wrapper__button--primary {
    background: #ff8156;
    color: #fff;
    border-color: #ff8156;
    position: relative;
    overflow: hidden
}

.project-card-wrapper__button--primary:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
    animation: shine-primary-d786dcd3 3s ease-in-out infinite;
    pointer-events: none
}

@keyframes shine-primary-d786dcd3 {
    0% {
        left: -100%
    }

    to {
        left: 100%
    }
}

.project-card-wrapper__button--primary:hover:not(:disabled) {
    background: #ff8156;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px #ff815666
}

.project-card-wrapper__button--primary:hover:not(:disabled):before {
    animation: shine-primary-d786dcd3 1.5s ease-in-out infinite
}

.project-card-wrapper__button--primary:disabled {
    opacity: .5;
    cursor: not-allowed
}

.project-card-wrapper__button--secondary {
    background: #fffffff2;
    color: #251e1e;
    border-color: #fff;
    box-shadow: 0 0 15px #ffffff4d
}

.project-card-wrapper__button--secondary:hover {
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 20px #ffffff80
}

@media screen and (max-width: 991px) {
    .project-card-wrapper__title {
        font-size:22px
    }

    .project-card-wrapper__spec span {
        font-size: 16px;
        line-height: 22px
    }

    .project-card-wrapper__spec {
        padding-right: 16px
    }
}

@media screen and (max-width: 640px) {
    .project-card-wrapper__overlay {
        padding:12px;
        background: linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.9) 100%)
    }

    .project-card-wrapper__title {
        font-size: 18px;
        margin-bottom: 8px
    }

    .project-card-wrapper__specs {
        gap: 12px;
        margin-bottom: 10px
    }

    .project-card-wrapper__spec {
        padding-right: 12px
    }

    .project-card-wrapper__spec strong {
        font-size: 10px
    }

    .project-card-wrapper__spec span {
        font-size: 14px;
        line-height: 18px
    }

    .project-card-wrapper__actions {
        flex-direction: row;
        gap: 8px
    }

    .project-card-wrapper__button {
        padding: 10px 12px;
        font-size: 13px;
        font-weight: 600
    }
}

.projects {
    padding: 20px 0;
    background: #fff
}

.projects__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.projects__title {
    color: #1a1a1a;
    text-align: center;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 0 24px;
    letter-spacing: -.5px
}

@media screen and (max-width: 767px) {
    .projects__title {
        font-size:32px
    }
}

.projects__list {
    display: grid;
    grid-template-columns: repeat(2,minmax(240px,1fr));
    gap: 24px;
    width: 100%;
    margin: 0 0 24px
}

@media (max-width: 767px) {
    .projects__list {
        grid-template-columns:1fr;
        gap: 24px;
        margin: 0;
        width: 100%
    }
}

.projects__show-more {
    margin-top: 1rem;
    background: #ff8156;
    color: #fff;
    padding: .8rem 1.2rem;
    border-radius: 0;
    cursor: pointer;
    font-weight: 600;
    transition: .2s;
    border: 1px solid #ff8156;
    text-decoration: none;
    text-align: center
}

.projects__show-more--full {
    width: 100%;
    display: block
}

@media (max-width: 991px) {
    .projects__container {
        padding:0 32px
    }
}

@media (max-width: 767px) {
    .projects__list {
        grid-template-columns:1fr
    }

    .projects__container {
        padding: 0 24px
    }
}

.projects__show-more:hover {
    background: #fff;
    color: #ff8156;
    border-color: #ff8156
}

.individuality {
    background: #fff;
    padding: 20px 0;
    position: relative;
    display: none
}

.individuality__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.individuality__header {
    text-align: center;
    margin-bottom: 80px
}

.individuality__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 auto 24px;
    text-align: center;
    letter-spacing: -.5px
}

.individuality__subtitle {
    color: #666;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    max-width: 900px;
    margin: 0 auto
}

.individuality__content {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.individuality__features {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(400px,1fr));
    gap: 40px
}

.individuality__feature {
    display: flex;
    gap: 24px;
    padding: 40px;
    background: #f8f8f8;
    border-radius: 8px;
    border-left: 4px solid #FF8156;
    opacity: 0;
    transform: translate(-30px);
    transition: all .6s ease
}

.individuality__feature--visible {
    opacity: 1;
    transform: translate(0)
}

.individuality__feature-number {
    font-size: 48px;
    font-weight: 300;
    color: #ff8156;
    line-height: 1;
    flex-shrink: 0;
    letter-spacing: -1px
}

.individuality__feature-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.individuality__feature-title {
    color: #1a1a1a;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.3;
    margin: 0
}

.individuality__feature-description {
    color: #666;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0
}

.individuality__cta {
    text-align: center;
    padding: 60px;
    background: #f8f8f8;
    border-radius: 8px;
    border: 1px solid #e0e0e0
}

.individuality__cta-text {
    color: #333;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto 32px
}

@media screen and (max-width: 1200px) {
    .individuality__features {
        grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
        gap: 32px
    }
}

@media screen and (max-width: 991px) {
    .individuality {
        padding:80px 0
    }

    .individuality__container {
        padding: 0 32px
    }

    .individuality__title {
        font-size: 32px
    }

    .individuality__subtitle {
        font-size: 18px
    }

    .individuality__header {
        margin-bottom: 60px
    }

    .individuality__features {
        grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
        gap: 24px
    }

    .individuality__feature {
        padding: 32px
    }

    .individuality__cta {
        padding: 40px
    }
}

@media screen and (max-width: 768px) {
    .individuality {
        padding:60px 0
    }

    .individuality__container {
        padding: 0 24px
    }

    .individuality__title {
        font-size: 24px
    }

    .individuality__subtitle {
        font-size: 16px
    }

    .individuality__header {
        margin-bottom: 40px
    }

    .individuality__content {
        gap: 40px
    }

    .individuality__features {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .individuality__feature {
        padding: 24px;
        flex-direction: column;
        gap: 16px
    }

    .individuality__feature-number {
        font-size: 36px
    }

    .individuality__feature-title {
        font-size: 20px
    }

    .individuality__feature-description {
        font-size: 15px
    }

    .individuality__cta {
        padding: 32px 24px
    }

    .individuality__cta-text {
        font-size: 16px;
        margin-bottom: 24px
    }
}

@media screen and (max-width: 480px) {
    .individuality {
        padding:40px 0
    }

    .individuality__container {
        padding: 0 16px
    }

    .individuality__title {
        font-size: 24px
    }

    .individuality__feature-number {
        font-size: 32px
    }

    .individuality__feature-title {
        font-size: 18px
    }

    .individuality__feature-description {
        font-size: 14px
    }

    .individuality__cta {
        padding: 24px 20px
    }

    .individuality__cta-text {
        font-size: 14px
    }
}

.special-offer-old {
    width: 100%;
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    background-image: url(/assets/specials-offer-bg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center
}

.special-offer-old__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px
}

.special-offer-old__title {
    color: #fff;
    font-size: 58px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0,0,0,.3)
}

.special-offer-old__subtitle {
    color: #fff;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0,0,0,.3)
}

.special-offer-old__subtitle s {
    text-decoration: line-through;
    opacity: .7
}

.special-offer-old__button {
    display: flex;
    padding: 11px 24px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    border: 1px solid #FF8156;
    background: #ff8156;
    transition: .2s;
    color: #fff;
    text-align: center;
    font-size: 16px;
    line-height: 22px;
    font-style: normal;
    font-weight: 600;
    margin: 0;
    max-width: 264px;
    min-width: 264px;
    width: 100%;
    text-decoration: none
}

.special-offer-old__button:hover {
    background: #fff;
    color: #ff8156;
    border: 1px solid #FF8156
}

@media screen and (max-width: 991px) {
    .special-offer-old__container {
        padding:0 32px
    }

    .special-offer-old__title {
        font-size: 42px
    }

    .special-offer-old__subtitle {
        font-size: 24px
    }
}

@media screen and (max-width: 767px) {
    .special-offer-old__container {
        padding:0 24px;
        gap: 12px
    }

    .special-offer-old__title {
        font-size: 32px
    }

    .special-offer-old__subtitle {
        font-size: 20px
    }

    .special-offer-old__button {
        width: 100%
    }
}

.mortgage-banner {
    background: #f8f8f8;
    padding: 20px 0
}

.mortgage-banner__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px
}

.mortgage-banner__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    text-align: center;
    margin: 0 0 24px;
    letter-spacing: -.5px
}

.mortgage-banner__highlight {
    color: #ff8156
}

.mortgage-banner__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    margin-bottom: 40px
}

.mortgage-banner__left {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.mortgage-banner__subtitle {
    color: #251e1e;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0
}

.mortgage-banner__banks {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    margin: 0
}

.mortgage-banner__bank-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    padding: 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    transition: all .3s ease
}

.mortgage-banner__bank-logo:hover {
    border-color: #ff8156;
    box-shadow: 0 2px 8px #ff81561a
}

.mortgage-banner__logo-img {
    max-height: 100%;
    max-width: 140px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(0);
    transition: filter .3s ease
}

.mortgage-banner__description {
    color: #666;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0
}

.mortgage-banner__right {
    position: relative;
    width: 100%;
    border-radius: 0;
    overflow: hidden
}

.mortgage-banner__image {
    width: 100%;
    height: auto;
    display: block
}

.mortgage-banner__yandex-block {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.mortgage-banner__button-wrapper {
    display: flex;
    justify-content: center
}

.mortgage-banner__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 14px 32px;
    border: 1px solid #FF8156;
    background: #ff8156;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    cursor: pointer;
    transition: .2s;
    position: relative;
    overflow: hidden
}

.mortgage-banner__button:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);
    transition: left .5s;
    z-index: 1
}

.mortgage-banner__button:hover:before {
    left: 100%
}

.mortgage-banner__button:hover {
    background: #fff;
    color: #ff8156
}

@media screen and (max-width: 1439px) {
    .mortgage-banner__container {
        padding:0 48px
    }
}

@media screen and (max-width: 991px) {
    .mortgage-banner {
        padding:60px 0
    }

    .mortgage-banner__container {
        padding: 0 32px
    }

    .mortgage-banner__title {
        font-size: 32px;
        margin-bottom: 40px
    }

    .mortgage-banner__content {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .mortgage-banner__subtitle {
        font-size: 20px
    }

    .mortgage-banner__banks {
        gap: 24px
    }

    .mortgage-banner__bank-logo {
        height: 70px;
        padding: 10px
    }

    .mortgage-banner__logo-img {
        max-width: 120px
    }

    .mortgage-banner__description {
        font-size: 16px
    }

    .mortgage-banner__button {
        font-size: 16px;
        padding: 12px 28px
    }
}

@media screen and (max-width: 767px) {
    .mortgage-banner__container {
        padding:0 16px
    }

    .mortgage-banner__title {
        font-size: 24px;
        margin-bottom: 32px
    }

    .mortgage-banner__content {
        gap: 32px
    }

    .mortgage-banner__subtitle {
        font-size: 18px
    }

    .mortgage-banner__banks {
        gap: 16px;
        justify-content: center
    }

    .mortgage-banner__bank-logo {
        height: 60px;
        padding: 8px;
        flex: 0 0 calc(33.333% - 12px);
        max-width: 140px
    }

    .mortgage-banner__logo-img {
        max-width: 100%
    }

    .mortgage-banner__description {
        font-size: 15px
    }

    .mortgage-banner__button {
        width: 100%;
        font-size: 15px;
        padding: 11px 24px
    }
}

.services {
    background: #fff;
    padding: 20px 0;
    position: relative
}

.services__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.services__header {
    text-align: center;
    margin-bottom: 0;
    display: none
}

.services__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 auto 24px;
    text-align: center;
    letter-spacing: -.5px
}

.services__title-line {
    display: inline-block
}

.services__included {
    background: #f8f8f8;
    padding: 60px;
    border-radius: 8px;
    max-width: 1200px;
    margin: 0 auto;
    display: none
}

.services__included-title {
    color: #1a1a1a;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 40px;
    text-align: center
}

.services__included-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
    gap: 20px
}

.services__included-item {
    color: #333;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    padding-left: 32px;
    position: relative;
    opacity: 0;
    transform: translate(-20px);
    transition: all .4s ease
}

.services__included-item--visible {
    opacity: 1;
    transform: translate(0)
}

.services__included-item:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: #ff8156;
    border-radius: 50%
}

@media screen and (max-width: 1200px) {
    .services__included-list {
        grid-template-columns:repeat(auto-fit,minmax(280px,1fr))
    }
}

@media screen and (max-width: 991px) {
    .services {
        padding:80px 0
    }

    .services__container {
        padding: 0 32px
    }

    .services__title {
        font-size: 32px
    }

    .services__header {
        margin-bottom: 60px
    }

    .services__included {
        padding: 40px
    }
}

@media screen and (max-width: 768px) {
    .services {
        padding:60px 0
    }

    .services__container {
        padding: 0 24px
    }

    .services__title {
        font-size: 24px
    }

    .services__header {
        margin-bottom: 40px
    }

    .services__included {
        padding: 32px 24px
    }

    .services__included-title {
        font-size: 24px;
        margin-bottom: 32px
    }

    .services__included-list {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

@media screen and (max-width: 480px) {
    .services {
        padding:40px 0
    }

    .services__container {
        padding: 0 16px
    }

    .services__title {
        font-size: 24px
    }

    .services__included {
        padding: 24px 20px
    }

    .services__included-title {
        font-size: 20px;
        margin-bottom: 24px
    }

    .services__included-item {
        font-size: 14px
    }
}

.detailed-services {
    background: #f8f8f8
}

.detailed-services__header {
    padding: 20px 0 10px;
    text-align: center
}

.detailed-services__header-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.detailed-services__main-title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 auto 24px;
    text-align: center;
    letter-spacing: -.5px
}

.detailed-services__subtitle {
    color: #666;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    max-width: 900px;
    margin: 0 auto
}

.detailed-service {
    padding: 15px 0;
    opacity: 0;
    transform: translateY(40px);
    transition: all .8s ease
}

.detailed-service--visible {
    opacity: 1;
    transform: translateY(0)
}

.detailed-service__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px
}

.detailed-service__wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: center
}

.detailed-service--reverse .detailed-service__wrapper {
    direction: rtl
}

.detailed-service--reverse .detailed-service__content,.detailed-service--reverse .detailed-service__image {
    direction: ltr
}

.detailed-service__content {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.detailed-service__number {
    font-size: 60px;
    font-weight: 300;
    color: #ff8156;
    line-height: 1;
    letter-spacing: -2px;
    margin-bottom: -8px
}

.detailed-service__title {
    color: #1a1a1a;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0;
    letter-spacing: -.5px
}

.detailed-service__description {
    color: #666;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    margin: 0
}

.detailed-service__features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px
}

.detailed-service__features li {
    color: #333;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
    padding-left: 20px;
    position: relative
}

.detailed-service__features li:before {
    content: "";
    position: absolute;
    left: 0;
    top: .35em;
    width: 8px;
    height: 8px;
    background: #ff8156;
    border-radius: 50%
}

.detailed-service__image {
    width: 100%;
    height: 200px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 40px #0000001a
}

.detailed-service__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

@media screen and (max-width: 991px) {
    .detailed-services__header {
        padding:80px 0 60px
    }

    .detailed-services__header-container {
        padding: 0 32px
    }

    .detailed-services__main-title {
        font-size: 32px
    }

    .detailed-services__subtitle {
        font-size: 18px
    }
}

@media screen and (max-width: 768px) {
    .detailed-services__header {
        padding:60px 0 40px
    }

    .detailed-services__header-container {
        padding: 0 24px
    }

    .detailed-services__main-title {
        font-size: 24px
    }

    .detailed-services__subtitle {
        font-size: 16px
    }
}

@media screen and (max-width: 480px) {
    .detailed-services__header {
        padding:40px 0 30px
    }

    .detailed-services__header-container {
        padding: 0 16px
    }

    .detailed-services__main-title {
        font-size: 24px
    }

    .detailed-services__subtitle {
        font-size: 14px
    }
}

@media screen and (max-width: 1200px) {
    .detailed-service__wrapper {
        gap:20px
    }

    .detailed-service__number {
        font-size: 50px
    }

    .detailed-service__title {
        font-size: 22px
    }
}

@media screen and (max-width: 991px) {
    .detailed-service {
        padding:12px 0
    }

    .detailed-service__container {
        padding: 0 32px
    }

    .detailed-service__wrapper {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .detailed-service--reverse .detailed-service__wrapper {
        direction: ltr
    }

    .detailed-service__number {
        font-size: 48px
    }

    .detailed-service__title {
        font-size: 20px
    }

    .detailed-service__image {
        height: 180px;
        order: -1
    }
}

@media screen and (max-width: 768px) {
    .detailed-service {
        padding:60px 0
    }

    .detailed-service__container {
        padding: 0 24px
    }

    .detailed-service__number {
        font-size: 80px
    }

    .detailed-service__title {
        font-size: 28px
    }

    .detailed-service__description {
        font-size: 16px
    }

    .detailed-service__features li {
        font-size: 15px
    }

    .detailed-service__image {
        height: 300px
    }
}

@media screen and (max-width: 480px) {
    .detailed-service {
        padding:40px 0
    }

    .detailed-service__container {
        padding: 0 16px
    }

    .detailed-service__number {
        font-size: 64px;
        margin-bottom: -10px
    }

    .detailed-service__title {
        font-size: 24px
    }

    .detailed-service__description {
        font-size: 14px
    }

    .detailed-service__features {
        gap: 12px
    }

    .detailed-service__features li {
        font-size: 14px;
        padding-left: 24px
    }

    .detailed-service__image {
        height: 250px
    }
}

@font-face {
    font-family: swiper-icons;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop:always}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper: before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper: before {
    width:100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,#00000080,#0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,.swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next {
    display: none!important
}

.swiper-button-prev svg,.swiper-button-next svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-prev svg,.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg)
}

.swiper-button-prev,.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev:after,.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none!important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.image-slider {
    overflow: hidden;
    padding: 20px 0
}

.image-slider__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    text-align: center;
    margin: 0 0 24px;
    letter-spacing: -.5px
}

.image-slider__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px 24px
}

.image-slider__wrapper {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 80px
}

.image-slider__swiper {
    overflow: visible
}

.image-slider__slide {
    position: relative;
    transition: transform .3s ease,opacity .3s ease
}

.image-slider__slide:not(.swiper-slide-active) {
    opacity: .6;
    transform: scale(.95)
}

.image-slider__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.image-slider__image {
    width: 100%;
    height: 720px;
    object-fit: cover;
    border-radius: 0;
    display: block
}

.image-slider__button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5
}

.image-slider__arrow {
    font-size: 28px;
    padding: 12px 18px;
    border: 1px solid #D0CACA;
    background: #fff;
    border-radius: 0;
    cursor: pointer;
    box-shadow: 0 2px 8px #0003;
    transition: all .2s ease;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    line-height: 1
}

.image-slider__arrow:hover {
    background-color: #ff8156;
    color: #fff;
    border-color: #ff8156
}

.image-slider__button--prev {
    left: 0
}

.image-slider__button--next {
    right: 0
}

@media screen and (max-width: 1399px) {
    .image-slider__wrapper {
        position:relative;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 80px
    }

    .image-slider__button--prev {
        left: 0
    }

    .image-slider__button--next {
        right: 0
    }
}

@media screen and (max-width: 1199px) {
    .image-slider__image {
        height:610px
    }
}

@media screen and (max-width: 991px) {
    .image-slider__title {
        font-size:32px
    }

    .image-slider__image {
        height: 458px
    }
}

@media screen and (max-width: 767px) {
    .image-slider__wrapper {
        padding:0 60px
    }

    .image-slider__title {
        font-size: 24px;
        margin: 0 auto 24px
    }

    .image-slider__image {
        height: 250px
    }

    .image-slider__arrow {
        width: 40px;
        height: 40px;
        font-size: 20px;
        padding: 8px
    }

    .image-slider__button--prev {
        left: 10px
    }

    .image-slider__button--next {
        right: 10px
    }
}

.excursion {
    background: #f8f8f8;
    padding: 20px 0;
    position: relative
}

.excursion__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px
}

.excursion__content {
    display: flex;
    flex-direction: column;
    gap: 60px
}

.excursion__header {
    text-align: center
}

.excursion__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 auto 24px;
    text-align: center;
    letter-spacing: -.5px
}

.excursion__subtitle {
    color: #666;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    max-width: 800px;
    margin: 0 auto
}

.excursion__benefits {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
    gap: 32px;
    margin-top: 20px
}

.excursion__benefit {
    display: flex;
    gap: 20px;
    padding: 32px;
    background: #f8f8f8;
    border-radius: 8px;
    border-left: 4px solid #FF8156;
    opacity: 0;
    transform: translateY(30px);
    transition: all .6s ease
}

.excursion__benefit--visible {
    opacity: 1;
    transform: translateY(0)
}

.excursion__benefit-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: #ff81561a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.excursion__benefit-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.excursion__benefit-title {
    color: #1a1a1a;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    margin: 0
}

.excursion__benefit-description {
    color: #666;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0
}

.excursion__cta {
    text-align: center;
    padding: 60px;
    background: #f8f8f8;
    border-radius: 8px;
    border: 1px solid #e0e0e0
}

.excursion__cta-text {
    color: #333;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto 32px
}

@media screen and (max-width: 991px) {
    .excursion {
        padding:80px 0
    }

    .excursion__container {
        padding: 0 32px
    }

    .excursion__title {
        font-size: 32px
    }

    .excursion__subtitle {
        font-size: 18px
    }

    .excursion__benefits {
        grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
        gap: 24px
    }

    .excursion__cta {
        padding: 40px
    }
}

@media screen and (max-width: 768px) {
    .excursion {
        padding:60px 0
    }

    .excursion__container {
        padding: 0 24px
    }

    .excursion__title {
        font-size: 24px
    }

    .excursion__subtitle {
        font-size: 16px
    }

    .excursion__content {
        gap: 40px
    }

    .excursion__benefits {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .excursion__benefit {
        padding: 24px
    }

    .excursion__cta {
        padding: 32px 24px
    }

    .excursion__cta-text {
        font-size: 16px;
        margin-bottom: 24px
    }
}

@media screen and (max-width: 480px) {
    .excursion {
        padding:40px 0
    }

    .excursion__container {
        padding: 0 16px
    }

    .excursion__title {
        font-size: 24px
    }

    .excursion__benefit {
        flex-direction: column;
        gap: 16px
    }

    .excursion__benefit-icon {
        width: 40px;
        height: 40px
    }

    .excursion__benefit-title {
        font-size: 18px
    }

    .excursion__benefit-description {
        font-size: 14px
    }

    .excursion__cta {
        padding: 24px 20px
    }

    .excursion__cta-text {
        font-size: 14px
    }
}

.main-technology {
    background: #fff;
    padding: 20px 0;
    position: relative
}

.main-technology__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px
}

.main-technology__main-title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 auto 24px;
    text-align: center;
    letter-spacing: -.5px
}

.main-technology__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center
}

.main-technology__left {
    position: relative
}

.main-technology__image-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: 0;
    overflow: hidden
}

.main-technology__image-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.main-technology__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.main-technology__advantages {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 0;
    background: linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.5) 70%,transparent 100%);
    padding: 40px 20px 20px
}

.main-technology__advantage {
    background: transparent;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: all .3s ease;
    border-right: 1px solid rgba(255,255,255,.2)
}

.main-technology__advantage:last-child {
    border-right: none
}

.main-technology__advantage:hover {
    background: #ff81561a;
    transform: translateY(-4px)
}

.main-technology__advantage-number {
    color: #ff8156;
    font-size: 42px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
    text-shadow: 0 2px 8px rgba(0,0,0,.3)
}

.main-technology__advantage-text {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    text-shadow: 0 1px 4px rgba(0,0,0,.5)
}

.main-technology__right {
    position: relative
}

.main-technology__video-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: 0;
    overflow: hidden;
    cursor: pointer;
    transition: transform .3s ease
}

.main-technology__video-wrapper:hover {
    transform: scale(1.02)
}

.main-technology__video-block-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.main-technology__video-preview {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.main-technology__play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    transition: transform .3s ease
}

.main-technology__video-wrapper:hover .main-technology__play-button {
    transform: translate(-50%,-50%) scale(1.1)
}

.main-technology__video-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.5) 70%,transparent 100%);
    padding: 40px 30px 30px;
    z-index: 1
}

.main-technology__video-description {
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
    text-align: left;
    text-shadow: 0 1px 4px rgba(0,0,0,.5)
}

.main-technology__features-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 0;
    margin-top: 60px;
    border: 1px dotted #e0e0e0
}

.main-technology__feature-item {
    padding: 24px;
    border-right: 1px dotted #e0e0e0;
    border-bottom: 1px dotted #e0e0e0;
    background: #fff;
    transition: background-color .2s ease
}

.main-technology__feature-item:nth-child(4n) {
    border-right: none
}

.main-technology__feature-item:nth-child(n+13) {
    border-bottom: none
}

.main-technology__feature-item:hover {
    background-color: #f8f8f8
}

.main-technology__feature-title {
    color: #1a1a1a;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 12px
}

.main-technology__feature-description {
    color: #666;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0
}

.video-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #000000f2;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px
}

.video-popup__body {
    position: relative;
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 16/9;
    background: #000;
    border-radius: 0
}

.video-popup__close {
    position: absolute;
    top: -50px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s;
    z-index: 10
}

.video-popup__close:hover {
    transform: scale(1.2)
}

.video-popup iframe {
    width: 100%;
    height: 100%;
    border-radius: 0
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .3s
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

@media screen and (max-width: 1200px) {
    .main-technology__advantage-number {
        font-size:36px
    }

    .main-technology__advantage-text {
        font-size: 12px
    }

    .main-technology__advantages {
        padding: 30px 16px 16px
    }

    .main-technology__advantage {
        padding: 14px 10px
    }
}

@media screen and (max-width: 991px) {
    .main-technology {
        padding:60px 0
    }

    .main-technology__container {
        padding: 0 32px
    }

    .main-technology__main-title {
        font-size: 32px;
        margin-bottom: 40px
    }

    .main-technology__content {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .main-technology__left,.main-technology__image-wrapper,.main-technology__image {
        height: auto
    }

    .main-technology__advantages {
        grid-template-columns: repeat(2,1fr);
        padding: 30px 16px 16px
    }

    .main-technology__advantage {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.2)
    }

    .main-technology__advantage:nth-child(odd) {
        border-right: 1px solid rgba(255,255,255,.2)
    }

    .main-technology__advantage:nth-last-child(-n+2) {
        border-bottom: none
    }

    .main-technology__advantage-number {
        font-size: 36px
    }

    .main-technology__video-description {
        font-size: 16px
    }

    .video-popup__close {
        top: -40px;
        font-size: 32px
    }

    .main-technology__features-grid {
        grid-template-columns: repeat(2,1fr);
        margin-top: 40px
    }

    .main-technology__feature-item:nth-child(4n) {
        border-right: 1px dotted #e0e0e0
    }

    .main-technology__feature-item:nth-child(2n) {
        border-right: none
    }

    .main-technology__feature-item:nth-child(n+13) {
        border-bottom: 1px dotted #e0e0e0
    }

    .main-technology__feature-item:nth-child(n+15) {
        border-bottom: none
    }
}

@media screen and (max-width: 640px) {
    .main-technology__container {
        padding:0 16px
    }

    .main-technology__main-title {
        font-size: 24px;
        margin-bottom: 32px
    }

    .main-technology__advantages {
        grid-template-columns: repeat(4,1fr);
        padding: 20px 8px 12px;
        gap: 0
    }

    .main-technology__advantage {
        padding: 10px 6px;
        border-right: 1px solid rgba(255,255,255,.2);
        border-bottom: none!important
    }

    .main-technology__advantage:last-child {
        border-right: none
    }

    .main-technology__advantage-number {
        font-size: 28px;
        margin-bottom: 4px
    }

    .main-technology__advantage-text {
        font-size: 10px;
        line-height: 1.2
    }

    .main-technology__video-description {
        font-size: 15px
    }

    .main-technology__play-button svg {
        width: 60px;
        height: 60px
    }

    .video-popup {
        padding: 10px
    }

    .video-popup__close {
        top: -35px;
        font-size: 28px
    }

    .main-technology__features-grid {
        grid-template-columns: 1fr;
        margin-top: 32px
    }

    .main-technology__feature-item {
        padding: 20px;
        border-right: none
    }

    .main-technology__feature-item:nth-child(2n) {
        border-right: none
    }

    .main-technology__feature-item:nth-child(n+13) {
        border-bottom: 1px dotted #e0e0e0
    }

    .main-technology__feature-item:last-child {
        border-bottom: none
    }

    .main-technology__feature-title {
        font-size: 16px;
        margin-bottom: 10px
    }

    .main-technology__feature-description {
        font-size: 13px
    }
}

.comparison {
    background: #fff;
    padding: 20px 0;
    position: relative;
    opacity: 0;
    transform: translateY(40px);
    transition: all .8s ease
}

.comparison--visible {
    opacity: 1;
    transform: translateY(0)
}

.comparison__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px
}

.comparison__header {
    text-align: center;
    margin-bottom: 80px
}

.comparison__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 auto 24px;
    text-align: center;
    letter-spacing: -.5px
}

.comparison__subtitle {
    color: #666;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0
}

.comparison__table {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 60px
}

.comparison__table-header {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    background: #1a1a1a;
    color: #fff
}

.comparison__parameter {
    padding: 24px;
    font-weight: 500;
    display: flex;
    align-items: center
}

.comparison__technology {
    padding: 24px;
    text-align: center;
    border-left: 1px solid #333
}

.comparison__tech-logo {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px
}

.comparison__tech-desc {
    font-size: 14px;
    opacity: .8
}

.comparison__technology--naturi {
    background: #ff81561a;
    border-left-color: #ff8156
}

.comparison__technology--naturi .comparison__tech-logo {
    color: #ff8156
}

.comparison__technology--glulam,.comparison__technology--frame {
    background: #0000004d
}

.comparison__table-body {
    background: #fff
}

.comparison__row {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    border-bottom: 1px solid #f0f0f0;
    opacity: 0;
    transform: translateY(20px);
    transition: all .6s ease
}

.comparison__row:last-child {
    border-bottom: none
}

.comparison__row--visible {
    opacity: 1;
    transform: translateY(0)
}

.comparison__parameter--name {
    background: #f8f8f8;
    font-weight: 600;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px
}

.comparison__parameter-desc {
    font-size: 12px;
    color: #666;
    font-weight: 400;
    line-height: 1.4
}

.comparison__value {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border-left: 1px solid #f0f0f0
}

.comparison__value--naturi {
    background: #ff81560d
}

.comparison__value-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    color: #1a1a1a
}

.comparison__rating-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.comparison__rating {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: .5px;
    display: inline-block;
    flex-shrink: 0
}

.comparison__points {
    font-size: 13px;
    font-weight: 600;
    color: #666;
    white-space: nowrap
}

.comparison__rating--excellent {
    background: #4caf501a;
    color: #4caf50
}

.comparison__rating--good {
    background: #ffc1071a;
    color: #ffc107
}

.comparison__rating--average {
    background: #ff98001a;
    color: #ff9800
}

.comparison__rating--poor {
    background: #f443361a;
    color: #f44336
}

.comparison__totals {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    border-top: 3px solid #FF8156;
    margin-top: 0;
    background: #f8f8f8
}

.comparison__total-label {
    padding: 24px;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    display: flex;
    align-items: center
}

.comparison__total-value {
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border-left: 1px solid #e0e0e0
}

.comparison__total-value strong {
    font-weight: 700
}

.comparison__total-value--naturi {
    background: #4caf501a;
    color: #4caf50
}

.comparison__total-value--glulam {
    background: #f443361a;
    color: #f44336
}

.comparison__total-value--frame {
    background: #ffc1071a;
    color: #ffc107
}

.comparison__mobile {
    display: none
}

.comparison__mobile-item {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 12px;
    overflow: hidden
}

.comparison__mobile-header {
    padding: 20px 24px;
    background: #f8f8f8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    transition: background-color .3s ease
}

.comparison__mobile-header:hover {
    background: #f0f0f0
}

.comparison__mobile-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    color: #1a1a1a
}

.comparison__mobile-arrow {
    color: #666;
    transition: transform .3s ease
}

.comparison__mobile-item--active .comparison__mobile-arrow {
    transform: rotate(180deg)
}

.comparison__mobile-content {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: all .3s ease
}

.comparison__mobile-item--active .comparison__mobile-content {
    padding: 24px;
    max-height: 500px
}

.comparison__mobile-techs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px
}

.comparison__mobile-tech {
    padding: 16px;
    border-radius: 6px;
    border: 1px solid #e0e0e0
}

.comparison__mobile-tech--naturi {
    background: #ff81560d;
    border-color: #ff815633
}

.comparison__mobile-tech-name {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #1a1a1a
}

.comparison__mobile-tech--naturi .comparison__mobile-tech-name {
    color: #ff8156
}

.comparison__mobile-tech-value {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
    color: #1a1a1a
}

.comparison__mobile-rating-wrapper {
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.comparison__mobile-rating {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: .5px;
    display: inline-block;
    flex-shrink: 0
}

.comparison__mobile-points {
    font-size: 12px;
    font-weight: 600;
    color: #666;
    white-space: nowrap
}

.comparison__mobile-rating--excellent {
    background: #4caf501a;
    color: #4caf50
}

.comparison__mobile-rating--good {
    background: #ffc1071a;
    color: #ffc107
}

.comparison__mobile-rating--average {
    background: #ff98001a;
    color: #ff9800
}

.comparison__mobile-rating--poor {
    background: #f443361a;
    color: #f44336
}

.comparison__mobile-totals {
    margin-top: 24px;
    padding: 20px;
    background: #f8f8f8;
    border-radius: 8px;
    border: 2px solid #FF8156
}

.comparison__mobile-totals-title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 16px;
    text-align: center
}

.comparison__mobile-totals-list {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.comparison__mobile-total-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-radius: 6px;
    font-size: 14px
}

.comparison__mobile-total-item strong {
    font-size: 16px;
    font-weight: 700
}

.comparison__mobile-total-item--naturi {
    background: #4caf5026;
    color: #1a1a1a
}

.comparison__mobile-total-item--naturi strong {
    color: #4caf50
}

.comparison__mobile-total-item--glulam {
    background: #f443361a;
    color: #1a1a1a
}

.comparison__mobile-total-item--glulam strong {
    color: #f44336
}

.comparison__mobile-total-item--frame {
    background: #ffc1071a;
    color: #1a1a1a
}

.comparison__mobile-total-item--frame strong {
    color: #ffc107
}

.comparison__mobile-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    padding-top: 16px;
    border-top: 1px solid #f0f0f0
}

.comparison__legend {
    background: #f8f8f8;
    padding: 24px;
    border-radius: 8px;
    border: 1px solid #e0e0e0
}

.comparison__legend-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
    color: #1a1a1a
}

.comparison__legend-items {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap: 12px
}

.comparison__legend-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: #666
}

.comparison__legend-color {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    flex-shrink: 0
}

.comparison__legend-color--excellent {
    background: #4caf50
}

.comparison__legend-color--good {
    background: #ffc107
}

.comparison__legend-color--average {
    background: #ff9800
}

.comparison__legend-color--poor {
    background: #f44336
}

@media screen and (max-width: 1200px) {
    .comparison__table {
        display:none
    }

    .comparison__mobile {
        display: block
    }
}

@media screen and (max-width: 991px) {
    .comparison {
        padding:80px 0
    }

    .comparison__container {
        padding: 0 32px
    }

    .comparison__title {
        font-size: 32px
    }

    .comparison__header {
        margin-bottom: 60px
    }
}

@media screen and (max-width: 640px) {
    .comparison {
        padding:60px 0
    }

    .comparison__container {
        padding: 0 24px
    }

    .comparison__title {
        font-size: 24px;
        margin-bottom: 24px
    }

    .comparison__subtitle {
        font-size: 16px
    }

    .comparison__header {
        margin-bottom: 40px
    }

    .comparison__mobile-techs {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .comparison__legend-items {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 480px) {
    .comparison__mobile-header {
        padding:16px 20px
    }

    .comparison__mobile-item--active .comparison__mobile-content {
        padding: 20px
    }

    .comparison__mobile-tech {
        padding: 12px
    }
}

.consultation {
    padding: 20px 0;
    border-top: 2px solid #FF8156;
    background: #f8f8f8;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px
}

.consultation__container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px
}

.consultation__description {
    color: #000;
    text-align: center;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    max-width: 844px;
    width: 100%
}

.consultation__button {
    display: flex;
    padding: 14px 28px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    border: 1px solid #FF8156;
    background: #ff8156;
    transition: .2s;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    margin: 0
}

.consultation__button:hover {
    background: #fff;
    color: #ff8156
}

@media screen and (max-width: 991px) {
    .consultation__container {
        padding:0 32px
    }

    .consultation__description {
        font-size: 32px;
        line-height: 40px;
        max-width: 700px
    }
}

@media screen and (max-width: 767px) {
    .consultation__container {
        padding:0 24px
    }

    .consultation__description {
        font-size: 24px;
        line-height: 30px;
        max-width: 100%
    }
}

@media screen and (max-width: 567px) {
    .consultation__button {
        padding:11px 24px;
        font-size: 16px;
        line-height: 22px
    }
}

.faq {
    background: #fff;
    padding: 20px 0;
    border-top: 1px solid #f0f0f0
}

.faq__container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 32px
}

.faq__header {
    text-align: center;
    margin-bottom: 60px
}

.faq__title {
    color: #1a1a1a;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.2;
    margin: 0 auto 24px;
    text-align: center;
    letter-spacing: -.5px
}

.faq__list {
    display: flex;
    flex-direction: column;
    gap: 0
}

.faq__item {
    border-bottom: 1px solid #e0e0e0;
    transition: all .3s ease
}

.faq__item:first-child {
    border-top: 1px solid #e0e0e0
}

.faq__item--active {
    background: #f8f8f8
}

.faq__question {
    width: 100%;
    padding: 28px 0;
    background: transparent;
    border: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    transition: all .3s ease
}

.faq__question:hover {
    color: #ff8156
}

.faq__question-text {
    color: #1a1a1a;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    flex: 1
}

.faq__item--active .faq__question-text {
    color: #ff8156;
    font-weight: 500
}

.faq__icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    transition: all .3s ease;
    flex-shrink: 0
}

.faq__item--active .faq__icon {
    transform: rotate(180deg);
    color: #ff8156
}

.faq__answer {
    overflow: hidden
}

.faq-answer-enter-active,.faq-answer-leave-active {
    transition: all .3s ease
}

.faq-answer-enter-from,.faq-answer-leave-to {
    opacity: 0;
    max-height: 0
}

.faq-answer-enter-to,.faq-answer-leave-from {
    opacity: 1;
    max-height: 1000px
}

.faq__answer-content {
    padding: 0 0 28px;
    color: #666;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7
}

.faq__answer-content p {
    margin: 0 0 16px
}

.faq__answer-content p:last-child {
    margin-bottom: 0
}

@media screen and (max-width: 991px) {
    .faq {
        padding:30px 0
    }

    .faq__container {
        padding: 0 32px
    }

    .faq__title {
        font-size: 32px
    }

    .faq__header {
        margin-bottom: 40px
    }

    .faq__question {
        padding: 24px 0
    }

    .faq__question-text {
        font-size: 18px
    }
}

@media screen and (max-width: 640px) {
    .faq {
        padding:30px 0
    }

    .faq__container {
        padding: 0 24px
    }

    .faq__title {
        font-size: 24px;
        margin-bottom: 24px
    }

    .faq__header {
        margin-bottom: 32px
    }

    .faq__question {
        padding: 20px 0;
        gap: 16px
    }

    .faq__question-text {
        font-size: 16px
    }

    .faq__icon {
        width: 20px;
        height: 20px
    }

    .faq__answer-content {
        padding: 0 0 20px;
        font-size: 15px
    }
}

@media screen and (max-width: 480px) {
    .faq__container {
        padding:0 16px
    }

    .faq__title {
        font-size: 24px
    }

    .faq__question {
        padding: 18px 0
    }

    .faq__question-text {
        font-size: 15px
    }
}

main {
    flex: 1 0 auto;
    margin-top: 0
}

main {
    flex: 1 0 auto;
    margin-top: 0
}

main {
    flex: 1 0 auto;
    margin-top: 0
}

main {
    flex: 1 0 auto;
    margin-top: 0
}

main {
    flex: 1 0 auto;
    margin-top: 0
}

.gallery-page__inner {
    max-width: 1600px;
    margin: 0 auto
}

@media screen and (max-width: 1600px) {
    .gallery-page__inner {
        max-width:calc(100% - 96px);
        margin: 0 48px
    }
}

@media screen and (max-width: 991px) {
    .gallery-page__inner {
        max-width:calc(100% - 64px);
        margin: 0 32px
    }
}

@media screen and (max-width: 767px) {
    .gallery-page__inner {
        max-width:calc(100% - 32px);
        margin: 0 16px
    }
}

.gallery-section {
    margin-bottom: 48px
}

.gallery-section__header {
    margin-bottom: 16px
}

.gallery-section__title {
    color: #251e1e;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    margin: 46px 0 32px
}

@media (max-width: 1199px) {
    .gallery-section__title {
        font-size:32px;
        line-height: 40px;
        margin: 36px auto 32px
    }
}

@media (max-width: 767px) {
    .gallery-section__title {
        font-size:24px;
        line-height: 30px;
        margin: 24px auto
    }
}

.gallery-section__grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px
}

@media (max-width: 1099px) {
    .gallery-section__grid {
        grid-template-columns:repeat(2,1fr)
    }
}

@media (max-width: 767px) {
    .gallery-section__grid {
        grid-template-columns:1fr
    }
}

.gallery-card {
    position: relative;
    display: block
}

.gallery-card__thumb {
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer
}

.gallery-card__yandex-block {
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: auto
}

.gallery-card__skeleton {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg,#eee 25%,#f5f5f5 37%,#eee 63%);
    background-size: 400% 100%;
    animation: gallery-skel-shimmer-fdef192d 1.1s linear infinite
}

@keyframes gallery-skel-shimmer-fdef192d {
    0% {
        background-position: 100% 0
    }

    to {
        background-position: 0 0
    }
}

.gallery-card__img {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease,opacity .4s ease,filter .4s ease
}

.gallery-card--loading .gallery-card__img {
    opacity: 0;
    filter: blur(8px);
    transform: scale(1.02)
}

.gallery-card--loaded .gallery-card__img {
    opacity: 1;
    filter: none;
    transform: none
}

.gallery-card--loaded .gallery-card__skeleton,.gallery-card--error .gallery-card__skeleton {
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease,visibility .2s step-end
}

.gallery-card__overlay {
    position: absolute;
    inset: 0;
    background: #0000008c;
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
    z-index: 2
}

.gallery-card__title {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 16px;
    margin: 0;
    font-size: 26px;
    line-height: 1.2;
    color: #f28058;
    text-align: left;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .35s ease,transform .35s ease;
    z-index: 3
}

@media (max-width: 1099px) {
    .gallery-card__title {
        font-size:24px
    }
}

@media (max-width: 767px) {
    .gallery-card__title {
        font-size:18px
    }
}

.gallery-card--video .gallery-card__play {
    position: absolute;
    right: 16px;
    bottom: 16px;
    min-width: 48px;
    height: 48px;
    padding-left: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ff8156;
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    border-radius: 0;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .35s ease,transform .35s ease;
    z-index: 3
}

.gallery-card--video .gallery-card__title {
    width: 70%
}

.gallery-card:hover .gallery-card__overlay,.gallery-card:focus-within .gallery-card__overlay {
    opacity: 1
}

.gallery-card:hover .gallery-card__title,.gallery-card:focus-within .gallery-card__title {
    opacity: 1;
    transform: translateY(0)
}

.gallery-card:hover .gallery-card__img,.gallery-card:focus-within .gallery-card__img {
    transform: scale(1.03)
}

.gallery-card--video:hover .gallery-card__play,.gallery-card--video:focus-within .gallery-card__play {
    opacity: 1;
    transform: translateY(0)
}

.gallery-section__actions {
    display: flex;
    justify-content: center;
    margin-top: 48px
}

.gallery-section__load-more {
    padding: 14px 28px;
    border-radius: 0;
    border: 1px solid #D0CACA;
    background: #fff;
    cursor: pointer;
    color: #251e1e;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    transition: .2s
}

.gallery-section__load-more:hover {
    color: #251e1e;
    border: 1px solid #D0CACA
}

.gallery-modal {
    position: fixed;
    inset: 0;
    background: #000000bf;
    display: grid;
    place-items: center;
    z-index: 1000;
    padding: 16px
}

.gallery-modal__content {
    position: relative;
    max-width: min(1200px,100%);
    width: 100%
}

.gallery-modal__content--video {
    aspect-ratio: 16/9
}

.gallery-modal__close {
    position: absolute;
    top: -40px;
    right: 0;
    background: #fff;
    border: none;
    border-radius: 20px;
    width: 36px;
    height: 36px;
    cursor: pointer
}

.gallery-modal__figure {
    margin: 0
}

.gallery-modal__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0
}

.gallery-modal__caption {
    margin-top: 8px;
    color: #fff;
    text-align: center
}

.gallery-modal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #ffffffe6;
    border: none;
    width: 44px;
    height: 44px;
    border-radius: 22px;
    cursor: pointer
}

.gallery-modal__nav--prev {
    left: -52px
}

.gallery-modal__nav--next {
    right: -52px
}

.gallery-modal__frame-wrap,.gallery-modal__frame {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0
}

.breadcrumbs {
    padding: 16px 32px
}

.breadcrumbs__list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 34px
}

.breadcrumbs__item {
    color: #756d6d;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    margin: 0;
    padding: 0
}

.breadcrumbs__item span {
    opacity: .5
}

.breadcrumbs__link {
    position: relative;
    transition: .2s;
    color: inherit;
    text-decoration: none
}

.breadcrumbs__link:hover {
    color: #ff8156
}

.breadcrumbs__link:after {
    content: "";
    position: absolute;
    top: 50%;
    right: -27px;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.5'%3e%3cpath%20d='M7.00095%2011.9277L9.94025%208.9883L7.00095%206.049C6.70802%205.7561%206.70802%205.2812%207.00095%204.9883C7.29385%204.6954%207.76865%204.6954%208.06155%204.9883L11.5312%208.458C11.6718%208.5987%2011.7509%208.7894%2011.7509%208.9883C11.7509%209.1872%2011.6718%209.378%2011.5312%209.5187L8.06155%2012.9883C7.76865%2013.2812%207.29385%2013.2812%207.00095%2012.9883C6.70802%2012.6954%206.70802%2012.2206%207.00095%2011.9277Z'%20fill='%23756D6D'/%3e%3c/g%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: .5
}

@media screen and (max-width: 767px) {
    .breadcrumbs {
        padding:12px 16px
    }
}

@media (prefers-reduced-motion: reduce) {
    .gallery-card__img,.gallery-card__overlay,.gallery-card__title,.gallery-card__play,.gallery-card__skeleton {
        transition: none;
        animation: none
    }
}

.product-card__top-info {
    position: absolute;
    top: 24px;
    left: 24px;
    right: 24px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.product-card__specs {
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center
}

.product-card__description:not(:last-of-type) {
    border-right: 1px solid rgba(255,255,255,.6);
    padding-right: 20px
}

.product-card__description:not(:first-of-type) {
    padding-left: 20px
}

.product-card {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #111;
    min-height: 100%
}

.product-card:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,rgba(0,0,0,.7) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.85) 100%);
    z-index: 2;
    pointer-events: none
}

@media (max-width: 991px) {
    .product-card {
        width:100%;
        margin: 0
    }
}

@media (max-width: 767px) {
    .product-card {
        width:calc(100% - 32px);
        margin: 0 16px
    }
}

.product-card__link {
    display: block;
    position: relative;
    text-decoration: none;
    color: inherit
}

.product-card__yandex-block {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.product-card__image,.product-card__placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover
}

.product-card__placeholder {
    background: #2a2a2a;
    color: #fff;
    font-size: 42px;
    font-weight: 700;
    display: grid;
    place-items: center
}

.product-card__title {
    color: #fff;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 12px;
    text-shadow: 0 2px 8px rgba(0,0,0,.5)
}

.product-card__description {
    margin: 0;
    opacity: .9;
    display: flex;
    flex-direction: column
}

.product-card__description strong {
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px
}

.product-card__description span {
    color: #fff;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 26px
}

.product-card__description--price strong {
    color: #ff8156
}

.product-card__description--price span {
    color: #ff8156;
    font-size: 22px;
    font-weight: 700
}

@media screen and (max-width: 991px) {
    .product-card__title {
        font-size:20px
    }

    .product-card__description span {
        font-size: 14px;
        line-height: 20px
    }

    .product-card__description:not(:last-of-type) {
        padding-right: 12px
    }

    .product-card__description:not(:first-of-type) {
        padding-left: 12px
    }

    .product-card__description--price span {
        font-size: 16px
    }
}

.product-card__link:hover .product-card__image,.product-card__link:hover .product-card__placeholder {
    filter: brightness(.95);
    transition: filter .2s ease
}

.projects-slogan {
    background-image: url(/assets/projects-slogan-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 128px 0
}

.projects-slogan__title {
    color: #fff;
    text-align: center;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    max-width: 960px;
    width: 100%
}

.projects-slogan__description {
    color: #fff;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 32px;
    max-width: 960px;
    width: 100%
}

@media screen and (max-width: 991px) {
    .projects-slogan {
        padding:64px 32px
    }

    .projects-slogan__title {
        font-size: 32px;
        line-height: 42px
    }

    .projects-slogan__description {
        font-size: 18px;
        line-height: 28px
    }
}

@media screen and (max-width: 767px) {
    .projects-slogan {
        padding:32px 16px
    }

    .projects-slogan__title {
        font-size: 24px;
        line-height: 30px;
        text-align: left
    }

    .projects-slogan__description {
        font-size: 16px;
        line-height: 24px;
        text-align: left
    }
}

.plan-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.plan-modal__backdrop {
    position: absolute;
    inset: 0;
    background: #00000080
}

.plan-modal__dialog {
    position: relative;
    z-index: 1;
    max-width: min(92vw,1100px);
    margin: 5vh auto;
    background: #fff;
    border-radius: 0;
    padding: 0;
    border: 10px solid #FF8156
}

.plan-modal__close {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 24px;
    line-height: 1;
    background: transparent;
    border: 0;
    color: #ff8156;
    cursor: pointer;
    z-index: 10
}

.plan-modal__content {
    display: flex;
    align-items: center;
    justify-content: center;
    max-height: 80vh;
    overflow: auto;
    padding: 20px
}

.plan-modal__image {
    max-width: 100%;
    height: auto;
    display: block
}

.plan-modal__empty {
    color: #333;
    padding: 32px;
    text-align: center
}

.products {
    margin: 62px auto;
    max-width: 1600px;
    width: 100%
}

.products__title {
    color: #251e1e;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    margin: 48px 0
}

.products__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 1600px;
    width: 100%;
    margin: 0 auto
}

.products__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative
}

.main-slider__button-wrapper {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translate(-50%);
    z-index: 9;
    width: calc(100% - 48px);
    max-width: 630px;
    display: flex;
    flex-direction: row;
    gap: 20px;
    justify-content: center
}

.products__btn {
    display: flex;
    padding: 11px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 1px solid #FF8156;
    background: #ff8156;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    min-width: 240px;
    text-decoration: none;
    max-height: 48px;
    transition: .2s;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

.product-slider__plan-icon {
    margin-top: -2px;
    min-width: 20px
}

.products__btn--ghost {
    background: #fff;
    color: #868686;
    border: 1px solid #FFFFFF
}

.main-slider__button-wrapper .contact-launch__button:hover {
    background: #fff;
    color: #ff8156;
    border: 1px solid #FF8156
}

@media (max-width: 767px) {
    .main-slider__button-wrapper {
        flex-direction:column
    }

    .products__btn {
        width: 100%;
        min-width: 0
    }
}

@media (max-width: 1650px) {
    .products__title {
        max-width:1300px;
        margin: 0 auto 48px
    }

    .products {
        margin: 40px auto
    }

    .products__list {
        max-width: 1300px
    }
}

@media (max-width: 1350px) {
    .products__title {
        max-width:900px;
        margin: 48px auto
    }

    .products__list {
        max-width: 900px
    }
}

@media (max-width: 991px) {
    .products__title {
        font-size:32px;
        line-height: 40px;
        margin: 22px auto 32px
    }

    .products {
        margin: 30px auto
    }

    .products__list {
        max-width: 900px;
        margin: 0 20px;
        width: calc(100% - 40px)
    }
}

@media (max-width: 767px) {
    .products__title {
        font-size:24px;
        line-height: 30px;
        margin: 24px 16px
    }

    .products__list {
        grid-template-columns: 1fr;
        gap: 24px;
        margin: 0;
        width: 100%
    }
}

@media (max-width: 567px) {
    .products {
        margin:20px auto
    }
}

.products__more {
    margin-top: 1rem;
    width: 100%;
    display: block;
    background: #ff8156;
    color: #fff;
    border: none;
    padding: .8rem 1.2rem;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 700
}

.products__more:hover {
    filter: brightness(1.05)
}

.breadcrumbs {
    padding: 16px 32px
}

.breadcrumbs__list {
    display: flex;
    align-items: center;
    gap: 34px;
    list-style: none;
    margin: 0;
    padding: 0
}

.breadcrumbs__item {
    color: #756d6d;
    font-size: 14px;
    line-height: 20px
}

.breadcrumbs__item span {
    opacity: .5
}

.breadcrumbs__link {
    position: relative;
    transition: .2s
}

.breadcrumbs__link:hover {
    color: #ff8156
}

.breadcrumbs__link:after {
    content: "";
    right: -27px;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.5'%3e%3cpath%20d='M7.00095%2011.9277L9.94025%208.9883L7.00095%206.049C6.70802%205.7561%206.70802%205.2812%207.00095%204.9883C7.29385%204.6954%207.76865%204.6954%208.06155%204.9883L11.5312%208.458C11.6718%208.5987%2011.7509%208.7894%2011.7509%208.9883C11.7509%209.1872%2011.6718%209.378%2011.5312%209.5187L8.06155%2012.9883C7.76865%2013.2812%207.29385%2013.2812%207.00095%2012.9883C6.70802%2012.6954%206.70802%2012.2206%207.00095%2011.9277Z'%20fill='%23756D6D'/%3e%3c/g%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: .5
}

@media (max-width: 767px) {
    .breadcrumbs {
        padding:12px 16px
    }
}

@media (max-width: 1350px) {
    .main-slider__button-wrapper {
        flex-direction:column;
        gap: 15px;
        max-width: 200px
    }
}

@media (max-width: 767px) {
    .main-slider__button-wrapper {
        flex-direction:column;
        gap: 10px;
        max-width: 160px;
        bottom: 20px
    }

    .products__btn {
        max-height: 38px
    }
}

@media (max-width: 567px) {
    .products__actions a {
        display:none
    }

    .main-slider__button-wrapper {
        flex-direction: column;
        gap: 10px;
        max-width: 130px;
        bottom: 50px;
        left: 24px;
        transform: none
    }

    .products__btn {
        max-height: 30px;
        max-width: 130px
    }
}

main {
    flex: 1 0 auto;
    margin-top: 68px
}

@media screen and (max-width: 567px) {
    main {
        margin-top:60px
    }
}

.technology-header {
    background-image: url(/assets/technology-header.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 560px
}

.breadcrumbs {
    padding: 16px 32px
}

.breadcrumbs__list {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 34px
}

.breadcrumbs__item {
    color: #fff;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    margin: 0;
    padding: 0
}

.breadcrumbs__item span {
    opacity: .5
}

.breadcrumbs__link {
    position: relative;
    transition: .2s
}

.breadcrumbs__link:hover {
    color: #ff8156
}

.breadcrumbs__link:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -24px;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-image: url("data:image/svg+xml,%3csvg%20width='6'%20height='10'%20viewBox='0%200%206%2010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.00095%207.92768L3.94025%204.9883L1.00095%202.049C0.708017%201.7561%200.708017%201.2812%201.00095%200.9883C1.29385%200.6954%201.76865%200.6954%202.06155%200.9883L5.53125%204.458C5.67185%204.5987%205.75095%204.7894%205.75095%204.9883C5.75095%205.1872%205.67185%205.378%205.53125%205.5187L2.06155%208.98834C1.76865%209.28123%201.29385%209.28123%201.00095%208.98834C0.708017%208.69544%200.708017%208.22057%201.00095%207.92768Z'%20fill='white'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: .5
}

.technology-header__wrapper {
    margin-left: 160px;
    margin-top: 48px;
    max-width: 580px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 24px
}

.technology-header__title {
    color: #fff;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    margin: 0;
    padding: 0
}

.technology-header__description {
    color: #fff;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    margin: 0;
    padding: 0
}

.technology-header__button {
    max-width: 236px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 14px 20px;
    background-color: #ff8156;
    border-radius: 0;
    text-decoration: none;
    transition: .2s
}

.technology-header__button:hover {
    background-color: #fff
}

.technology-header__button:hover span {
    color: #ff8156
}

.technology-header__button:hover svg path {
    fill: #ff8156
}

.technology-header__button svg {
    max-width: 24px;
    width: 100%;
    min-height: 24px
}

.technology-header__button span {
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    margin: 0;
    padding: 0
}

.video-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #000c;
    display: grid;
    place-items: center;
    padding: 20px
}

.video-popup__body {
    position: relative;
    width: 100%;
    max-width: 960px;
    aspect-ratio: 16 / 9;
    background: #000
}

.video-popup__close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    line-height: 1
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .3s ease
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

@media screen and (max-width: 1440px) {
    .technology-header__wrapper {
        margin-left:48px
    }
}

@media screen and (max-width: 991px) {
    .technology-header__wrapper {
        margin-left:32px;
        margin-top: 18px;
        gap: 16px
    }

    .technology-header {
        min-height: 420px
    }

    .technology-header__title {
        font-size: 32px;
        line-height: 40px
    }

    .technology-header__description {
        font-size: 16px;
        line-height: 24px
    }
}

@media screen and (max-width: 767px) {
    .breadcrumbs {
        padding:12px 16px
    }

    .technology-header__wrapper {
        margin-left: 16px;
        margin-right: 16px;
        margin-top: 16px;
        gap: 8px;
        max-width: calc(100% - 32px);
        padding: 0 0 32px
    }

    .technology-header {
        min-height: 368px
    }

    .technology-header__title {
        font-size: 24px;
        line-height: 30px
    }

    .technology-header__description {
        font-size: 14px;
        line-height: 20px
    }

    .technology-header__button {
        margin-top: 20px
    }
}

@media screen and (max-width: 567px) {
    .technology-header__button span {
        font-size:16px;
        line-height: 22px
    }
}

.technology-carts {
    margin: 60px 160px;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.technology-carts__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px
}

.technology-carts__item {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px
}

.technology-carts__item svg {
    max-width: 52px;
    width: 100%;
    min-height: 52px
}

.technology-carts__item h4 {
    color: #251e1e;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 30px;
    margin: 0;
    padding: 0
}

.technology-carts__item p {
    color: #756d6d;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px
}

@media screen and (max-width: 1439px) {
    .technology-carts {
        margin:60px 48px
    }
}

@media screen and (max-width: 991px) {
    .technology-carts {
        margin:50px 32px
    }
}

@media screen and (max-width: 767px) {
    .technology-carts {
        margin:40px 16px
    }

    .technology-carts__list {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 32px
    }

    .technology-carts__item svg {
        max-width: 32px;
        min-height: 32px
    }

    .technology-carts__item p {
        font-size: 14px;
        line-height: 20px
    }
}

.technology-differences {
    margin: 60px 160px
}

@media screen and (max-width: 1439px) {
    .technology-differences {
        margin:60px 48px
    }
}

@media screen and (max-width: 991px) {
    .technology-differences {
        margin:50px 32px
    }
}

@media screen and (max-width: 767px) {
    .technology-differences {
        margin:40px 0
    }
}

.technology-differences__inner {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 130px
}

.technology-differences__image {
    max-width: 533px;
    width: 100%;
    object-fit: contain
}

.technology-differences__description {
    color: #000;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    margin: 0;
    padding: 0
}

.technology-differences__description-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 30px;
    max-width: 800px
}

.technology-differences__list {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.technology-differences__item {
    position: relative;
    margin-left: 32px
}

.technology-differences__item:before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 10.8571L8.90909 20L21 4' stroke='%23FF8156' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: -32px;
    top: 0
}

.technology-differences__item {
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px
}

@media screen and (max-width: 1439px) {
    .technology-differences__inner {
        gap:48px
    }
}

@media screen and (max-width: 991px) {
    .technology-differences__description {
        font-size:32px;
        line-height: 40px
    }
}

@media screen and (max-width: 767px) {
    .technology-differences__description {
        font-size:20px;
        line-height: 26px;
        margin: 0 16px
    }

    .technology-differences__list {
        margin: 0 16px
    }

    .technology-differences__item {
        font-size: 14px;
        line-height: 20px
    }

    .technology-differences__inner {
        display: flex;
        flex-direction: column;
        gap: 40px
    }

    .technology-differences__image-wrapper {
        width: 100%
    }

    .technology-differences__image {
        object-fit: cover;
        max-width: 100%;
        min-width: 100%;
        width: 100%;
        max-height: 350px
    }
}

.tech-benefits {
    background: #fff;
    padding: 40px 0
}

.tech-benefits__container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 60px
}

.tech-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 24px
}

.tech-benefits__card {
    background: #f8f8f8;
    padding: 32px 24px;
    border-radius: 8px;
    transition: all .3s ease
}

.tech-benefits__card:hover {
    background: #fff;
    box-shadow: 0 4px 20px #00000014;
    transform: translateY(-4px)
}

.tech-benefits__card-title {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 16px;
    line-height: 1.3
}

.tech-benefits__card-text {
    font-size: 15px;
    line-height: 1.6;
    color: #666;
    margin: 0
}

@media (max-width: 1280px) {
    .tech-benefits {
        padding:30px 0
    }

    .tech-benefits__container {
        padding: 0 40px
    }

    .tech-benefits__grid {
        grid-template-columns: repeat(3,1fr);
        gap: 20px
    }

    .tech-benefits__card {
        padding: 28px 20px
    }

    .tech-benefits__card-title {
        font-size: 18px;
        margin-bottom: 14px
    }

    .tech-benefits__card-text {
        font-size: 14px
    }
}

@media (max-width: 768px) {
    .tech-benefits {
        padding:30px 0
    }

    .tech-benefits__container {
        padding: 0 20px
    }

    .tech-benefits__grid {
        grid-template-columns: repeat(2,1fr);
        gap: 16px
    }

    .tech-benefits__card {
        padding: 24px 18px
    }

    .tech-benefits__card-title {
        font-size: 16px;
        margin-bottom: 12px
    }

    .tech-benefits__card-text {
        font-size: 13px
    }
}

@media (max-width: 480px) {
    .tech-benefits__grid {
        grid-template-columns:1fr
    }

    .tech-benefits__card {
        padding: 20px 16px
    }
}

main {
    flex: 1 0 auto;
    margin-top: 68px
}

@media screen and (max-width: 567px) {
    main {
        margin-top:60px
    }
}

main {
    flex: 1 0 auto;
    margin-top: 68px
}

@media screen and (max-width: 567px) {
    main {
        margin-top:60px
    }
}

.contacts__list {
    margin: 80px 0 0
}

@media screen and (max-width: 767px) {
    .contacts__list {
        margin:24px 0 0
    }
}

.contacts__wrapper {
    max-width: 1600px;
    margin: 0 auto
}

@media screen and (max-width: 1600px) {
    .contacts__wrapper {
        max-width:calc(100% - 96px);
        margin: 0 48px
    }
}

@media screen and (max-width: 991px) {
    .contacts__wrapper {
        max-width:calc(100% - 64px);
        margin: 0 32px
    }
}

@media screen and (max-width: 767px) {
    .contacts__wrapper {
        max-width:calc(100% - 32px);
        margin: 0 16px
    }
}

.contacts__map-frame {
    width: 100%;
    height: 400px;
    overflow: hidden
}

.contacts__iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block
}

.contacts__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 0;
    border-bottom: 1px solid #D0CACA
}

.contacts__item:first-child {
    border-top: 1px solid #D0CACA
}

.contacts__addr {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 20px;
    width: 100%;
    align-items: flex-start
}

.contacts__city {
    color: #251e1e;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 30px
}

.contacts__org {
    flex: 1 1 auto;
    color: #756d6d
}

.contacts__company {
    color: #756d6d;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px
}

.contacts__address {
    line-height: 1.4
}

.contacts__email,.contacts__phone {
    flex: 0 0 auto;
    max-width: 395px;
    width: 100%
}

@media screen and (max-width: 1599px) {
    .contacts__email,.contacts__phone {
        max-width:370px
    }
}

@media screen and (max-width: 1199px) {
    .contacts__email,.contacts__phone {
        max-width:100%
    }
}

@media screen and (max-width: 767px) {
    .contacts__email,.contacts__phone {
        max-width:100%
    }
}

.contacts__phone-link,.contacts__email-link {
    font-size: 18px;
    text-decoration: none
}

.contacts__phone-link {
    color: #000;
    transition: .2s
}

.contacts__phone-link:hover {
    color: #f37854
}

.contacts__email-link {
    color: #f37854;
    position: relative
}

.contacts__email-link:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    height: 1px;
    width: 0;
    background: #ff8156;
    transition: width .3s ease
}

.contacts__email-link:hover:before {
    width: 100%
}

@media (max-width: 1200px) {
    .contacts__item {
        flex-wrap:wrap
    }

    .contacts__org {
        flex-basis: 60%
    }

    .contacts__email,.contacts__phone {
        flex-basis: 35%
    }
}

@media (max-width: 873px) {
    .contacts__org,.contacts__email,.contacts__phone {
        flex-basis:100%
    }
}

@media (max-width: 781px) {
    .contacts__item {
        flex-direction:column;
        align-items: flex-start;
        gap: 10px;
        padding: 20px 0
    }

    .contacts__city {
        color: #251e1e;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 26px
    }

    .contacts__company {
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px
    }

    .contacts__addr {
        width: 100%
    }
}

.breadcrumbs {
    padding: 16px 32px
}

.breadcrumbs__list {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 34px
}

.breadcrumbs__item {
    color: #756d6d;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    margin: 0;
    padding: 0
}

.breadcrumbs__item span {
    opacity: .5
}

.breadcrumbs__link {
    position: relative;
    transition: .2s
}

.breadcrumbs__link:hover {
    color: #ff8156
}

.breadcrumbs__link:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -27px;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3csvg%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.5'%3e%3cpath%20d='M7.00095%2011.9277L9.94025%208.9883L7.00095%206.049C6.70802%205.7561%206.70802%205.2812%207.00095%204.9883C7.29385%204.6954%207.76865%204.6954%208.06155%204.9883L11.5312%208.458C11.6718%208.5987%2011.7509%208.7894%2011.7509%208.9883C11.7509%209.1872%2011.6718%209.378%2011.5312%209.5187L8.06155%2012.9883C7.76865%2013.2812%207.29385%2013.2812%207.00095%2012.9883C6.70802%2012.6954%206.70802%2012.2206%207.00095%2011.9277Z'%20fill='%23756D6D'/%3e%3c/g%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: .5
}

@media screen and (max-width: 767px) {
    .breadcrumbs {
        padding:12px 16px
    }
}

.contacts__title {
    color: #251e1e;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    margin: 46px 0 32px
}

@media (max-width: 1199px) {
    .contacts__title {
        font-size:32px;
        line-height: 40px;
        margin: 36px auto 32px
    }
}

@media (max-width: 767px) {
    .contacts__title {
        font-size:24px;
        line-height: 30px;
        margin: 24px auto
    }
}

.special-header {
    background-image: url(/assets/specials-offer-bg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 894px
}

.breadcrumbs {
    padding: 16px 32px
}

.breadcrumbs__list {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 34px
}

.breadcrumbs__item {
    color: #fff;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    text-decoration: none;
    margin: 0;
    padding: 0
}

.breadcrumbs__item span {
    opacity: .5
}

.breadcrumbs__link {
    position: relative;
    transition: .2s
}

.breadcrumbs__link:hover {
    color: #ff8156
}

.breadcrumbs__link:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -24px;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-image: url("data:image/svg+xml,%3csvg%20width='6'%20height='10'%20viewBox='0%200%206%2010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.00095%207.92768L3.94025%204.9883L1.00095%202.049C0.708017%201.7561%200.708017%201.2812%201.00095%200.9883C1.29385%200.6954%201.76865%200.6954%202.06155%200.9883L5.53125%204.458C5.67185%204.5987%205.75095%204.7894%205.75095%204.9883C5.75095%205.1872%205.67185%205.378%205.53125%205.5187L2.06155%208.98834C1.76865%209.28123%201.29385%209.28123%201.00095%208.98834C0.708017%208.69544%200.708017%208.22057%201.00095%207.92768Z'%20fill='white'/%3e%3c/svg%3e");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: .5
}

.special-header__wrapper {
    margin-left: 160px;
    margin-top: 48px;
    max-width: 580px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 24px
}

.special-header__title {
    color: #fff;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    margin: 0 0 200px;
    padding: 0
}

.special-header__button {
    max-width: 236px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 14px 20px;
    background-color: #ff8156;
    border-radius: 0;
    text-decoration: none;
    transition: .2s
}

.special-header__button:hover {
    background-color: #fff
}

.special-header__button:hover span {
    color: #ff8156
}

.special-header__button:hover svg path {
    fill: #ff8156
}

.special-header__button svg {
    max-width: 24px;
    width: 100%;
    min-height: 24px
}

.special-header__button span {
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px;
    margin: 0;
    padding: 0
}

.video-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #000c;
    display: grid;
    place-items: center;
    padding: 20px
}

.video-popup__body {
    position: relative;
    width: 100%;
    max-width: 960px;
    aspect-ratio: 16 / 9;
    background: #000
}

.video-popup__close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    line-height: 1
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .3s ease
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

@media screen and (max-width: 1440px) {
    .special-header__wrapper {
        margin-left:48px
    }
}

@media screen and (max-width: 991px) {
    .special-header__wrapper {
        margin-left:32px;
        margin-top: 18px;
        gap: 16px
    }

    .special-header {
        min-height: 545px
    }

    .special-header__title {
        font-size: 24px;
        line-height: 30px;
        margin: 0 0 80px
    }

    .special-header__description {
        font-size: 16px;
        line-height: 24px
    }
}

@media screen and (max-width: 767px) {
    .breadcrumbs {
        padding:12px 16px
    }

    .special-header__wrapper {
        margin-left: 16px;
        margin-right: 16px;
        margin-top: 16px;
        gap: 8px;
        max-width: calc(100% - 32px);
        padding: 0 0 32px
    }

    .special-header__title {
        font-size: 24px;
        line-height: 30px
    }

    .special-header__description {
        font-size: 14px;
        line-height: 20px
    }

    .special-header__button {
        margin-top: 20px
    }
}

@media screen and (max-width: 567px) {
    .special-header__button span {
        font-size:16px;
        line-height: 22px
    }
}

.special-header__list {
    list-style: disc;
    list-style-position: outside;
    padding-left: 1.25rem;
    margin: 0
}

.special-header__list li {
    color: #fff;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    margin: 4px 0
}

.special-header__list>li::marker {
    color: #ff8156
}

.special-header__price-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 20px
}

.special-header__price {
    color: #fff;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px
}

.special-header__price_old {
    color: #fff;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px;
    opacity: .5;
    position: relative;
    display: inline-block
}

.special-header__price_old:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 2px;
    background: currentColor;
    transform: translateY(-50%);
    border-radius: 2px;
    pointer-events: none
}

@media screen and (max-width: 991px) {
    .special-header__list li {
        font-size:16px;
        line-height: 24px
    }

    .special-header__price {
        color: #fff;
        font-size: 24px;
        line-height: 30px
    }

    .special-header__price_old {
        font-size: 24px;
        line-height: 30px
    }

    .special-header__wrapper {
        gap: 10px
    }
}

@media screen and (max-width: 567px) {
    .special-header__list li {
        font-size:14px;
        line-height: 20px
    }

    .special-header__title {
        margin: 0 0 50px
    }

    .special-header__price,.special-header__price_old {
        font-size: 20px;
        line-height: 26px
    }
}

.special-header__wrapper .contact-launch {
    margin: 10px 0 0
}

.special-header__wrapper .contact-launch__button {
    max-width: 264px;
    width: 100%
}

.special-solution {
    margin: 180px 160px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 80px
}

@media screen and (max-width: 1439px) {
    .special-solution {
        margin:180px 48px
    }
}

@media screen and (max-width: 991px) {
    .special-solution {
        margin:100px 32px
    }
}

@media screen and (max-width: 767px) {
    .special-solution {
        margin:48px 16px
    }
}

.special-solution__plan {
    position: relative
}

.special-solution__plan img {
    max-width: 1120px;
    width: 100%;
    object-fit: contain
}

.special-solution__yandex-block {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.special-decision__title {
    color: #000;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px
}

@media screen and (max-width: 991px) {
    .special-decision__title {
        font-size:24px;
        line-height: 30px
    }
}

.special-decision__subtitle {
    color: #a7a3a3;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 30px;
    margin: 12px 0 48px
}

@media screen and (max-width: 991px) {
    .special-decision__subtitle {
        font-size:16px;
        line-height: 24px
    }

    .special-solution {
        gap: 40px
    }

    .special-solution__plan img {
        max-width: 370px
    }
}

.explication {
    --explication-bg: #fff;
    --explication-border: #D0CACA;
    --explication-head-bg: rgba(0, 0, 0, 0);
    --explication-radius: 0;
    --explication-pad-y: 6px;
    --explication-pad-x: 0;
    --explication-gap: 12px;
    display: grid;
    gap: 24px
}

.explication__section {
    background: var(--explication-bg);
    border: 0 solid var(--explication-border);
    border-radius: var(--explication-radius);
    overflow: hidden
}

.explication__header {
    padding: 6px 0;
    border-bottom: 1px solid var(--explication-border);
    color: #251e1e;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px
}

.explication__title {
    margin: 0;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700
}

.explication__row {
    display: grid;
    color: #251e1e;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    grid-template-columns: 64px 1fr 140px;
    gap: var(--explication-gap);
    align-items: center;
    padding: var(--explication-pad-y) var(--explication-pad-x);
    border-bottom: 1px solid var(--explication-border)
}

.explication__row:last-child {
    border-bottom: 0
}

.explication__row--head {
    background: var(--explication-head-bg)
}

.explication__row--total {
    font-weight: 700
}

.explication__cell {
    min-width: 0
}

.explication__cell--num {
    text-align: left;
    font-variant-numeric: tabular-nums
}

.explication__cell--name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.explication__cell--area {
    justify-self: end;
    font-variant-numeric: tabular-nums
}

@media screen and (max-width: 991px) {
    .explication__row {
        grid-template-columns:24px 1fr 140px
    }
}

@media screen and (min-width: 991px) and (max-width: 1099px) {
    .explication__row {
        grid-template-columns:24px 1fr 140px
    }
}

@media screen and (max-width: 767px) {
    .special-solution__decision {
        width:100%
    }

    .special-solution__plan img {
        max-width: 100%
    }

    .special-solution {
        gap: 40px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start
    }

    .special-decision__subtitle {
        font-size: 16px;
        line-height: 24px;
        margin: 12px 0 24px
    }

    .explication__row {
        grid-template-columns: 24px 1fr 140px
    }

    .explication {
        gap: 24px
    }
}

.special-outside-gallery {
    margin: 180px 160px
}

.special-outside-gallery__title {
    color: #000;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    margin: 0 0 48px
}

.special-outside-gallery__rows {
    display: grid;
    gap: 24px;
    max-width: 100%
}

.special-outside-gallery__row {
    display: flex;
    gap: 24px;
    justify-content: center
}

.special-outside-gallery__item {
    position: relative;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    text-align: inherit;
    overflow: hidden;
    min-width: 490px
}

.special-outside-gallery__yandex-block {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.special-outside-gallery__item--s,.special-outside-gallery__item--l {
    max-width: 100%;
    height: auto
}

.special-outside-gallery__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.special-gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 9999
}

.special-gallery-modal__overlay {
    position: absolute;
    inset: 0;
    background: #0009;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px)
}

.special-gallery-modal__dialog {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    pointer-events: none
}

.special-gallery-modal__viewport {
    position: relative;
    width: min(1200px,92vw);
    height: min(80vh,800px);
    background: #111;
    overflow: hidden;
    box-shadow: 0 20px 60px #0006;
    pointer-events: auto
}

.special-gallery-modal__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .35s ease;
    will-change: transform
}

.special-gallery-modal__slide {
    flex: 0 0 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #111
}

.special-gallery-modal__image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    -webkit-user-select: none;
    user-select: none
}

.special-gallery-modal__nav {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 44px;
    height: 44px;
    border: 0;
    background: #ffffffe6;
    color: #000;
    font-size: 28px;
    line-height: 1;
    display: grid;
    place-items: center;
    cursor: pointer;
    pointer-events: auto
}

.special-gallery-modal__nav--prev {
    left: 24px
}

.special-gallery-modal__nav--next {
    right: 24px
}

.special-gallery-modal__close {
    position: absolute;
    top: 20px;
    right: 20px;
    pointer-events: auto;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 0;
    background: #ffffffe6;
    color: #000;
    font-size: 20px;
    display: grid;
    place-items: center;
    cursor: pointer
}

.special-gallery-modal__counter {
    position: absolute;
    bottom: 14px;
    left: 50%;
    translate: -50% 0;
    padding: 6px 10px;
    font-size: 13px;
    color: #fff;
    background: #00000080;
    border-radius: 999px;
    pointer-events: none
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .2s ease
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

@media (max-width: 1700px) {
    .special-outside-gallery__item {
        min-width:unset
    }
}

@media (max-width: 1439px) {
    .special-outside-gallery {
        margin:180px 48px
    }
}

@media (max-width: 991px) {
    .special-outside-gallery {
        margin:100px 32px
    }

    .special-outside-gallery__title {
        font-size: 24px;
        line-height: 30px;
        margin: 0 0 32px
    }
}

@media (max-width: 767px) {
    .special-outside-gallery {
        margin:48px 16px
    }

    .special-outside-gallery__title {
        margin: 0 0 24px
    }

    .special-gallery-modal__viewport {
        width: 94vw;
        height: 78vh
    }

    .special-gallery-modal__nav {
        width: 40px;
        height: 40px;
        font-size: 24px
    }

    .special-gallery-modal__nav--prev {
        left: 12px
    }

    .special-gallery-modal__nav--next {
        right: 12px
    }

    .special-gallery-modal__close {
        top: 12px;
        right: 12px
    }

    .special-outside-gallery__row {
        flex-direction: column
    }
}

@media (prefers-reduced-motion: reduce) {
    .special-gallery-modal__track {
        transition: none
    }
}

.special-outside-gallery {
    margin: 180px 160px
}

.special-outside-gallery__title {
    color: #000;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    margin: 0 0 48px
}

.special-outside-gallery__rows {
    display: grid;
    gap: 24px;
    max-width: 100%
}

.special-outside-gallery__row {
    display: flex;
    gap: 24px;
    justify-content: center
}

.special-outside-gallery__item {
    position: relative;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    text-align: inherit;
    overflow: hidden;
    min-width: 490px
}

.special-outside-gallery__yandex-block {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: auto
}

.special-outside-gallery__item--s,.special-outside-gallery__item--l {
    max-width: 100%;
    height: auto
}

.special-outside-gallery__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.special-gallery-modal {
    position: fixed;
    inset: 0;
    z-index: 9999
}

.special-gallery-modal__overlay {
    position: absolute;
    inset: 0;
    background: #0009;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px)
}

.special-gallery-modal__dialog {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    pointer-events: none
}

.special-gallery-modal__viewport {
    position: relative;
    width: min(1200px,92vw);
    height: min(80vh,800px);
    background: #111;
    overflow: hidden;
    box-shadow: 0 20px 60px #0006;
    pointer-events: auto
}

.special-gallery-modal__track {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .35s ease;
    will-change: transform
}

.special-gallery-modal__slide {
    flex: 0 0 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #111
}

.special-gallery-modal__image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    -webkit-user-select: none;
    user-select: none
}

.special-gallery-modal__nav {
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 44px;
    height: 44px;
    border: 0;
    background: #ffffffe6;
    color: #000;
    font-size: 28px;
    line-height: 1;
    display: grid;
    place-items: center;
    cursor: pointer;
    pointer-events: auto
}

.special-gallery-modal__nav--prev {
    left: 24px
}

.special-gallery-modal__nav--next {
    right: 24px
}

.special-gallery-modal__close {
    position: absolute;
    top: 20px;
    right: 20px;
    pointer-events: auto;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 0;
    background: #ffffffe6;
    color: #000;
    font-size: 20px;
    display: grid;
    place-items: center;
    cursor: pointer
}

.special-gallery-modal__counter {
    position: absolute;
    bottom: 14px;
    left: 50%;
    translate: -50% 0;
    padding: 6px 10px;
    font-size: 13px;
    color: #fff;
    background: #00000080;
    border-radius: 999px;
    pointer-events: none
}

.fade-enter-active,.fade-leave-active {
    transition: opacity .2s ease
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

html.is-locked,body.is-locked {
    overflow: hidden!important
}

@media (max-width: 1700px) {
    .special-outside-gallery__item {
        min-width:unset
    }
}

@media (max-width: 1439px) {
    .special-outside-gallery {
        margin:180px 48px
    }
}

@media (max-width: 991px) {
    .special-outside-gallery {
        margin:100px 32px
    }

    .special-outside-gallery__title {
        font-size: 24px;
        line-height: 30px;
        margin: 0 0 32px
    }
}

@media (max-width: 767px) {
    .special-outside-gallery {
        margin:48px 16px
    }

    .special-outside-gallery__title {
        margin: 0 0 24px
    }

    .special-gallery-modal__viewport {
        width: 94vw;
        height: 78vh
    }

    .special-gallery-modal__nav {
        width: 40px;
        height: 40px;
        font-size: 24px
    }

    .special-gallery-modal__nav--prev {
        left: 12px
    }

    .special-gallery-modal__nav--next {
        right: 12px
    }

    .special-gallery-modal__close {
        top: 12px;
        right: 12px
    }

    .special-outside-gallery__row {
        flex-direction: column
    }
}

@media (prefers-reduced-motion: reduce) {
    .special-gallery-modal__track {
        transition: none
    }
}

.special-calculatior {
    margin: 180px 160px
}

@media screen and (max-width: 1439px) {
    .special-calculatior {
        margin:180px 48px
    }
}

@media screen and (max-width: 991px) {
    .special-calculatior {
        margin:100px 32px
    }
}

@media screen and (max-width: 767px) {
    .special-calculatior {
        margin:48px 16px
    }
}

.special-calculatior__title {
    color: #000;
    font-size: 38px;
    font-weight: 500;
    line-height: 46px;
    margin: 0 0 48px
}

.special-calculatior__list {
    list-style: disc;
    list-style-position: outside;
    padding-left: 1.25rem;
    margin: 0
}

.special-calculatior__item {
    color: #251e1e;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    margin: 16px 0
}

.special-calculatior__item::marker {
    color: #ff8156
}

.special-calculatior__empty {
    color: #756d6d;
    font-size: 16px;
    line-height: 24px
}

@media screen and (max-width: 991px) {
    .special-calculatior__title {
        font-size:24px;
        line-height: 30px;
        margin: 0 0 32px
    }

    .special-calculatior__item {
        font-size: 16px;
        line-height: 24px;
        margin: 12px 0
    }
}

@media screen and (max-width: 567px) {
    .special-calculatior__title {
        margin:0 0 24px
    }
}

.costs {
    margin: 180px 160px
}

@media screen and (max-width: 1439px) {
    .costs {
        margin:180px 48px
    }
}

@media screen and (max-width: 991px) {
    .costs {
        margin:100px 32px
    }
}

@media screen and (max-width: 767px) {
    .costs {
        margin:48px 16px
    }
}

.costs__title {
    color: #000;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    margin: 0 0 48px
}

@media screen and (max-width: 991px) {
    .costs__title {
        font-size:24px;
        line-height: 30px;
        margin: 0 0 32px
    }
}

@media screen and (max-width: 567px) {
    .costs__title {
        margin:0 0 24px
    }
}

.costs {
    --c-bg: #fff;
    --c-border: #D0CACA;
    --c-head: rgba(208, 202, 202, .1);
    --c-subtotal: rgba(208, 202, 202, .1);
    --c-total: #fff;
    --c-special: #382F2F;
    --c-radius: 0;
    display: block;
    background: var(--c-bg);
    overflow: hidden
}

.costs__row--head {
    border-top: 1px solid var(--c-border)
}

.costs__header {
    padding: 16px
}

.costs__row {
    display: grid;
    grid-template-columns: 1fr 140px 260px;
    gap: 12px;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--c-border)
}

.costs__row:last-child {
    border-bottom: 0
}

.costs__row {
    color: #251e1e;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px
}

.costs__row--head {
    background: var(--c-head);
    color: #251e1e;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px
}

@media screen and (max-width: 767px) {
    .costs__row--head,.costs__row {
        font-size:14px;
        line-height: 20px
    }
}

.costs__row--subtotal {
    background: var(--c-subtotal);
    font-weight: 700
}

.costs__row--total {
    background: var(--c-total);
    font-weight: 800
}

.costs__row--special {
    background: var(--c-special);
    font-weight: 800;
    color: #fff
}

.costs__cell {
    min-width: 0
}

.costs__cell--num {
    text-align: center;
    font-variant-numeric: tabular-nums
}

.costs__cell--name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.costs__cell--action {
    text-align: center
}

.costs__cell--price {
    justify-self: end;
    font-variant-numeric: tabular-nums
}

.costs__row--special .costs__cell--price {
    color: #ff8156
}

.costs__btn {
    appearance: none;
    color: #756d6d;
    text-align: right;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    cursor: pointer;
    transition: box-shadow .2s ease,transform .05s ease
}

.costs__btn:hover {
    color: #ff8156
}

.costs__btn:active {
    transform: translateY(1px)
}

@media screen and (max-width: 767px) {
    .costs__btn {
        font-size:14px;
        line-height: 17px
    }

    .costs__cell--name {
        overflow: visible;
        text-overflow: unset;
        white-space: wrap
    }
}

.costs__dash {
    opacity: .4
}

.costs__badge {
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px dashed rgba(0,0,0,.25);
    font-size: 12px;
    white-space: nowrap
}

@media (max-width: 860px) {
    .costs__row {
        grid-template-columns:48px 1fr 110px 1fr
    }
}

@media (max-width: 600px) {
    .costs__row {
        grid-template-columns:48px 1fr;
        grid-auto-rows: auto
    }

    .costs__cell--action,.costs__cell--price {
        grid-column: 1 / -1;
        justify-self: end
    }
}

.modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center
}

.modal__overlay {
    position: absolute;
    inset: 0;
    background: #00000073;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px)
}

.modal__dialog {
    position: relative;
    z-index: 1;
    width: min(720px,calc(100% - 32px));
    margin: 6vh auto;
    outline: none;
    background: #fff;
    border-radius: 0;
    box-shadow: 0 20px 60px #00000040;
    display: grid;
    grid-template-rows: auto 1fr auto;
    max-height: 88vh
}

.modal__header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(0,0,0,.08)
}

.modal__title {
    margin: 0;
    color: #000;
    font-size: 38px;
    font-style: normal;
    font-weight: 500;
    line-height: 46px;
    flex: 1
}

@media screen and (max-width: 1099px) {
    .modal__title {
        font-size:20px;
        line-height: 30px
    }
}

@media screen and (max-width: 767px) {
    .modal__title {
        font-size:24px;
        line-height: 30px
    }
}

.modal__close {
    appearance: none;
    background: transparent;
    border: 0;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    opacity: .7
}

.modal__close:hover {
    opacity: 1
}

.modal__body {
    padding: 16px 20px;
    overflow: auto
}

.modal__list {
    margin: 0;
    padding-left: 0;
    list-style: none;
    counter-reset: step
}

.modal__list-item {
    counter-increment: step;
    padding-left: 36px;
    position: relative;
    margin: 10px 0
}

.modal__list-item:before {
    content: "№ " counter(step);
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    width: 32px
}

.modal__footer {
    padding: 16px 20px;
    border-top: 1px solid rgba(0,0,0,.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px
}

.modal__footer span {
    font-size: 15px;
    font-weight: 600
}

.modal__btn {
    appearance: none;
    border: 1px solid rgba(0,0,0,.15);
    background: #fff;
    border-radius: 0;
    padding: 5px 10px;
    cursor: pointer
}

@media screen and (max-width: 991px) {
    .costs__cell--action,.costs__cell--price {
        grid-column:unset;
        justify-self: end
    }

    .costs__row {
        grid-template-columns: 100% 1fr;
        grid-auto-rows: auto
    }
}

@media screen and (max-width: 767px) {
    .costs__btn {
        font-size:14px;
        line-height: 17px
    }

    .costs__cell--name {
        overflow: visible;
        text-overflow: unset;
        white-space: wrap
    }

    .costs__cell--action,.costs__cell--price {
        grid-column: 1 / -1;
        justify-self: end
    }

    .costs__row {
        grid-template-columns: 100% 1fr;
        grid-auto-rows: auto
    }
}

.modal__btn:hover {
    box-shadow: 0 2px 10px #0000000f
}

@media screen and (max-width: 991px) {
    .costs__row--head .costs__cell--action,.costs__row--special .costs__cell--action,.costs__row--total .costs__cell--action,.costs__row--subtotal .costs__cell--action {
        display:none
    }

    .costs__row--head .costs__cell--price,.costs__row--special .costs__cell--price,.costs__row--total .costs__cell--price,.costs__row--subtotal .costs__cell--price {
        grid-column: 2 / -1!important;
        text-align: right
    }

    .costs__row--head {
        grid-template-columns: 60% 1fr
    }
}

@media screen and (max-width: 767px) {
    .costs__row {
        padding:10px;
        grid-template-columns: 60% 1fr;
        gap: 0
    }

    .costs__cell--action {
        grid-column: 1 / -1;
        justify-self: self-start
    }

    .costs__cell--price {
        text-align: right;
        grid-column: 4 / -1
    }
}

.costs__header {
    padding: 0
}

html.is-locked,body.is-locked {
    overflow: hidden
}

.costs .contact-launch__button {
    max-width: 264px
}

.costs .contact-launch {
    display: flex;
    width: 100%;
    justify-content: center;
    margin: 48px 0 0
}

@media (max-width: 991px) {
    .costs .contact-launch {
        margin:24px 0 0
    }
}

main {
    flex: 1 0 auto;
    margin-top: 68px
}

@media screen and (max-width: 567px) {
    main {
        margin-top:60px
    }
}

.search {
    flex: 1 0 auto;
    margin-top: 68px;
    padding: 2rem
}

@media (max-width: 567px) {
    .search {
        margin-top:60px
    }
}

.search__title {
    margin-bottom: 1rem
}

.search__input {
    width: 100%;
    max-width: 400px;
    margin-bottom: 1rem;
    padding: .5rem;
    font-size: 1rem
}

.search__list {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(240px,1fr));
    gap: 1rem
}

.search__card {
    border: 1px solid #ddd;
    padding: 1rem;
    border-radius: 8px
}

.search__card-img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin-bottom: .5rem;
    display: block
}

.search__card-title {
    margin-bottom: .25rem
}

.search__card-desc {
    color: #555;
    font-size: .9rem
}

.search__empty {
    color: #777
}

.admin-aside__sticky {
    position: sticky;
    top: 90px;
    height: 90vh;
    display: flex;
    flex-direction: column
}

.admin-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    min-height: 100vh;
    background: #f5f6f8
}

.admin-aside {
    background: #251e1e;
    color: #cbd5e1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    position: relative
}

.admin-aside__brand {
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    margin-bottom: 8px
}

.admin-aside__nav {
    display: grid;
    gap: 6px
}

.admin-aside__link {
    color: #cbd5e1;
    text-decoration: none;
    padding: 8px 10px;
    border-radius: 8px
}

.admin-aside__link.active,.admin-aside__link:hover {
    background: #4a3e3ea8;
    color: #fff
}

.admin-aside__logout {
    margin-top: auto;
    background: #4a3e3ea8;
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: 8px 10px;
    cursor: pointer
}

.admin-aside__logout:hover {
    background: #4a3e3ea8
}

.admin-main {
    padding: 20px
}

:root {
    color-scheme: dark
}

.login {
    --bg-start: #251E1E;
    --bg-mid: #251E1E;
    --bg-end: #251E1E;
    --text: #e2e8f0;
    --muted: #94a3b8;
    --card: rgba(37, 30, 30, .66);
    --card-dark: rgba(37, 30, 30, .58);
    --ring: #FF8156;
    --ring-2: #FF8156;
    --danger: #f87171;
    position: relative;
    min-height: 100vh;
    color: var(--text);
    background: linear-gradient(180deg,var(--bg-start) 0%,var(--bg-mid) 50%,var(--bg-end) 100%)
}

.login__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: #251e1e
}

.login__container {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    max-width: 1120px;
    padding: 3rem 1rem;
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center
}

@media (min-width: 768px) {
    .login__container {
        grid-template-columns:1fr;
        padding-left: 2rem;
        padding-right: 2rem
    }
}

.login__brand {
    display: none
}

@media (min-width: 768px) {
    .login__brand {
        display:block
    }
}

.login__brand-link {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    text-decoration: none
}

.login__brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 0;
    background: #ffffff14;
    box-shadow: inset 0 1px #fff3;
    border: 1px solid rgba(255,255,255,.2);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px)
}

.login__brand-icon {
    width: 24px;
    height: 24px;
    color: var(--ring-2)
}

.login__brand-name {
    font-weight: 700;
    letter-spacing: -.01em;
    font-size: 1.5rem;
    color: var(--ring-2)
}

.login__title {
    margin-top: 2.5rem;
    font-size: clamp(2rem,4vw,3rem);
    font-weight: 700;
    line-height: 1.15
}

.login__subtitle {
    margin-top: 1rem;
    max-width: 55ch;
    color: #e2e8f0cc
}

.login__features {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    max-width: 560px
}

.login__feature {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .75rem 1rem;
    background: #0000001f;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 0;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
}

.login__feature:before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--ring-2)
}

.login__card {
    max-width: 460px;
    width: 100%;
    margin: 0 auto
}

.login__card-inner {
    border-radius: 0;
    padding: .5rem;
    border: 1px solid rgba(255,255,255,.12);
    background: var(--card);
    box-shadow: 0 8px 40px #00000040;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px)
}

@media (prefers-color-scheme: dark) {
    .login__card-inner {
        background:var(--card-dark)
    }
}

.login__card-header {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 1rem 1.5rem 0
}

.login__card-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 0;
    background: #ff815675;
    border: 1px solid #FF8156
}

.login__badge-icon {
    width: 20px;
    height: 20px;
    color: var(--ring-2)
}

.login__card-title {
    font-size: 1.125rem;
    font-weight: 700
}

.login__card-note {
    color: var(--muted);
    font-size: .875rem
}

.login__form {
    padding: 1rem 1rem 1.25rem;
    display: grid;
    gap: 1rem
}

@media (min-width: 640px) {
    .login__form {
        padding:1.25rem 1.5rem 1.5rem
    }
}

.login__field {
    display: grid;
    gap: .5rem
}

.login__label {
    font-size: .9rem;
    font-weight: 600
}

.login__control {
    position: relative
}

.login__icon {
    position: absolute;
    left: .75rem;
    top: 50%;
    transform: translateY(-50%);
    opacity: .65;
    pointer-events: none
}

.login__icon-svg {
    width: 16px;
    height: 16px
}

.login__input {
    width: 100%;
    border-radius: 0;
    padding: .875rem .875rem .875rem 2.25rem;
    border: 1px solid rgba(255,255,255,.2);
    background: #fff9;
    color: #0f172a;
    transition: background .2s,box-shadow .2s,border-color .2s
}

.login__input:focus {
    outline: none;
    box-shadow: 0 0 0 2px var(--ring);
    background: #fff;
    border-color: #10b98159
}

@media (prefers-color-scheme: dark) {
    .login__input {
        background:#02061766;
        color: var(--text);
        border-color: #ffffff2e
    }

    .login__input:focus {
        background: #020617b3
    }
}

.login__input--password {
    padding-right: 2.5rem
}

.login__toggle {
    position: absolute;
    right: .375rem;
    top: 50%;
    transform: translateY(-50%);
    padding: .375rem;
    border-radius: 0;
    color: var(--muted);
    background: transparent;
    border: 0;
    cursor: pointer;
    transition: background .2s,color .2s,box-shadow .2s
}

.login__toggle:focus {
    outline: none;
    box-shadow: 0 0 0 2px var(--ring)
}

.login__toggle:hover {
    background: #94a3b81f
}

.login__toggle-icon {
    width: 16px;
    height: 16px
}

.login__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem
}

.login__remember {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .9rem;
    color: #cbd5e1
}

.login__checkbox {
    width: 16px;
    height: 16px;
    accent-color: var(--ring)
}

.login__link {
    color: #cbd5e1;
    text-underline-offset: 3px
}

.login__link:hover {
    text-decoration: underline
}

.login__error {
    background: #f871711f;
    color: var(--danger);
    border: 1px solid rgba(248,113,113,.35);
    padding: .625rem .75rem;
    border-radius: 0;
    font-size: .9rem
}

.login__submit {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    height: 48px;
    border-radius: 0;
    border: 0;
    cursor: pointer;
    background: var(--ring);
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    transition: transform .06s ease,background .2s
}

.login__submit:hover {
    background: #fff;
    color: #000
}

.login__submit:active {
    transform: translateY(1px)
}

.login__submit:disabled {
    opacity: .7;
    cursor: not-allowed
}

.login__submit-icon {
    width: 16px;
    height: 16px;
    transition: transform .2s;
    margin-left: 2px
}

.login__submit:hover .login__submit-icon {
    transform: translate(2px)
}

.login__submit--loading {
    pointer-events: none
}

.login__divider {
    height: 1px;
    width: 100%;
    background: #fff3;
    margin: .5rem 0
}

.login__oauth {
    display: grid;
    gap: .75rem
}

.login__oauth-btn {
    height: 44px;
    border-radius: 0;
    background: transparent;
    color: var(--text);
    border: 1px solid transparent;
    cursor: pointer;
    transition: background .2s,border-color .2s
}

.login__oauth-btn:hover {
    background: #ffffff14
}

.login__oauth-btn--bordered {
    background: #ffffff59;
    border-color: #ffffff38
}

.login__legal {
    margin-top: .25rem;
    text-align: center;
    font-size: .75rem;
    color: #94a3b8
}

@media (prefers-reduced-motion: no-preference) {
    .login__container {
        animation: login-rise-1d751dc4 .5s ease-out both
    }
}

@keyframes login-rise-1d751dc4 {
    0% {
        opacity: 0;
        transform: translateY(6px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

*,*:before,*:after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html,body {
    height: 100%;
    scroll-behavior: smooth;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body {
    line-height: 1.5;
    font-family: sans-serif;
    background-color: #fff;
    color: #000
}

img,picture,video,canvas,svg {
    display: block;
    max-width: 100%;
    height: auto
}

input,button,textarea,select {
    font: inherit;
    color: inherit
}

button {
    background: none;
    border: none;
    cursor: pointer
}

a {
    text-decoration: none;
    color: inherit
}

ul,ol {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

:focus-visible {
    outline: 0 solid transparent;
    outline-offset: 0
}

input[type=checkbox].custom {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #FF8156;
    border-radius: 2px;
    position: relative;
    cursor: pointer;
    background: transparent
}

input[type=checkbox].custom:checked {
    background: #ff8156
}

input[type=checkbox].custom:checked:before {
    content: "";
    position: absolute;
    top: 1px;
    left: 4px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

@font-face {
    font-family: Roboto;
    src: url(/assets/roboto-regular.woff2) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Roboto;
    src: url(/assets/roboto-bold.woff2) format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

.header {
    min-height: 60px;
    padding: 0 20px;
    background: transparent;
    padding: 1rem;
}

body {
    font-family: Roboto,serif;
    background-color: #fff;
    color: #251e1e;
    min-width: 320px;
    width: 100%
}

html,body,#app {
    height: 100%
}

#app {
    display: flex;
    flex-direction: column
}

main {
    flex: 1 0 auto;
    margin-top: 68px
}

@media screen and (max-width: 567px) {
    main {
        margin-top:60px
    }
}