section.text-and-image-graphics {
    padding-bottom: 96px;
    padding-top: 96px;
}

section.text-and-image-graphics .content-inner {
    margin-top: 0;
    margin-bottom: 24px;
}

section.text-and-image-graphics .photo-gallery-col {
    padding-right: 0;
}

section.text-and-image-graphics .photo-gallery-col>img {
    margin-left: auto;
    padding-top: 4rem;
    width: 100%;
    position: relative;
    z-index: 2;
}

.video-thumb {
    position: relative;
    display: inline-block;
    box-shadow: 2px 2px 5px 2px rgb(0 0 0 / 10%);
    cursor: pointer;
    border-radius: 16px;
    overflow: hidden;
    line-height: 0;
}

.video-thumb:before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 110px;
    height: 82px;
    margin: -41px 0 0 -55px;
    content: "\25BA";
    text-align: center;
    background-color: #207DE9;
    color: #fff;
    font-size: 30px;
    line-height: 82px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-indent: 5px;
    opacity: 0.8;
}

.video-thumb:hover:before {
    opacity: 1;
}

.revson-accordion .panel {
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-radius: 0;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}

.revson-accordion .panel-heading {
    background: transparent;
    border: 0;
    border-radius: 0;
    font-weight: 400;
    padding: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.seo-checker-sidebar-form .card-form a {
    /* margin-top: 15px; */
    cursor: pointer;
    display: block;
    width: 100%;
    background-color: #26b16d;
    color: #fff;
    margin: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    letter-spacing: -.008em;
    font-family: inherit;
    height: auto;
    padding: 16px 32px;
}

.revson-accordion .panel-heading .panel-title button {
    display: block;
        text-align: left;
    font-size: 18px;
    font-weight: 900;
    color: #00bcd4;
    border: 0;
    background-color: transparent;
        padding: 3px 0 10px 0;
    transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
}

.revson-accordion .panel-heading .panel-title button:before {
    font-family: Flaticon;
    color: #00bcd4;
    content: "\e903";
    font-size: 13px;
    line-height: 36px;
    padding-right: 10px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.revson-accordion .panel-heading .panel-title button.collapsed {
    color: #444;
}

.revson-accordion .panel-heading .panel-title button.collapsed:hover {
    color: #00bcd4;
}

.revson-accordion .panel-heading .panel-title button.collapsed:before {
    content: "\e908";
}

.revson-accordion .panel-body {
    padding: 15px;
    border-top: 1px solid #ddd;
    font-size: 15px;
    line-height: 24px;
    background-color: transparent !important;
}

.panel-title button .control-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -11px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    display: none;
}

.panel-title button.collapsed .control-icon {
    display: block;
}

.panel-title button i {
    font-size: 22px;
    padding-right: 5px;
    color: #00bcd4;
}

.footer-widget-area .video-wrapper {
    width: 49%;
    height: 440px;
    position: absolute;
    display: block;
    top: 0px;
    right: 0;
    background-image: url(../gallery/12/280.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 80px;
}

.footer-widget-area .quote-form-text {
    width: 49%;
    height: 440px;
    position: absolute;
    display: block;
    top: 0px;
    right: 0;
    background-image: url(../images/bg/quote-form-bg.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: 80px;
}


footer.footer-area {
    padding: 123px 0 170px;
}

footer.footer-area .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer-copyright {
    text-align: center;
    margin-top: 24px;
}

.footer-copyright p {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: -0.0045em;
    color: #869298;
}

.footer-copyright a {
    font-weight: 400;
    color: inherit;
    text-decoration: none;
}

.footer-copyright a:focus,.footer-copyright a:hover {
    color: #207DE9;
    text-decoration: underline;
}

.footer-widget-area .contact-form input[type="message"],.footer-widget-area .contact-form input[type="text"],.footer-widget-area .contact-form input[type="email"],.footer-widget-area .contact-form input[type="tel"],.footer-widget-area .contact-form select,.footer-widget-area .quotation-form input[type="text"],.footer-widget-area .quotation-form input[type="email"],.footer-widget-area .quotation-form input[type="tel"],.footer-widget-area .quotation-form select {
    height: auto !important;
    width: 100% !important;
    border: 0;
    border-bottom: 1px solid #FFF;
    background-color: #207de900;
    color: #2c3345 !important;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    font-weight: 600;
    font-size: 15px;
    line-height: 33px;
    letter-spacing: -0.0055em;
    padding: 15px 0;
    box-shadow: none;
}

.footer-widget-area .form-submit-button {
    font-weight: bold;
    font-size: 21px;
    line-height: 28px;
    letter-spacing: -0.008em;
    height: 76px;
    /*padding: 21px 24px;*/
    background-color: #41D58C;
    border-color: #41D58C;
    color: #fff;
    width: 100%;
    margin-left: 0px;
    box-sizing: border-box;
}

.footer-widget-area .contact-form p {
    font-size: 15px;
}

.footer-widget-area .form-submit-button:focus,.footer-widget-area .form-submit-button:hover {
    background-color: #26B16D;
    border-color: #26B16D;
    color: #fff;
}

.footer-title-outlined {
    display: inline-block;
    position: relative;
    z-index: 0;
    padding: 0 0.5rem;
}

.footer-title-outlined:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -17px;
    left: -6px;
    background: url(/assets/images/others/bg-outline.png) no-repeat center;
    width: 181px;
    height: 70px;
    width: 100%;
    background-size: contain;
    margin-left: 3%;
}

.form-label.form-label-top {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 24px;
    letter-spacing: -0.003em;
    color: #2c3345;
    margin: 0;
}

.form-required {
    margin-left: 4px;
}

.footer-widget-area .contact-form textarea,.footer-widget-area .quotation-form textarea {
    font-family: 'Inter', sans-serif;
    height: auto !important;
    width: 100% !important;
    border: 0;
    border-bottom: 1px solid #FFF;
    background-color: #207de900;
    color: #2c3345 !important;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    font-weight: 600;
    font-size: 15px;
    line-height: 25px;
    letter-spacing: -0.0055em;
    padding: 15px 0;
}

.footer-cta {
    background: url(/assets/images/others/bg-footer-cta.webp) no-repeat 0 center #1C2D47;
    padding: 24px 40px;
    background-size: auto 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    margin-bottom: -155px;
}

.footer-cta .card-icon {
    line-height: 1;
    color: #FFD12D;
    font-size: 62px!important;
    margin-right: 30px;
}

.footer-cta .card-icon i:before {
    font-size: 62px;
}

.footer-cta .card-body {
    padding: 0 24px 0 0;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem;
}

.footer-widget-area .mb-1 {
    color: white!important;
    text-align: left;
    margin-bottom: .25rem!important;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.018em;
}

.footer-cta .card-phone-link {
    font-weight: 900;
    font-size: 48px;
    line-height: 56px;
    letter-spacing: -0.024em;
    color: #FFFFFF;
    text-decoration: none;
    text-align: left;
    float: left;
}

.footer-cta .card-counter {
    text-align: center;
    width: 37%;
}

.footer-widget-area .row.s26,footer.footer-area .row.s26 {
    margin-left: -13px;
    margin-right: -13px;
}

.footer-cta .card-counter h3 {
    margin: 0 0 4px;
    color: white!important;
    font-weight: 900;
    font-size: 32px;
    line-height: 42px;
    letter-spacing: -0.018em;
}

.footer-cta .card-counter p {
    margin: 0;
    font-weight: 600;
    font-size: 18px;
    line-height: 22px;
    letter-spacing: -0.0045em;
    color: #ABB9C2;
}

.footer-widget-area {
    /*background-color: #207DE9;*/
    color: #fff;
    padding: 84px 0;
    position: relative;
        padding-right: 40px;
    padding-left: 10%;
}


.footer-widget-area .error {
    width: fit-content !important;
    display: block;
    border: 0 !important;
    background-color: #f23a3c;
    color: #fff !important;
    padding: 5px;
    font-size: .75em !important;
    margin-top: 8px;
    border-radius: 4px;
    line-height: normal !important;
    padding-top: 5px !important;
}

.footer-widget-area .pb-lg-3,.footer-widget-area .py-lg-3,footer.footer-area .pb-lg-3,footer.footer-area .py-lg-3 {
    padding-bottom: 1rem!important;
    font-weight: 900;
    font-size: 32px;
    color: #2c3345;!important;
    font-family: 'Inter-Black', sans-serif!important;
}

.mf-how-to {
    background: #152035;
    color: #fff;
    padding: 160px 0 90px;
    position: relative;
}

.mf-how-to-step {
    position: relative;
}

.mf-how-to:before {
    position: absolute;
    left: 50%;
    top: 0;
    height: 50%;
    border-right: 2px solid #263A5F;
    margin-left: -10px;
    content: "";
}

.mf-how-to-step:before {
    position: absolute;
    left: -23px;
    top: 0;
    height: 120%;
    border-right: 2px solid #263A5F;
    margin-left: -1px;
    content: "";
}

.mf-how-to-step .card-number {
    position: absolute;
    left: -76px;
    top: 0;
    background-color: #FFD12D;
    width: 104px;
    height: 104px;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 600;
    color: #374046;
}

.mf-how-to-step:last-child:before {
    display: none
}

.mf-how-to-step .card-body {
    padding: 0;
    padding-left: 84px;
}

.mf-how-to-step .card-body a:focus,a:hover {
    color: #0094a7;
}

.card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.25rem;
}

.mf-how-to-step .card-title {
    margin-bottom: 24px;
}

.mf-how-to-step h3 {
    font-weight: 900;
    font-size: 32px;
    line-height: 42px;
    letter-spacing: -0.018em;
    color: inherit;
}

.mf-how-to-step .card-text {
    font-size: 18px;
    line-height: 28px;
    color: #6E7b81;
    margin: 28px 0;
}

.mf-how-to a {
    text-decoration: none;
}

.mf-how-to-arrow {
    width: 148px;
    height: 48px;
    background: url(/assets/images/others/arrow.png) no-repeat center;
    margin: 56px 0 40px auto;
}

.pl-4,.px-4 {
    padding-left: 1.5rem!important;
    padding-right: 1.5rem!important;
}

.mf-how-to h2 {
    font-weight: 900;
    font-size: 48px;
    line-height: 56px;
    letter-spacing: -0.024em;
    color: inherit;
    margin-bottom: 1.5rem!important;
}

@media (max-width: 1024px) {
    .mf-how-to h2 {
        font-size: 32px;
        line-height: 44px;
    }
}

@media (min-width: 992px) {
    .pl-lg-0, .px-lg-0 {
        padding-left: 0!important;
    }

    .col-lg-5 {
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }

    .col-md-offset-2 {
        margin-left: 16.66666667%;
    }
}

@media (min-width: 1200px) {
    [class*="col-lg-"] {
        float: left;
    }

    .col-lg-4 {
        width: 33.33333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .pr-lg-0, .px-lg-0 {
        padding-right: 0!important;
    }

    .offset-lg-1 {
        margin-left: 8.333333%;
    }

    .col-lg-5 {
        width: 41.66666667%;
    }

    .col-lg-offset-1 {
        margin-left: 8.33333333%;
    }

    .col-lg-10 {
        width: 83.33333333%;
    }
}

@media (max-width: 767px) {
    .footer-widget-area .video-wrapper {
        display: none;
    }

    footer.footer-area {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .mf-how-to {
        padding-top: 48px;
        padding-bottom: 48px;
    }

    .mf-how-to-arrow {
        margin-right: auto;
        -webkit-transform: rotate( 26deg);
        -moz-transform: rotate(26deg);
        -ms-transform: rotate(26deg);
        -o-transform: rotate(26deg);
        transform: rotate( 26deg);
        margin-bottom: 56px;
    }

    .mf-how-to-step {
        padding-left: 88px;
    }

    .mf-how-to-step:before {
        left: 32px;
    }

    .mf-how-to-step .card-number {
        width: 64px;
        height: 64px;
        left: 0;
    }

    .mf-how-to-step .card-body {
        padding-left: 0;
    }

    .mf-how-to-step .card-number:before {
        display: none
    }

    .mf-how-to:before {
        display: none
    }

    .footer-cta {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -24px;
        margin-right: -24px;
        margin-bottom: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        border-radius: 0;
    }

    .footer-cta .card-icon {
        width: 100%;
        margin: 0;
        text-align: center;
    }

    .footer-cta .card-body {
        width: 100%;
        padding: 24px 0 0;
        text-align: center;
    }

    .footer-cta .card-phone-link {
        font-size: 32px;
        line-height: 44px;
    }

    .footer-cta .card-counter {
        text-align: center;
        width: 100%;
        padding-top: 24px;
    }

    .footer-widget-area h3, .footer-widget-area .h3, footer.footer-area h3, footer.footer-area .h3 {
        font-size: 24px;
        line-height: 30px;
    }

    .footer-cta .card-counter p {
        margin-bottom: 24px;
    }

    .footer-widget-area {
        padding-bottom: 0;
        padding-top: 48px;
    }
}

@media (min-width: 768px) {
    .col-sm-offset-1 {
        margin-left: 8.33333333%;
    }
}

section.team-skills .icon-calculator {
    background-image: url(../images/icon/calculator.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-certificate {
    background-image: url(../images/icon/certificate.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-schedule {
    background-image: url(../images/icon/schedule.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-cleaning {
    background-image: url(../images/icon/cleaning.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .spray-paint-gun {
    background-image: url(../images/icon/spray-paint-gun.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-piggy-bank {
    background-image: url(../images/icon/piggy-bank.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-safety {
    background-image: url(../images/icon/safety.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-delivery-truck {
    background-image: url(../images/icon/delivery-truck.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-construction-worker {
    background-image: url(../images/icon/construction-worker.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-plastering {
    background-image: url(../images/icon/plastering.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-jackhammer {
    background-image: url(../images/icon/jackhammer.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-garbage-truck {
    background-image: url(../images/icon/garbage-truck.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-time {
    background-image: url(../images/icon/time.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-painter {
    background-image: url(../images/icon/painter.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon-PM {
    background-image: url(../images/icon/PM.png);
    background-repeat: no-repeat;
    background-position: center;
}

section.team-skills .icon {
    width: 120px;
    height: 120px;
    float: left;
    margin-top: 0px;
    clear: both;
}

@media (max-width: 1025px) {
    section.team-skills .icon {
        width: 88px;
        height: 88px;
        float: left;
        background-size: contain;
        margin-bottom: 32px!important;
    }

    section.team-skills h3 {
        font-weight: 600;
        font-size: 24px!important;
        line-height: 32px!important;
        letter-spacing: -0.018em;
    }
}

section.team-skills h3 {
    clear: both;
    font-style: normal;
    font-weight: 900;
    font-size: 28px;
    line-height: 34px;
    letter-spacing: -0.018em;
    color: #374046;
}

@media (max-width: 1025px) {
    section.team-skills h3 {
        font-weight: 600;
        font-size: 24px!important;
        line-height: 32px!important;
        letter-spacing: -0.018em;
    }
}

section.team-skills .card:nth-child(1),section.team-skills .card:nth-child(2) {
    margin-bottom: 70px;
}

@media (max-width: 1025px) {
    section.team-skills .card: nth-child(1), section.team-skills .card: nth-child(2) {
        margin-bottom: 56px;
    }
}

.portfolio-box img {
    text-align: center;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}

.portfolio-box2__item {
    padding: 3px;
}

.portfolio-box2__column {
    float: left;
}

.portfolio-box2__item img {
    display: block;
    width: 100%;
    height: auto;
    padding: 4px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
}

.portfolio-box2__item img:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
}

.subscriptions-plan-format-1 .plan .header {
    width: 100%;
    padding: 40px;
    float: left
}

.subscriptions-plan-format-1 .plan .header .name {
    color: #FFF;
    margin-bottom: 4px
}

.subscriptions-plan-format-1 .plan .header .billing .price {
    font-family: 'Inter-Black', Sans-Serif;
    font-style: normal;
    font-weight: 900;
    font-size: 50px;
    line-height: 64px;
    letter-spacing: -.042em;
    color: #FFF
}

.subscriptions-plan-format-1 .plan .header .billing .cycle {
    font-family: 'Inter-Regular', Sans-Serif;
    font-style: normal;
    font-weight: 400;
    font-size: 21px;
    line-height: 35px;
    letter-spacing: -.0055em;
    color: #FFF
}

.subscriptions-plan-format-1 .plan .header .initial-investment {
    padding: 4px 8px;
    background: #1C2D47;
    border-radius: 4px;
    margin-bottom: 62px;
    text-transform: uppercase;
    color: #FFF;
    text-align: left;
    width: auto;
    display: block;
    float: left
}

.subscriptions-plan-format-1 .plan .header .btn-send-proposal {
    width: 100%;
    text-align: center;
    padding: 16px;
    float: left
}

.subscriptions-plan-format-1 .plan .features-wrapper {
    float: left;
    width: 100%;
    height: auto;
    background: #fff
}

.subscriptions-plan-format-1 .plan ul.features-list {
    width: 100%;
    float: left;
    clear: both
}

.subscriptions-plan-format-1 .plan ul.features-list li {
    font-family: 'Inter-Regular';
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -.0045em;
    color: #374046;
    padding: 28px
}

.subscriptions-plan-format-1 .plan ul.features-list li:not(:last-child) {
    border-bottom: 1px solid #D2DCEE
}

.subscriptions-plan-format-1 .plan:nth-child(1) {
    padding-left: 0;
    padding-right: 0
}

.subscriptions-plan-format-1 .plan:nth-child(1) .header {
    background: #00bcd4
}

.subscriptions-plan-format-1 .plan:nth-child(1) ul.features-list {
    background-color: #fff
}

.subscriptions-plan-format-1 .plan:nth-child(2) {
    padding-left: 0;
    padding-right: 0
}

.subscriptions-plan-format-1 .plan:nth-child(2) .header {
    background: #03a2b7
}

.subscriptions-plan-format-1 .plan:nth-child(2) ul.features-list {
    background: #F2F6FC
}

.subscriptions-plan-format-1 .plan:nth-child(3) {
    padding-left: 0;
    padding-right: 0
}

.subscriptions-plan-format-1 .plan:nth-child(3) .header {
    background: #007e8e
}

.subscriptions-plan-format-1 .plan:nth-child(3) ul.features-list {
    background-color: #fff
}

section.seo-plans .seo-plan-types {
    margin-bottom: 40px
}

.arrow-right-white:after {
    background-image: url(../images/icon/arrow-right-white.svg);
    background-repeat: no-repeat;
    margin-left: 10px
}

.feather-icon:after {
    width: 24px;
    height: 24px;
    content: "";
    display: inline-block;
    position: absolute
}

.plan h5 {
    font-weight: 700;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    letter-spacing: .05em
}

.plan h4 {
    font-size: 22px;
    line-height: 32px;
    letter-spacing: -.018em
}

.plan a {
    background-color: #FFD12D;
    color: #374046;
    font-size: 16px;
    font-weight: 700;
    border-radius: 4px
}

.plan ul li {
    list-style: none
}

.subscriptions-plan-format-1 .plan ul.features-list li {
    background-image: url(../images/icon/icon-check.png);
    background-repeat: no-repeat;
    background-position-x: 15px;
    background-position-y: center;
    padding-left: 50px
}

@media (max-width: 1025px) {
    .subscriptions-plan-format-1 .plan {
        padding-left: 24px!important;
        padding-right: 24px!important;
        margin-bottom: 24px;
        width: 100%;
        height: auto;
        display: block;
        float: left
    }
}

.main-icon .icon-worker-demolition {
    background-image: url(../images/icon/worker.png);
    background-repeat: no-repeat;
    background-position: center
}

.main-icon .icon-office-table {
    background-image: url(../images/icon/office-table.png);
    background-repeat: no-repeat;
    background-position: center
}

.main-icon .icon-shop {
    background-image: url(../images/icon/shop.png);
    background-repeat: no-repeat;
    background-position: center
}

.main-icon .icon-living-room {
    background-image: url(../images/icon/living-room.png);
    background-repeat: no-repeat;
    background-position: center
}

.main-icon i:before {
    font-size: 80px
}

.main-icon i {
    height: 120px;
    display: flex
}

.main-icon h3 {
    margin: 18px 0 0
}

.main-icon a {
    color: #333
}

.grow {
    -moz-transition: all 0.2s ease-out;
    -o-transition: all 0.2s ease-out;
    -webkit-transition: all 0.2s ease-out
}

.grow:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2)
}

body {
    font-family: "Roboto", sans-serif;
    color: #333;
    font-size: 20px;
    line-height: 30px;
    font-weight: 400;
    overflow-x: clip;
    text-rendering: optimizeLegibility!important;
    -webkit-font-smoothing: antialiased!important
}

#container {
    background: #fff;
    position: relative;
    overflow-x: clip;
    margin: 0 auto
}

ul {
    margin: 0;
    padding: 0;
    list-style-type: circle
}

.footer-list ul {
    list-style-type: none
}

ol {
    margin: 0;
    padding: 0;
    list-style: none list-style: decimal;
    padding-left: 40px
}

ol.table-of-contents {
    margin-bottom: 30px
}

ol.table-of-contents li {
    font-size: 18px!important;
    line-height: 26px!important;
    padding-bottom: 4px!important;
    font-weight: 700
}

ol.table-of-contents li a {
    text-decoration-line: underline;
    text-decoration-style: dashed;
    text-underline-position: under;
    text-decoration-color: #eee!important
}

ol.table-of-contents ul {
    padding-left: 40px
}

.table {
    font-size: 14px;
}

a.dot-white {
    color: #fff;
    border-bottom: 1px dashed #fff
}

h1,h2,h3,h4,h5,h6 {
    ; padding: 0;
    font-weight: 600;
    font-family: "Roboto", sans-serif!important
}

h3 {
    margin: 45px 0 20px
}

.bg-white h2[id]:before,.bg-white h3[id]:before,.bg-white h4[id]:before,.lesson h2[id]:before,.lesson h3[id]:before,.lesson h4[id]:before,.services-benefits h2[id]:before,.services-benefits h3[id]:before,.services-benefits h4[id]:before 

{
    display: block;
    content: " ";
    margin-top: -125px;
    height: 125px;
    visibility: hidden
}

.lesson h2 {
    margin: 65px 0 20px;
    font-size: 34px;
    line-height: 44px;
    font-weight: 800
}

section.mcfx-features-list ul li {
    list-style: none;
}

section.mcfx-features-list .features-wrapper .feature {
    margin-top: 50px;
}

section.services-benefits .table tr th p {
    margin: 0 0 10px;
    font-size: 14px;
}

section.services-benefits p,section.seo-services-features p,section.looking-increased-roi p,section.text-and-image-graphics p {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em;
    color: #222222;
    margin: 28px 0
}

section.services-benefits ul li,section.seo-services-features ul li,section.looking-increased-roi ul li,section.text-and-image-graphics ul li {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em;
    color: #222222;
    /*margin-bottom: 24px*/
}

section.looking-increased-roi ol {
    padding-left: 0
}

section.looking-increased-roi ol li {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em;
    color: #869298;
    margin-bottom: 24px;
    list-style-position: inside;
    padding: 11px 12px
}

.cta-straight-contact {
    background: #26B16D;
    border-radius: 4px;
    padding: 24px;
    width: 100%;
    height: auto;
    float: left;
    background-image: url(main-complement.css);
    background-repeat: no-repeat;
    background-position: right;
    position: relative;
    overflow-x: hidden
}

.cta-straight-contact .description {
    font-family: 'Inter-Regular', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 21px;
    line-height: 33px;
    letter-spacing: -.0055em;
    color: #FFF;
    margin-top: 0;
    margin-bottom: 8px;
    float: left
}

.cta-straight-contact .phone {
    width: auto;
    height: auto;
    float: left;
    display: block
}

.cta-straight-contact .phone a {
    font-family: 'Inter-Black', sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 28px;
    line-height: 24px;
    letter-spacing: -.0045em;
    color: #FFF;
    float: left;
    display: block;
    background-image: url(../images/icon/icon-small-phone-cta.png);
    background-repeat: no-repeat;
    padding-left: 50px;
    line-height: 36px
}

section.seo-services-features {
    background-color: #f2f6fc;
    position: relative
}

section.seo-services-features table:not(.exclude-default-table-style) {
    border-collapse: collapse;
    border-spacing: 0;
    display: block;
    margin-top: 48px;
    margin-bottom: 48px;
    overflow: auto;
    width: 100%;
    font-size: 16px;
    font-family: 'Inter-Regular', sans-serif;
    color: #6e7b81
}

section.seo-services-features thead tr,section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr:not(:last-child) {
    border-bottom: 1px solid #D2DCEE;
    border-top: none
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features thead tr th:nth-child(1),section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr td:nth-child(1) {
    background-color: #F2F6FC!important
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features thead tr th {
    padding-top: 32px;
    padding-bottom: 32px
}

section.seo-services-features table:not(.exclude-default-table-style) th,.static-table-heading {
    font-weight: 700;
    color: #fff;
    font-size: 16px;
    text-align: center;
    background: #466db2!important;
    border-color: #466db2!important;
    font-family: 'Inter-Regular', sans-serif;
    text-transform: uppercase
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features thead tr th:nth-child(1) span.label {
    color: #374046;
    text-transform: none!important;
    text-align: left
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features thead tr th:nth-child(even),section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr td:nth-child(even) {
    background-color: white!important;
    border: none
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr td,section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr th {
    text-transform: none!important;
    font-family: 'Inter-Regular', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -.0045em;
    color: #374046;
    padding-top: 28px;
    padding-bottom: 28px
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr th {
    text-align: left
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr th {
    background: #F2F6FC!important;
    padding-right: 24px;
    border: none
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr td {
    padding-left: 24px;
    padding-right: 24px
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr td {
    text-align: center
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features thead tr th:nth-child(odd),section.seo-services-features .seo-table-features-wrapper table.seo-table-features tbody tr td:nth-child(odd) {
    background-color: #EAEFF7!important;
    border: none
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features thead tr th span.label {
    font-family: 'Inter-Regular', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    display: flex;
    align-items: center;
    letter-spacing: -.018em;
    color: #083A74;
    width: auto;
    display: block;
    margin: 0 auto;
    text-transform: none
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features .need-information-cta span.label {
    font-family: 'Inter-Regular', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: -.0045em;
    color: #374046
}

section.seo-services-features .seo-table-features-wrapper table.seo-table-features .need-information-cta a.phone {
    font-family: 'Inter-Black', sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: -.0045em;
    color: #26B16D;
    float: none;
    clear: both;
    display: block;
    background-image: url(../images/icon/icon-small-phone-cta.png);
    background-repeat: no-repeat;
    padding-left: 50px;
    line-height: 36px
}

.header-content a.phone {
    display: block;
    background-image: url(../images/icon/phone-call.png);
    background-repeat: no-repeat;
    padding-left: 40px;
    line-height: 36px
}

.icon-checkmark {
    background-image: url(../images/icon/icon-check.png);
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0 auto;
    display: table
}

section.looking-increased-roi .rocket-cta {
    width: 100%;
    height: auto;
    float: left;
    padding: 30px;
    background: #1C2D47;
    margin-bottom: 32px
}

section.looking-increased-roi .rocket-cta p {
    font-style: normal;
    font-weight: 400;
    font-size: 21px;
    line-height: 35px;
    letter-spacing: -.0055em;
    color: #ABB9C2;
    margin: 0
}

section.looking-increased-roi .rocket-content-block {
    width: 100%;
    height: auto;
    position: relative
}

section.looking-increased-roi .rocket-content-block h3 {
    padding: 24px;
    margin-top: 0;
    margin-bottom: 32px;
    width: 100%;
    height: auto;
    float: left;
    background: #F2F6FC;
    font-weight: 900;
    font-size: 56px;
    line-height: 64px;
    letter-spacing: -.042em;
    color: #374046
}

section.looking-increased-roi .ready-for-more-revenue-cta {
    background: #1C2D47;
    border-radius: 8px;
    width: 100%;
    height: auto;
    padding: 48px;
    background-image: url(../img/cta-earn-more-revenue-bg.png);
    background-position: right;
    display: block;
    background-repeat: no-repeat;
    margin-bottom: 48px
}

section.looking-increased-roi .ready-for-more-revenue-cta h3 {
    color: #FFF;
    margin-top: 0;
    margin-bottom: 24px;
    max-width: 356px;
    font-style: normal;
    font-weight: 900;
    font-size: 28px;
    line-height: 34px;
    letter-spacing: -.018em
}

section.looking-increased-roi .product-hightlight {
    clear: both;
    width: 100%;
    display: block;
    height: auto;
    float: left;
    margin-bottom: 16px
}

section.looking-increased-roi .product-hightlight img {
    float: left;
    width: 60px;
    height: auto
}

section.looking-increased-roi .product-hightlight .details {
    width: auto;
    float: left;
    padding-left: 18px
}

section.looking-increased-roi .product-hightlight h3,section.looking-increased-roi .product-hightlight p {
    margin: 20px 0 0 0
}


.d-flex {
    display: flex !important;
}

.fw-semibold {
    font-weight: 600 !important;
    margin-left: 2rem !important;
    font-size: 1.7rem !important;
}

.align-items-center {
    align-items: center !important;
}

    @media (min-width: 992px) {
    .col-lg-6 {
        flex: 0 0 auto;
        width: 50%;
    }
}
.my-md-1 {
        margin-top: .5rem !important;
        margin-bottom: .5rem !important;
    }


.fw-normal {
    font-weight: 300 !important;
    font-size: 2rem;
    color: #339ca2 !important;
}

    .fs-1 {
        font-size: 4.6rem !important;
            line-height: 1.25 !important;
            font-weight: 900 !important;
        margin-bottom: 2rem !important;
        margin: 0;
    padding: 0;
    text-decoration: none;
            letter-spacing: -.042em;
    }


.my-4 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
        font-weight: 600 !important;
            font-size: 2rem !important;
}

.bg-green-transparent {
    background-image: url(https://goloadup.com/wp-content/uploads/2023/04/bg-green-transparent.png);
    background-position: right center;
    width: 55%;
    
}

.bg {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
        position: absolute !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
}

.position-relative {
    position: relative !important;
}


@media (min-width: 1200px) {
    .bg-green-transparent {
        width: 36%;
    }
}

img {
    max-width: 100%;
    height: auto
}

.white {
    color: #fff!important
}

a,a.dot-white {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none
}

a:hover,a.dot-white:hover {
    text-decoration: none
}

a:focus,a.dot-white:focus {
    text-decoration: none;
    color: #333;
    outline: 0
}

a,a.dot-white {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none
}

a:hover,a.dot-white:hover {
    text-decoration: none
}

a:focus,a.dot-white:focus {
    text-decoration: none;
    color: #333;
    outline: 0
}

.underline {
    text-decoration: underline
}

a.underline:hover {
    text-decoration: underline
}

::selection {
    background: #00bcd4;
    color: #fff;
    text-shadow: none;
    outline: none
}

.alert-info i:before {
    font-size: 80px
}

.btn {
    -webkit-border-radius: 0;
    border-radius: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.btn-hidden {
    display: none
}

.btn-hidden.visible {
    display: block!important
}

.btn-primary {
    font-size: 20px;
    font-style: normal!important;
    line-height: 17px;
    margin: 0;
    padding: 12px 25px;
    letter-spacing: 0;
    color: #ffffff!important;
    border: 0;
    background: #00bcd4;
    text-shadow: none;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s
}

.btn-primary:hover {
    background: #24252a;
    color: #00bcd4!important
}

.btn-primary.white {
    background: #fff;
    color: #00bcd4!important
}

.btn-primary.white:hover {
    background: #24252a
}

.btn-primary.black {
    background: #24252a;
    color: #00bcd4!important
}

.btn-primary.black:hover {
    background: #fff;
    color: #00bcd4!important
}

.btn-primary.red {
    background: #D41800;
    color: #ffffff!important
}

.btn-primary.red:hover {
    background: #24252a
}

.btn-primary.blue {
    background: #00bcd4;
    color: #ffffff!important
}

.btn-primary.blue:hover {
    background: #24252a
}

.btn-primary-big {
    font-size: 22px;
    font-style: normal!important;
    line-height: 17px;
    margin: 0;
    padding: 25px 25px;
    letter-spacing: 0;
    color: #ffffff!important;
    border: 0;
    background: #00bcd4;
    text-shadow: none;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s
}

.btn-primary-big.red {
    background: #D41800;
    color: #ffffff!important
}

.btn-primary.yellow:hover {
    background: #24252a
}

.btn-ghost {
    display: inline-block;
    padding: 5px;
    color: #333;
    border: 2px solid #333;
    text-align: center;
    outline: none;
    text-decoration: none;
    transition: border-color 0.3s ease-out, color 0.3s ease-out
}

.btn-ghost:hover,.btn-ghost:active {
    color: #fff;
    border-color: #fff;
    transition: border-color 0.4s ease-in, color 0.4s ease-in
}

.buttons-bar .btn {
    width: auto;
    height: 56px;
    position: relative;
    float: left;
    text-align: center;
    letter-spacing: -.008em;
    padding: 16px 45px 16px 25px;
    border-radius: 4px;
    font-family: Inter-Regular, sans-serif;
    cursor: pointer;
    white-space: nowrap
}

.buttons-bar .btn:nth-child(1) {
    margin-right: 20px
}

.blue-buttons-bar-btn {
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    outline: none;
    background-color: #03a2b7;
    color: white!important;
    transition: all .3s ease
}

.blue-buttons-bar-btn:hover {
    background-color: #007e8e
}

.ghost-buttons-bar-btn {
    border-color: #00bcd4;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    outline: none;
    color: white!important;
    transition: all .3s ease
}

.ghost-buttons-bar-btn:hover {
    background-color: #00bcd4
}

.breadcrumb-section h1 {
    text-shadow: 1px 1px 40px rgba(22, 23, 31, 1)!important;
    margin: 0 0 5px!important
}

.breadcrumb-section .image-stats

.breadcrumb-section p {
    text-shadow: 1px 1px 40px rgba(22, 23, 31, 1)!important;
    padding: 10px 0;
    margin-bottom: 30px;
    font-size: 22px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .004em
}

.breadcrumb-section .fa-ul li {
    text-shadow: 1px 1px 40px rgba(22, 23, 31, 1)!important;
    font-size: 22px;
    line-height: 1.5;
    font-weight: 700;
    color: #CED4DA;
    letter-spacing: .004em
}

.breadcrumb-section .breadcrumb {
    text-shadow: 1px 1px 40px rgba(22, 23, 31, 1)!important;
    padding: 15px
}

.breadcrumb-section .pricing-breadcrumb {
    text-shadow: 1px 1px 40px rgba(22, 23, 31, 1)!important
}

.working-process-box {
    margin-left: 20%;
    margin-right: 20%
}

.breadcrumb-ul-portfolio {
    margin: 30px 0
}

.breadcrumb-ul-portfolio li {
    display: inline;
    padding-right: 5px;
    border-left: 1px solid #ccc;
    padding-left: 12px
}

.breadcrumb-ul-portfolio li:first-child {
    border-left: none;
    padding-left: 0
}

.breadcrumb-ul-portfolio li i:before {
    padding-right: 5px
}

.breadcrumb-big {
    padding: 150px 0 50px
}

.value-breadcrumb i:before {
    font-size: 50px
}

.value-breadcrumb-main i:before {
    font-size: 20px
}

.value-breadcrumb-main p {
    font-size: 16px;
    margin: 0 0 0
}

.value-breadcrumb .media-left {
    padding: 0 20px 40px
}

.breadcrumb-section .cost-header p {
    padding: 0 0;
    font-size: 44px;
    line-height: 54px;
    margin-top: 8px!important;
    font-weight: 800;
    color: #2ec38b
}


.breadcrumb-section .cost-header2 {
    margin: 20px 0 !important;
}

.breadcrumb-section .cost-header2 p {
    display: inline !important;
    padding: 0 0;
    font-size: 28px;
    line-height: 35px;
    margin-top: 8px!important;
    color: #CED4DA;
}

.breadcrumb-section .cost-header2 p span {
    display: inline !important;
    padding: 0 0;
    font-size: 28px;
    line-height: 35px;
    margin-top: 8px!important;
    font-weight: 800;
    color: #2ec38b
}

.breadcrumbs li:last-child {
    display: none;
}

.protip {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    border-radius: 6px;
    min-height: 80px;
    margin-bottom: 30px
}

.protip.money {
    border: 2px solid #7effda;
    background-color: rgba(126, 255, 218, .25)
}

.protip.money .protip-icon {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 511.272 511.272' width='512' height='512'%3e%3cpath d='M453.374 151.306l28.272-14.96a257.842 257.842 0 00-17.888-28.992l-26.064 18.576a223.472 223.472 0 0115.68 25.376zM418.798 102.842l23.344-21.872a261.243 261.243 0 00-24.88-23.28l-20.288 24.752a228.51 228.51 0 0121.824 20.4z' data-original='%23000000' class='active-path' data-old_color='%23000000' fill='%2300AF80'/%3e%3cpath d='M495.582 167.514h-.032l-30.016 11.024c42.755 116.164-16.756 244.994-132.92 287.748C216.45 509.04 87.62 449.53 44.866 333.365S61.622 88.372 177.786 45.617a224.131 224.131 0 01194.948 19.496l16.816-27.2C269.306-36.036 111.88 1.494 37.931 121.739s-36.419 277.67 83.826 351.619 277.67 36.419 351.619-83.826c41.019-66.697 49.202-148.517 22.206-222.018z' data-original='%23000000' class='active-path' data-old_color='%23000000' fill='%2300AF80'/%3e%3cpath d='M319.198 255.85c35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64h-112v96h-64v32h64v32h-64v32h64v64h32v-64h64v-32h-64v-32h80zm-80-96h80c17.673 0 32 14.327 32 32s-14.327 32-32 32h-80v-64z' data-original='%23000000' class='active-path' data-old_color='%23000000' fill='%2300AF80'/%3e%3c/svg%3e");
    background-size: 36px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #7effda
}

.protip .protip-icon {
    width: 100px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    align-content: center;
    border-radius: 0;
    align-self: stretch
}

.protip .protip-body {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: left;
    align-items: center;
    align-content: center;
    width: 100%;
    padding: 15px 15px 15px 24px;
    font-size: 18px;
    line-height: 30px
}

.right-half,.left-half {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    background-position: center center;
    background-size: cover;
        padding: 100px 55px;
    color: #fff;
}

.sub-heading {
    padding: 0;
    margin: 0;
    display: inline-block;
    font-weight: 700;
    color: #84b9f5;
    font-size: 60px;
    line-height: 75px;
    margin-bottom: 12px;
}

.right-half.width33,.left-half.width33 {
    width: 33%
}

.right-half.width50,.left-half.width50 {
    width: 50%
}

.main-value h2 {
    font-size: 56px!important;
    line-height: 64px!important;
    letter-spacing: -0.042em!important
}

.main-value p {
    font-size: 22px;
    line-height: 35px;
    letter-spacing: -.0055em;
    margin-bottom: 26px
}

.main-value i:before {
    font-size: 40px;
    color: #00bcd4
}

.left-half {
    left: 0
}

.feature-icon {
    padding-top: 10px
}

.breadcrumb {
    background: transparent;
    border-radius: 0;
    color: #fff;
    font-size: 13px;
    line-height: 1.42857143;
    font-weight: 600;
    margin-bottom: 0
}

.breadcrumb li {
    display: inline-block
}

.breadcrumb li a {
    color: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.breadcrumb li a:hover {
    color: #006c79
}

.breadcrumb li:first-child:after,.breadcrumb li:last-child:after {
    content: ""
}

.single-post-header.breadcrumbs ul {
    margin: 0;
    list-style: none;
    padding: 0;
}

.breadcrumbs li:first-child {
    padding-left: 0;
}

.breadcrumbs li {
    margin: 0 0 0;
    padding: 0;
    color: #00bcd4;
    font-family: var(--font-inter);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1em;
    display: inline-block;
    position: relative;
    text-transform: uppercase;
}

.breadcrumbs li a {
    color: #00bcd4;
    border: none;
    transition: all .4s ease-in-out;
    text-decoration: none;
}

.breadcrumbs ul li::before {
    content: '/';
    position: absolute;
    top: 0;
    left: 0;
    color: #B6C0C7;
    display: block;
}

.breadcrumbs ul li+li {
    margin-left: 15px;
    padding-left: 15px;
}

.page-title h1 {
    font-size: 48px;
    letter-spacing: 1.5px;
    font-weight: 700;
    margin: 0;
    color: #fff
}

.page-title-main h1 {
    font-style: normal;
    font-weight: 900;
    font-size: 56px;
    line-height: 64px;
    letter-spacing: -.042em;
    color: #FFF;
    text-align: left;
    max-width: 545px
}

.page-title-main2 h1 {
    font-style: normal;
    font-weight: 900;
    font-size: 56px;
    line-height: 64px;
    letter-spacing: -.042em;
    color: #FFF;
    text-align: left;
}

.page-title-main p {
    text-align: left;
    max-width: 545px;
    color: #CED4DA
}

.pricing-breadcrumb {
    margin: 20px 0;
    border-radius: 4px
}

.pricing-breadcrumb span {
    font-size: 44px;
    line-height: 54px;
    font-weight: 800
}

.AboutServiceAdvancedItem i {
    padding: 15px;
    display: inline-table;
    font-size: 36px;
    width: 78px;
    color: #00bcd4;
    line-height: 45px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    margin-bottom: 10px
}

.AboutServiceAdvancedItem i:before {
    font-size: 50px;
    position: relative;
    top: 4px
}

.AboutServiceAdvancedItem h3 {
    font-weight: 700;
    font-size: 16px
}

.AboutServiceAdvancedItem p {
    font-weight: 400;
    margin-top: 4px;
    font-size: 14px!important;
    line-height: 22px;
    text-align: center
}

.navbar-nav li.drop a i:before {
    font-size: 12px
}

.navbar-fixed-top {
    position: fixed!important;
    right: 0;
    left: 0;
    z-index: 1100;
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
    animation-duration: .8s;
    -webkit-animation-duration: .8s;
    animation-timing-function: ease-in-out;
    -webkit-animation-timing-function: ease-in-out
}

.pad5 {
    padding: 5px 0
}

.pad15 {
    padding: 15px 0
}

.pad30 {
    padding: 30px 0
}

.pad60 {
    padding: 60px 0
}

.pad80 {
    padding: 80px 0
}

.pad100 {
    padding: 100px 0
}

.pad-t100 {
    padding-top: 100px
}

.pad-t80 {
    padding-top: 80px
}

.pad-t30 {
    padding-top: 30px
}

.pad-b30 {
    padding-bottom: 30px
}

.pad-b50 {
    padding-bottom: 50px
}

.pad-b100 {
    padding-bottom: 100px
}

.links-inline {
    display: inline;
    margin: 0 1%;
    font-size: 20px
}

.links-inline a i:before {
    font-size: 12px
}

.section-title {
    position: relative;
    margin: 0 0 50px
}

.section-title h1 {
    font-size: 50px
}

.section-title h2 {
    position: relative;
    color: #333;
    font-size: 38px;
    line-height: 46px;
    letter-spacing: -.042em;
    margin-bottom: 16px;
    font-weight: 800
}

.section-title h2 span {
    color: #00bcd4!important
}

.section-title h2:after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 37px;
    height: 1px;
    margin: -20px auto;
    content: '';
    opacity: 1;
    background: #333
}

.section-title.white h2 {
    color: #fff
}

.section-title.white h2:after {
    background: #fff!important
}

.section-title.left h2:after {
    left: 0;
    right: 100%
}

.section-title span i:before {
    font-size: 40px;
    color: #00bcd4
}

.footer-title h3 {
    font-size: 17px;
    color: #fff;
    position: relative;
    margin-bottom: 20px
}

.footer-title a {
    color: #fff
}

.footer-title a:hover {
    color: #00bcd4
}

.parallax {
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center bottom
}

[class^="flaticon-"]:before,[class*=" flaticon-"]:before,[class^="flaticon-"]:after,[class*=" flaticon-"]:after {
    margin-left: 0
}

.fa-ul {
    list-style-type: none;
    margin: 1em 0em 1em 3em
}

.fa-ul li {
    text-indent: -1.4em;
    padding: 5px 12px;
}

.fa-ul li:before {
    font-family: Flaticon;
    color: #00bcd4;
    content: "\e90d";
    float: left;
    width: 1.4em
}

.fa-ul-arrow-right {
    list-style-type: none;
    padding-left: 30px;
    
        
}

.fa-ul-arrow-right li:before {
    font-family: Flaticon;
    color: #00bcd4;
    content: "\e900";
    float: left;
    width: 1.4em
        
}

.fa-ul-square {
    list-style-type: none;
    margin: 1em 0em 1em 1em
}

.fa-ul-square li {
    text-indent: -1.4em
}

.fa-ul-square li:before {
    font-family: Flaticon;
    color: #00bcd4;
    content: "\e90f";
    float: left;
    width: 1.4em
}

.fa-ul-white {
    list-style-type: none;
    margin: 1em 0em 1em 3em
}

.fa-ul-white li {
    text-indent: -1.4em;
    margin-left: 25px
}

.fa-ul-white li:before {
    font-family: Flaticon;
    color: #fff;
    content: "\e90d";
    float: left;
    width: 1.4em
}

.team-skills ul.stats  {
    text-align: center;
    margin: 0;
    padding: 0 0 20px;
}

.team-skills ul.stats li h4 {
    letter-spacing: -.1px;
    font-size: 23px;
    text-align: center;
    margin-bottom: 0;
    font-weight: 500;
    margin-top: 20px;
    color: #333;
}

.team-skills ul.stats li p {
    text-align: center;
    line-height: 25px;
    margin: 20px auto 10px;
    max-width: 400px;
    font-size: 1.7rem;
    letter-spacing: .2px;
}

.team-skills ul.stats li {
    width: 31.623931623931625%;
    display: inline-block;
    padding: 0;
    margin: 0;
    list-style-type: none;
    font-weight: 300;
    letter-spacing: -.1px;
    font-size: 16px;
        line-height: 25px;
    color: #3f4242;
}


.list-16.fa-ul {
    font-size: 16px!important;
    line-height: 22px
}

.list-16.fa-ul li {
    margin-bottom: 20px
}

.controls p,.controls input[type="file"],.controls label[for="files"] {
    font-weight: 400;
    margin-top: 4px;
    font-size: 14px!important;
    line-height: 22px
}

.col-centered {
    float: none;
    margin: 0 auto;
}

.video-details {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    color: #999
}

.video-box {
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, .07);
    background: #FFF;
    border-radius: 6px;
    margin-bottom: 20px;
    margin-top: 5px;
    padding: 15px 25px
}

.img-center {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.deet {
    font-size: 16px;
    line-height: 1.42857143
}

.statitics .indicator {
    margin-bottom: 16px;
    height: 96px;
    background: rgba(20, 32, 52, .7);
    border-radius: 4px;
    padding: 16px
}

.statitics .indicator .icon {
    width: 64px;
    height: 64px;
    float: left;
    background: #829DCE;
    border-radius: 4px;
    margin-right: 24px;
    background-repeat: no-repeat;
    background-position: center
}

.statitics .indicator .file-icon {
    padding-top: 15px;
    color: #FFF
}

.statitics .indicator .icon i:before {
    font-size: 48px;
    font-style: normal;
    margin-left: 10px
}

.statitics .indicator h5 {
    text-align: left;
    text-transform: uppercase;
    color: #CED4DA;
    margin: 0;
    font-weight: 700;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: .05em
}

.statitics .indicator .counter {
    color: #fff;
    margin: 0;
    padding: 0 0;
    font-size: 28px;
    line-height: 34px;
    letter-spacing: -.018em
}

@media screen and (min-width: 1025px) {
    .navbar.navbar-default {
        margin-bottom: 0;
        background: #fff;
        border: none;
        border-radius: 0;
        transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out
    }

    .navbar.navbar-default .navbar-brand {
        margin-top: 10px
    }

    .navbar.navbar-default .navbar-collapse {
        padding-left: 0;
        padding-right: 0
    }

    .navbar.navbar-default .navbar-nav {
        transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out
    }

    .navbar.navbar-default .navbar-nav>li {
        position: inherit
    }

    .navbar.navbar-default .navbar-nav>li>a {
        color: #333;
        transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out
    }

    .navbar.navbar-default .navbar-nav>li>a:hover, .navbar.navbar-default .navbar-nav>li>a.active {
        color: #00bcd4!important
    }

    .navbar.navbar-default .navbar-nav li.drop {
        position: relative
    }

    .navbar.navbar-default .navbar-nav li.drop a i:before {
        font-size: 10px
    }

    .navbar.navbar-default .navbar-nav li.drop ul.drop-down {
        margin: 0;
        position: absolute;
        top: 80%;
        left: 0;
        width: 400px;
        visibility: hidden;
        opacity: 0;
        z-index: 3;
        text-align: left;
        padding: 10px 20px;
        background: #fff;
        box-shadow: 0 0 4px #bdbdbd;
        -webkit-box-shadow: 0 0 4px #bdbdbd;
        -moz-box-shadow: 0 0 4px #bdbdbd;
        -o-box-shadow: 0 0 4px #bdbdbd;
        transition: all 0.2s ease-in-out;
        -moz-transition: all 0.2s ease-in-out;
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out
    }

    .navbar.navbar-default .navbar-nav li.drop ul.drop-down li {
        list-style: none;
        display: block;
        margin: 0;
        position: relative
    }

    .navbar.navbar-default .navbar-nav li.drop ul.drop-down li:last-child {
        border-bottom: 0
    }

    .navbar.navbar-default .navbar-nav li.drop ul.drop-down li a {
        display: inline-block;
        text-decoration: none;
        transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        display: block;
        color: #333;
        font-size: 13px;
        padding: 5px;
        font-weight: 400;
        margin: 0
    }

    .navbar.navbar-default .navbar-nav li.drop ul.drop-down li a i {
        float: right
    }

    .navbar.navbar-default .navbar-nav li.drop ul.drop-down li a:hover, .navbar.navbar-default .navbar-nav li.drop ul.drop-down li a.active {
        color: #00bcd4
    }

    .navbar.navbar-default .navbar-nav li.drop:hover>ul.drop-down {
        visibility: visible;
        opacity: 1;
        top: 100%
    }

    .navbar.navbar-default.dark-color {
        background-color: #222
    }

    .navbar.navbar-default.dark-color .navbar-nav>li>a {
        color: #fff!important
    }

    .navbar.navbar-default.dark-color .navbar-nav>li>a:hover, .navbar.navbar-default.dark-color .navbar-nav>li>a.active {
        color: #00bcd4!important
    }

    .navbar.navbar-default.dark-color .navbar-nav li.drop ul.drop-down {
        background: #2f2f2f
    }

    .navbar.navbar-default.dark-color .navbar-nav li.drop ul.drop-down li a {
        color: #fff
    }

    .navbar.navbar-default.dark-color .navbar-nav li.drop ul.drop-down li a:hover, .navbar.navbar-default.dark-color .navbar-nav li.drop ul.drop-down li a.active {
        color: #00bcd4
    }

    .navbar.navbar-default.bottom-nav.dark-color .navbar-nav>li>a:hover, .navbar.navbar-default.bottom-nav.dark-color .navbar-nav>li>a.active {
        background: #151515
    }

    .navbar-collapse>ul {
        font-size: 13px
    }

    .navbar .btn {
        margin: 9px -5px;
        font-size: 16px;
        padding: 7px 10px
    }
}

@media screen and (min-width: 768px) and (max-width:992px) {
    .navbar-default .navbar-brand {
        padding: 20px 15px 10px!important
    }
}

@media screen and (max-width: 767px) {
    
    .team-skills ul.stats li {
            width: 100%;
}
    .team-skills ul.stats {
                    max-width: 300px;
        margin: 0 auto;
}
    
    
    .page-title-main h1, .page-title-main2 h1 {
        font-weight: 900!important;
        font-size: 38px!important;
        line-height: 46px!important;
        text-align: center!important;
        letter-spacing: -0.024em!important;
        color: #FFF;
        margin-bottom: 8px!important
    }

    .page-title-main p, .page-title-main2 p {
        font-size: 18px!important;
        line-height: 28px!important;
        text-align: center!important;
        letter-spacing: -0.0045em!important;
        margin-bottom: 20px!important
    }

    .page-title-main ul li {
        font-size: 18px!important;
        line-height: 28px!important;
        text-align: center!important;
        letter-spacing: -0.0045em!important;
    }

    .page-title-main ul {
        margin-bottom: 40px!important
    }

    .breadcrumb-section .cost-header2 p span {
        font-size: 18px;
        line-height: 28px;
        margin-top: 8px!important;
    }

    .breadcrumb-section .cost-header2 {
        text-align: center!important;
    }

    .navbar-default {
        text-align: left;
        margin-bottom: 0
    }

    .navbar-default .navbar-brand img {
        margin-top: 20px
    }

    .navbar-default .navbar-collapse.collapse.in {
        max-height: 300px;
        overflow-y: scroll
    }

    .navbar-nav li ul.drop-down {
        position: relative;
        top: inherit;
        left: inherit;
        width: 100%;
        visibility: visible;
        opacity: 1;
        padding: 5px 0;
        background: transparent;
        border-top: none;
        box-shadow: none;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        -o-box-shadow: none
    }

    .navbar-nav li ul.drop-down li a {
        color: #00bcd4;
        font-size: 14px
    }

    .hidden {
        display: none!important
    }
}

@media (max-width: 1025px) {
    .navbar-nav>li>a {
        padding: 5px 15px;
        font-weight: 700;
        font-size: 14px
    }

    .navbar .btn {
        display: none
    }

    .statitics .indicator {
        background: none;
        display: block;
        height: auto;
        float: left
    }

    .statitics .indicator .icon {
        width: 64px;
        height: 64px;
        float: left;
        background: #829DCE;
        border-radius: 4px;
        margin-right: 24px;
        background-repeat: no-repeat;
        background-position: center
    }

    .statitics .indicator .file-icon {
        float: none;
        display: block;
        margin: 0 auto;
        margin-bottom: 16px
    }

    .statitics .indicator .icon i:before {
        font-size: 48px;
        font-style: normal;
        margin-left: 10px
    }

    .statitics .indicator h5 {
        text-align: center;
        font-size: 12px
    }

    .statitics .indicator .counter {
        text-align: center;
        font-size: 24px;
        line-height: 30px;
        letter-spacing: -.018em
    }
}

.navbar-brand.separate {
    padding-left: 0
}

.header-address {
    text-align: right
}

.header-address .header-content {
    display: inline-block
}

.header-address .header-content h5 {
    font-size: 13px;
    display: inline;
    color: #9b9b9b
}

.header-address .header-content p {
    font-size: 13px;
    margin: 0 0 0;
    text-align: left
}

.header-address ul {
    display: inline
}

.header-address ul li {
    font-size: 14px;
    font-weight: 900;
    color: #00bcd4;
    text-decoration: none;
    display: inline-block
}

.header-address ul li:first-child {
    margin-right: 10px;
    padding-right: 12px
}

.header-slogan ul li {
    font-weight: 700;
    font-size: 14px;
    line-height: 14px;
    color: #374046;
    margin: 0 0 4px;
    list-style-type: none;
}

.header-slogan ul li.map {
    display: block;
    background-image: url(../images/icon/map.png);
    background-repeat: no-repeat;
    padding-left: 20px;
    line-height: 17px;
}

.header-slogan ul li.clock {
    display: block;
    background-image: url(../images/icon/clock.png);
    background-repeat: no-repeat;
    padding-left: 20px;
    line-height: 17px;
}

.header-slogan {
    margin-top: 5px
}

.header-slogan p {
    margin: 0 0 0;
    text-align: left;
    font-size: 13px;
    line-height: 17px;
    border-left: 1px solid #ccc;
    padding-left: 12px
}

.rev_slider_wrapper .btn.btn-primary:hover {
    color: #fff!important
}

.feature-2 {
    margin-bottom: 30px;
    padding: 7px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s
}

.feature-2 .feature-icon i {
    font-size: 45px;
    width: 45px;
    height: 45px;
    line-height: 45px;
    color: #00bcd4;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s
}

.feature-2 .feature-icon i:before {
    font-size: 55px
}

.feature-2 .media-body h3 {
    font-size: 16px;
    line-height: 20px;
    margin-top: 15px;
    font-weight: 600;
    color: #000;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s
}

.feature-2 .media-body p {
    color: #000;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s
}

.feature-2:hover {
    background: #00bcd4
}

.feature-2:hover i,.feature-2:hover h3,.feature-2:hover p,.feature-2:hover a {
    color: #fff
}

.feature-3 {
    margin-bottom: 50px
}

.feature-3 .feature-icon i {
    font-size: 60px;
    height: 36px;
    line-height: 36px;
    color: #00bcd4;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.feature-3 h3 {
    font-size: 16px;
    position: relative;
    margin-top: 25px;
    margin-bottom: 20px;
    text-transform: uppercase;
    color: #333;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.feature-3:hover .feature-icon i {
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

.feature-3 .feature-icon i:before {
    font-size: 50px
}

.feature-3:hover h3 {
    color: #00bcd4
}

.feature-4 {
    position: relative;
    margin-bottom: 30px
}

.feature-4:before {
    content: '';
    position: absolute;
    width: 1px;
    border-left: 1px dashed #cecece;
    top: 1%;
    bottom: 0;
    left: 38px;
    margin-bottom: -72px
}

.feature-4 .feature-icon {
    position: relative
}

.feature-4 .feature-icon i {
    border: 1px solid #fff;
    border-radius: 50%;
    padding: 15px;
    display: inline-table;
    font-size: 36px;
    width: 78px;
    background: #00bcd4;
    line-height: 45px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s
}

.feature-4 .feature-icon i:before {
    font-size: 45px
}

.feature-4 .media-body {
    padding-left: 10px
}

.feature-4 .media-body h3 {
    font-weight: 700;
    font-size: 24px
}

.feature-4 .media-body p,.feature-4 .media-body ul {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em;
    margin: 28px 0;
}

.feature-4 .media-body a {
    color: #039be5;
    font-size: 16px;
    !important}

.feature-4:hover .feature-icon i {
    border: 1px solid #00bcd4;
    background: #fff;
    color: #333
}

.feature-4:last-child {
    margin-bottom: 0
}

.feature-4:last-child:before {
    display: none
}

.feature-6 {
    margin-bottom: 50px
}

.feature-6 img {
    margin-bottom: 20px
}

.feature-6 h4 {
    margin-bottom: 15px;
    font-size: 20px
}

.feature-6 p {
    font-size: 17px;
    line-height: 1.25;
    font-weight: 500;
    text-align: left;
    letter-spacing: .004em
}

.feature-6 a {
    color: #00bcd4
}

.feature-6 a i {
    -webkit-transition: margin-left 0.3s ease-in;
    transition: margin-left 0.3s ease-in
}

.feature-6 a:hover {
    color: #333;
    -webkit-transition: color 0.3s ease-in;
    transition: color 0.3s ease-in
}

.feature-6 a:hover i {
    margin-left: 5px
}

.value-breadcrumb p {
    font-weight: 700;
    font-size: 16px
}

.running-project-2 {
    text-align: center;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden
}

.running-project-2 .project-details {
    background: rgba(0, 188, 212, 0);
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 100%;
    color: #fff;
    opacity: 0
}

.running-project-2 .project-details h4 {
    padding-top: 20%;
    margin-bottom: 30px;
    color: #fff
}

.running-project-2:hover .project-details {
    opacity: 1;
    bottom: 0
}

.call-to-action p,.call-to-action ul {
    padding: 0 10%;
    margin-bottom: 20px;
    font-size: 22px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .004em
}

.call-to-action h2 {
    padding: 0 10%;
    margin: 65px 0 20px;
    font-size: 34px;
    line-height: 44px;
    font-weight: 800
}

.call-to-action.white h3,.call-to-action.white p {
    color: #fff
}

.call-to-action-breadcrumb p {
    font-size: 25px;
    line-height: 1.25;
    font-weight: 400;
    letter-spacing: .004em
}

.call-to-action.white h3,.call-to-action.white p {
    color: #fff
}

.call-to-action-breadcrumb p {
    font-size: 25px;
    line-height: 1.25;
    font-weight: 400;
    letter-spacing: .004em
}

.palace-tab .nav-tabs>li {
    position: relative;
    float: inherit;
    height: 50px;
    text-align: center
}

.palace-tab .nav-tabs>li a {
    color: #343434;
    font-size: 16px;
    line-height: 22px;
    font-weight: 600;
    padding: 0;
    border: 0;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s
}

.palace-tab .nav-tabs>li a i {
    font-size: 28px;
    color: #343434;
    display: block;
    margin-bottom: 20px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    font-weight: 400
}

.palace-tab .nav-tabs>li a i:before {
    font-size: 50px
}

.palace-tab .nav-tabs>li a:hover,.palace-tab .nav-tabs>li a:focus {
    background-color: transparent;
    border: 0
}

.palace-tab .nav-tabs>li.active a,.palace-tab .nav-tabs>li.active a:focus,.palace-tab .nav-tabs>li.active a:hover,.palace-tab .nav-tabs>li:hover a,.palace-tab .nav-tabs>li:hover a:focus,.palace-tab .nav-tabs>li:hover a:hover {
    background-color: transparent;
    border: 0;
    color: #00bcd4
}

.palace-tab .nav-tabs>li.active i,.palace-tab .nav-tabs>li:hover i {
    color: #00bcd4
}

.palace-tab .nav-tabs>li.active:before,.palace-tab .nav-tabs>li:hover:before {
    position: absolute;
    z-index: 1;
    bottom: -5px;
    left: 48%;
    content: '';
    -webkit-transform: rotate(-45deg) translate(-50%);
    transform: rotate(-45deg) translate(-50%);
    border-width: 15px;
    border-style: solid;
    border-color: #f3f3f3 #f3f3f3 transparent transparent
}

.palace-tab .tab-content {
    position: relative
}

.palace-tab .tab-content:before,.palace-tab .tab-content:after {
    position: absolute;
    top: 0;
    left: -2000px;
    width: 2000px;
    height: 100%;
    content: '';
    background: #f3f3f3
}

.palace-tab .tab-content:after {
    right: -2000px;
    left: inherit
}

.palace-tab .tab-content .tab-pane {
    padding: 50px 0 80px;
    background-color: #f3f3f3
}

@media only screen and (max-width: 480px) {
    .nav-tabs.nav-justified li {
        width: 32%;
        float: left
    }

    .nav-tabs.nav-justified li a {
        padding: 10px 2px
    }

    .nav-tabs.nav-justified li img {
        max-width: 100%
    }
}

@media only screen and (max-width: 320px) {
    .nav-tabs.nav-justified li {
        width: 50%;
        float: left
    }
}

@media only screen and (min-width: 481px) and (max-width:600px) {
    .nav-tabs.nav-justified li {
        width: 20%;
        float: left
    }

    .nav-tabs.nav-justified li a {
        padding: 10px 2px
    }

    .nav-tabs.nav-justified li img {
        max-width: 100%
    }
}

@media only screen and (min-width: 601px) and (max-width:800px) {
    .nav-tabs.nav-justified li {
        width: 20%;
        float: left
    }

    .nav-tabs.nav-justified li a {
        padding: 10px 2px
    }

    .nav-tabs.nav-justified li img {
        max-width: 100%
    }
}

@media only screen and (min-width: 801px) and (max-width:991px) {
    .nav-tabs.nav-justified li {
        width: 20%;
        float: left
    }

    .nav-tabs.nav-justified li a {
        padding: 10px 2px
    }

    .nav-tabs.nav-justified li img {
        max-width: 100%
    }
}

@media only screen and (min-width: 992px) and (max-width:1199px) {
    .nav-tabs.nav-justified li {
        width: 20%;
        float: left
    }

    .nav-tabs.nav-justified li a {
        padding: 10px 2px
    }
}

.skill-section {
    margin-top: 20px
}

.skill-section .skill {
    padding-bottom: 15px
}

.skill-section .skill-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    font-weight: 400
}

.skill-section .progress {
    overflow: visible;
    height: 5px;
    margin-bottom: 10px;
    margin-top: 5px;
    background: #f9f9f9;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none
}

.skill-section .progress-bar {
    background: #00bcd4;
    float: left;
    height: 100%;
    font-size: 12px;
    color: #fff;
    text-align: center;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: width 0.6s ease;
    transition: width 0.6s ease;
    position: relative
}

.pricing-box {
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: 0 2px 20px #00bcd4
}

.pricing-box .pricing-head {
    text-align: center;
    background-position: center;
    background-size: cover;
    padding: 50px 0
}

.pricing-box .pricing-head .previous-price {
    text-decoration: line-through
}

.pricing-box .pricing-head h4 {
    padding: 10px 0;
    font-size: 26px;
    background: #00bcd4e8
}

.pricing-box .pricing-head h5 {
    font-size: 16px;
    background: #00bcd4e8;
    padding-bottom: 10px
}

.pricing-box .pricing-head.white span,.pricing-box .pricing-head.white h4,.pricing-box .pricing-head.white h5 {
    color: #fff
}

.pricing-box .pricing-body {
    padding: 10px 30px
}

.pricing-box .pricing-body li {
    padding: 10px 0
}

.pricing-box .pricing-body li i {
    float: right
}

.pricing-box .pricing-footer a {
    display: block;
    padding: 1em;
    background: #f2f2f2;
    color: #2b2c2d;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all .4s ease-in-out
}

.pricing-box .pricing-footer a:hover {
    background: #00bcd4;
    color: #fff
}

.animated-counter {
    padding-bottom: 30px
}

.animated-counter .animated-icon span {
    font-size: 40px;
    padding-bottom: 28px
}

.animated-counter .animated-number {
    font-size: 60px;
    font-weight: 700;
    line-height: 60px;
    position: relative;
    margin: 0;
    padding: 0
}

.animated-counter .animated-number:after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 37px;
    height: 2px;
    margin: -30px auto;
    content: '';
    background: #333
}

.animated-counter h4 {
    font-size: 25px;
    line-height: 25px;
    margin: 70px 0 0;
    padding: 0
}

.animated-counter.white .animated-icon,.animated-counter.white .animated-number,.animated-counter.white h4 {
    color: #fff!important
}

.animated-counter.white .animated-number:after {
    background: #fff
}

.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form select,.quotation-form input[type="text"],.quotation-form input[type="email"],.quotation-form input[type="tel"],.quotation-form select {
    width: 100%;
    display: block;
    height: 45px;
    background: transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    color: #2c3345;
    font-size: 13px;
    border: 1px solid #ccc;
    outline: none;
    margin: 0 0 20px;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out
}

.contact-form input[type="text"]:focus,.contact-form input[type="email"]:focus,.contact-form input[type="tel"]:focus,.contact-form select:focus,.quotation-form input[type="text"]:focus,.quotation-form input[type="email"]:focus,.quotation-form input[type="tel"]:focus,.quotation-form select:focus {
    border: 1px solid #00bcd4
}

.contact-form textarea,.quotation-form textarea {
    margin-bottom: 20px;
    background: transparent;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    color: #2c3345;
    font-size: 13px;
    border: 1px solid #ccc;
    outline: none
}

.contact-form .help-block,.quotation-form .help-block {
    color: red
}

.contact-form-background {
    margin-bottom: 16px;
    background: rgb(3 162 183 / 40%);
    border-radius: 4px;
    padding: 16px;
}

.contact-form h3 {
    background: rgb(3 162 183);
    border-radius: 4px;
    padding: 10px 20px 7px 20px;
    margin-top: 0px;
    margin-left: -40px;
    margin-bottom: 10px;
    font-weight: 800;
    font-size: 31px;
    color: #FFFFFF!important;
    box-shadow: 0 0 10px 5px rgb(0 0 0 / 25%);
}

.footer-section p {
    color: #bfbfbf;
    font-size: 13px
}

.footer-office-hour {
    margin-bottom: 80px
}

.footer-office-hour ul li {
    font-size: 18px;
    color: #00bcd4;
    text-decoration: none;
    padding: 2px 0;
    display: inline-block
}

.footer-office-hour ul li a {
    font-size: 20px;
    color: #00bcd4;
    text-decoration: none;
    padding: 2px 0;
    display: block
}

.footer-office-hour ul li:first-child {
    margin-left: 0;
    border-right: 1px solid #455a64;
    margin-right: 10px;
    padding-right: 12px
}

.footer-list {
    margin-bottom: 30px
}

.footer-list ul li a {
    color: #00bcd4;
    font-size: 16px;
    font-weight: 600;
    display: block;
    padding: 5px 0;
    text-decoration: none;
    -webkit-transition: all 0.4s;
    transition: all 0.4s
}

.footer-list ul li p {
    color: #000;
    font-size: 16px;
    font-weight: 600
}

.footer-list ul li a i,.footer-list ul li p i {
    padding-right: 8px
}

.footer-list ul li a i:before,.footer-list ul li p i:before {
    font-size: 10px
}

.footer-list ul li a:hover,.footer-list ul li p:hover {
    color: #000
}

.copyright {
    border-top: 1px solid #455a64;
    padding: 30px 0;
    margin-top: 50px
}

.copyright .copyright-text p {
    color: #9b9b9b
}

.copyright .copyright-text a {
    color: #00bcd4;
    font-weight: 600
}

.footer-menu ul {
    text-align: right
}

.footer-menu ul li {
    display: inline-block
}

.footer-menu ul li a {
    color: #bfbfbf;
    font-size: 13px;
    display: inline-block;
    padding-left: 25px;
    text-decoration: none
}

.error-page {
    text-align: center
}

.error-page h1 {
    font-size: 120px;
    margin-bottom: 40px;
    color: #fff
}

.error-page h3 {
    font-size: 60px;
    color: #fff
}

.error-page p {
    font-weight: 700;
    margin-bottom: 30px;
    color: #fff
}

.back-to-top.reveal {
    cursor: pointer;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    opacity: 30;
    filter: alpha(opacity=3000)
}

.back-to-top.reveal:focus,.back-to-top.reveal:active,.back-to-top.reveal:hover {
    background-color: #24252a;
    opacity: 100;
    filter: alpha(opacity=10000)
}

.back-to-top {
    position: fixed;
    z-index: 1000;
    bottom: 15px;
    width: 40px;
    height: 40px;
    margin: 0;
    background-color: #00bcd4;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: opacity 350ms;
    -o-transition: opacity 350ms;
    transition: opacity 350ms
}

.back-to-top i {
    position: absolute;
    top: 50%;
    left: 35%;
    margin-top: -15px;
    margin-left: -3px;
    color: #fff
}

.bg-white p, .bg-white ul li, .bg-white ol li, .bg-white a:not(.fx-btn), .bg-white h1, .h1, .bg-white h2, .h2, .bg-white h3, .h3, .bg-white h4, .h4, .bg-white h5, .h5, .bg-white h6 {
    color: #222;
}

.bg-white p {
    line-height: 1.667em;
    letter-spacing: -.005em;
    margin-top: 0;
    margin-bottom: 24px;
}

.bg-white h2 {
    font-size: 38px;
    line-height: 1.211em;
    letter-spacing: -.042em;
    margin-bottom: 16px;
    font-weight: 900;
}

ul.links-listing-block li a,.bg-white a,.bg-white a strong {
    word-break: break-word;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-underline-position: under;
    text-decoration-color: #D2DCEE!important
}

ul.links-listing-block li a,.bg-white a:active,ul.links-listing-block li a,.bg-white a:hover {
    outline: 0;
}

ul.links-listing-block li a,.bg-white a:hover {
    -webkit-text-decoration-color: #829DCE;
    text-decoration-color: #829DCE!important
}

.masthead-blog {
    padding: 48px 0
}

.masthead-blog .masthead-content h1 {
    font-size: 56px;
    line-height: 1.143em;
    letter-spacing: normal;
    margin-bottom: 24px;
    font-weight: 900;
    margin-top: 0;
}

.masthead-blog .masthead-content * {
    color: #fff
}

.masthead-blog .masthead-content .description {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em
}

.masthead-blog p.featured-in {
    color: var(--gray-09);
    font-weight: 700;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    letter-spacing: .55em;
    text-transform: uppercase
}

.awards-logos-section {
    margin: 0;
    padding: 0
}

.awards-logos-section .awards-logos-block2 {
    padding-top: 0;
    border-bottom: 0;
    text-align: center;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: column
}

.awards-logos-block2.js-logos-slider .slick-prev {
    left: 0
}

.awards-logos-block2.js-logos-slider .slick-next {
    right: 0
}

.awards-logos-block2.js-logos-slider {
    display: block
}

.awards-logos-block2.js-logos-slider .logo-item {
    padding: 0 10px
}

.awards-logos-block2>div {
    margin: 0 27px
}

.awards-logos-block2 .logo-item img {
    margin: 0 auto
}

.blog-listing-container,.post-listing-container {
    padding-bottom: 48px
}

.blog-listing-container a i:before {
    font-size: 14px;
    margin-left: 10px;
}

.blog-listing-categories {
    margin: 48px 0
}

.blog-listing-categories ul {
    list-style: none;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    display: none
}

.blog-listing-categories ul li {
    margin: 0
}

.blog-listing-categories ul li a {
    color: #869298;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -.0045em;
    transition: color .35s;
    text-decoration: none
}

.blog-listing-categories ul li.active a {
    color: #207DE9
}

.blog-listing-categories ul li a:hover {
    color: #207DE9;
    text-decoration: none
}

.blog-listing,.post-listing {
    display: flex;
    flex-wrap: wrap
}

.blog-post__column {
    display: flex;
    flex-direction: column;
    margin-bottom: 87px
}

.blog-post__item {
    flex: 1 0 auto;
    flex-direction: column;
    display: flex
}

.blog-post__img-container {
    background: #F2F6FC;
    border-radius: 4px;
    height: 368px;
    width: 100%;
    margin-bottom: 24px;
    padding: 25px;
    position: relative
}

.blog-post__category-label {
    background: #ff4a4c;
    border-radius: 4px;
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    line-height: 24px;
    letter-spacing: -.003em;
    padding: 4px 16px;
    text-decoration: none;
    margin-top: -10px;
    margin-left: -10px;
    position: absolute;
    display: block
}

.blog-post__category-label a:active, .blog-post__category-label a:hover {
    outline: 0;
    color: #fff;
}

.blog-post__category-label-search {
    background: #fc942f
}

.blog-post__category-label-social-media {
    background: #0f62b5
}

.blog-post__category-label-web-design {
    background: #94268c
}

.blog-post__category-label-internet {
    background: #99cc63
}

.blog-post__category-label-news {
    background: #445b8d
}

.blog-post__img {
    display: block;
    height: 100%
}

.blog-post__img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    font-family: 'object-fit: cover;';
    object-position: center
}

.blog-post__item:first-of-type {
    border-top: 0;
    padding-top: 0;
    margin-top: 0
}

.blog-post__body {
    flex: 1 0 auto;
    flex-direction: column;
    display: flex
}

.blog-post__title {
    color: var(--heading-color);
    font-weight: 600;
    font-size: 22px;
    line-height: 1.455em;
    letter-spacing: -.018em;
}

.blog-post__title a {
    color: var(--heading-color);
    text-decoration: none
}

.blog-post__item .btn,.blog-post__item .btn-primary {
    margin-top: 30px
}

body.single-post .single-post-content .wysiwyg {
    padding-bottom: 0!important
}

.blockquote, .wysiwyg blockquote {
    margin-top: 16px;
    margin-bottom: 16px;
    position: relative;
    z-index: 0;
    padding: 70px 20%;
    text-align: center;
    background: url(/assets/images/blog/shape-card-bg.png) no-repeat 0 center #0C57AD;
    -webkit-background-size: auto 100%;
    -moz-background-size: auto 100%;
    background-size: auto 100%;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}

.blockquote:before, .wysiwyg blockquote:before {
    z-index: -1;
    content: "";
    position: absolute;
    top: 55px;
    left: -43px;
    width: 121px;
    height: 110px;
    background: url(/assets/images/blog/shape-card-1.webp) no-repeat center;
}

blockquote:after, .wysiwyg blockquote:after {
    z-index: -1;
    content: "";
    position: absolute;
    bottom: 55px;
    right: -22px;
    width: 95px;
    height: 87px;
    background: url(/assets/images/blog/shape-card-2.webp) no-repeat center;
}

.blockquote *, .wysiwyg blockquote * {
    color: #fff!important;
}

.single-post-content .btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.333em;
    font-size: 18px;
    color: var( --gray-07);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 15px;
    border-radius: 4px;
    font-family: var( --font-inter);
    text-transform: none;
    outline: none;
    height: auto;
    margin: 0
}

.single-post-content .btn-primary {
    color: var( --white)!important;
    border-color: var( --blue-10)!important;
    font-size: 18px;
    line-height: 1.333em;
    background-color: var( --blue-10)!important;
    font-weight: 500;
    transition: background .35s, color .35s;
    margin-bottom: 20px
}

.single-post-content .btn-primary:hover {
    background-color: var( --primary-blue-04);
    border-color: var( --primary-blue-04)
}

.single-post-content .btn.green,.single-post-content .fx-secondary-btn,.single-post-content .fx-complementary-btn {
    color: var( --white)!important;
    border-color: var( --green-04)!important;
    font-size: 18px!important;
    line-height: 1.333em!important;
    background-color: var( --green-04)!important;
    font-weight: 500!important;
    transition: all .35s!important
}

.single-post-content .btn.green:hover,.single-post-content .fx-complementary-btn:hover,.single-post-content .fx-secondary-btn:hover {
    background-color: var( --green-05)!important
}

.single-post-content .fluid-width-video-wrapper iframe {
    top: -30px
}

.blog-post__meta {
    color: var(--gray-05);
    font-size: 15px;
    font-weight: 500
}

.blog-post__meta img {
    float: left;
    border-radius: 32px;
    margin-right: 16px;
    width: 32px!important;
    height: 32px!important
}

.blog-post__meta .date {
    margin-left: .3rem
}

.blog-post__excerpt {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em
}

.blog-post__excerpt p {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em;
    color: #869298;
    margin-top: 0;
    margin-bottom: 24px;
}

.fx-btn i {
    font-size: 22px;
    font-weight: 500;
    margin-left: 10px;
    position: relative;
    top: 3px;
}

.ic-fx-arrow-right:before {
    background-image: url(../images/icon/arrow-right-white.svg);
    background-repeat: no-repeat;
    margin-left: 10px;
}

.blog-post__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between
}

.blog-post__footer .times-for-reading {
    color: #ABB9C2;
    font-family: var(--font-inter);
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
    margin-top: 10px;
    text-align: right;
    letter-spacing: -.003em
}

.masthead-blog--archives .masthead-content {
    text-align: left
}

.masthead-blog--archives p.featured-in {
    text-align: left
}

.masthead-blog--archives .awards-logos-block2>div {
    margin-left: 0;
    margin-bottom: 12px
}

.masthead-blog--archives .awards-logos-block2 .logo-item img {
    height: 28px
}

.masthead-blog--archives .category-image {
    height: auto;
    object-fit: contain;
    margin-bottom: 1.5rem
}

.masthead-blog--archives .masthead-row {
    display: flex;
    flex-direction: column-reverse
}

.masthead-blog--archives .masthead-row div:last-child {
    flex-direction: unset;
    justify-content: flex-start
}

body.archive.category section.categories-posts {
    background: var(--blue-00);
    padding-top: 48px;
    position: relative;
    z-index: 1
}

body.archive.category section.categories-posts .post-wrapper-list {
    display: flex;
    flex-wrap: wrap
}

body.archive.category section.categories-posts .post-wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: 45px
}

body.archive.category section.categories-posts .post-wrapper:last-child {
    margin-bottom: 0
}

body.archive.category section.categories-posts .post-wrapper a {
    flex: 1 0 auto;
    flex-direction: column;
    display: flex;
    text-decoration: none
}

body.archive.category section.categories-posts .main-title {
    text-align: center;
    margin-bottom: 60px;
    margin-top: 0
}

body.archive.category section.categories-posts .description {
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    letter-spacing: -.018em;
    color: var(--heading-color);
    margin-top: 10px;
    padding-left: 5%;
    padding-right: 5%
}

body.archive.category section.categories-posts .featured-image {
    height: 150px
}

body.archive.category section.categories-posts .featured-image img {
    border-radius: 10px;
    width: 100%;
    height: 100%;
    object-fit: cover
}

body.archive.category section.categories-posts .custom-message {
    max-width: 630px;
    text-align: center;
    margin: 0 auto;
    margin-top: 50px;
    width: 100%
}

body.archive.category section.categories-posts .main-action-btn {
    position: absolute;
    bottom: -77px;
    left: 0;
    right: 0;
    text-align: center
}

body.archive.category section.categories-posts .main-action-btn .fx-btn {
    box-shadow: 0 2px 19px rgb(2 50 103/48%);
    z-index: 1
}

body.archive.category section.popular-posts-section {
    padding-top: 150px;
    position: relative
}

body.archive.category section.popular-posts-section::before {
    content: '';
    float: left;
    display: block;
    width: 110%;
    height: 100px;
    position: absolute;
    top: -50px;
    background: var(--blue-00);
    border-radius: 100%;
    left: -5%
}

body.archive.category section.popular-posts-section .main-title>img {
    position: absolute;
    max-width: 350px;
    width: 100%;
    top: -10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1
}

body.archive.category section.popular-posts-section .main-title {
    color: var(--white);
    display: inline-block;
    margin-bottom: 0;
    text-align: center
}

body.archive.category section.popular-posts-section .popular-posts-wrapper {
    margin-top: 70px
}

.js-popular-posts-slider .slick-track {
    display: flex!important
}

.js-popular-posts-slider .slick-slide>div {
    height: 100%!important
}

.js-popular-posts-slider.slick-initialized .slick-slide {
    vertical-align: top;
    height: inherit!important
}

.popular-posts-wrapper .widget-popular-posts ul {
    list-style: none;
    margin-bottom: 0
}

.popular-posts-wrapper .widget-popular-posts ul li {
    height: 100%;
    margin: 0;
    padding: 0 15px
}

.popular-posts-wrapper .widget-popular-posts ul li a {
    background: var(--white);
    box-shadow: 0 8px 15px rgb(210 220 238/35%);
    display: block;
    color: var(--heading-color);
    font-size: 21px;
    height: 100%;
    line-height: 30px;
    letter-spacing: -.018em;
    padding: 32px;
    text-decoration: none
}

.popular-posts-wrapper .widget-popular-posts ul li a .authors {
    color: var(--heading-color);
    font-size: 15px;
    display: block;
    display: flex;
    align-items: center;
    margin-top: .5rem;
    line-height: 24px;
    letter-spacing: -.003em
}

.popular-posts-wrapper .widget-popular-posts ul li a .authors img {
    border-radius: 32px;
    margin-right: 16px;
    width: auto;
    max-width: 32px;
    max-height: 32px
}

.popular-posts-wrapper .widget-popular-posts ul li a span.link {
    color: var(--primary-blue-03);
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: .05em;
    margin-top: .5rem
}

.popular-posts-wrapper .widget-popular-posts .slick-prev,.popular-posts-wrapper .widget-popular-posts .slick-next {
    background: var(--primary-blue-03)
}

.popular-posts-wrapper .widget-popular-posts .slick-prev:hover,.popular-posts-wrapper .widget-popular-posts .slick-next:hover {
    background: var(--primary-blue-04)
}

.popular-posts-wrapper .widget-popular-posts .slick-prev::before,.popular-posts-wrapper .widget-popular-posts .slick-next::before {
    height: auto;
    width: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.popular-posts-wrapper .widget-popular-posts .slick-prev::before {
    content: "\e92f"
}

.popular-posts-wrapper .widget-popular-posts .slick-prev {
    left: 0
}

.popular-posts-wrapper .widget-popular-posts .slick-next {
    right: 0
}

.popular-posts-wrapper .widget-popular-posts .slick-next::before {
    content: "\e930"
}

body.archive.category section.further-reading {
    padding: 48px 0 120px;
    position: relative
}

body.archive.category section.further-reading .main-title {
    color: var(--white);
    letter-spacing: normal;
    text-align: center
}

body.archive.category section.further-reading .further-reading-list * {
    color: var(--white)
}

body.archive.category section.further-reading .further-reading-list ul {
    list-style: none
}

body.archive.category section.further-reading .further-reading-list ul li {
    margin-left: 0;
    margin-bottom: 0
}

body.archive.category section.further-reading .further-reading-list ul li a {
    font-size: 16px;
    text-decoration: none
}

body.archive.category section.further-reading .categories-scroll-down-link {
    margin-bottom: 1.5rem;
    margin-top: 5rem;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -40px
}

body.archive.category section.further-reading .categories-scroll-down-link a {
    color: var(--yellow-03);
    display: inline-block;
    font-weight: 900;
    font-size: 22px;
    line-height: 30px;
    letter-spacing: -.018em;
    text-align: center;
    text-decoration: none
}

body.archive.category section.further-reading .categories-scroll-down-link a span {
    background: var(--green-04);
    color: var(--white);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 35px;
    width: 35px;
    margin: 1rem auto 0
}

@media(min-width: 768px) {
    .masthead-blog {
        padding: 64px 0
    }

    .awards-logos-section .awards-logos-block2 {
        flex-direction: row
    }

    .masthead-blog--archives .awards-logos-section .awards-logos-block2 {
        justify-content: flex-start
    }

    .blog-listing-container, .post-listing-container {
        padding-bottom: 64px
    }

    body.archive.category section.categories-posts .post-wrapper {
        margin-bottom: 0
    }

    body.archive.category section.categories-posts .post-wrapper:nth-child(n+4) {
        margin-top: 60px
    }

    .masthead-blog--archives .masthead-row {
        flex-direction: row
    }

    .blog-post__meta .authors {
        display: flex;
        align-items: center
    }

    .blog-post__footer {
        flex-direction: row
    }

    .blog-post__footer .times-for-reading {
        margin-top: 0
    }
}

@media(min-width: 1025px) {
    .masthead-blog {
        padding: 96px 0
    }

    .masthead-blog .masthead-content .description {
        font-size: 21px;
        line-height: 35px
    }

    .blog-listing-categories .category-select {
        display: none
    }

    .blog-listing-categories ul {
        display: flex
    }

    .blog-listing-container, .post-listing-container {
        padding-bottom: 96px
    }

    .masthead-blog--archives .awards-logos-block2>div {
        margin-right: 20px
    }

    .popular-posts-wrapper .widget-popular-posts .slick-prev::before, .popular-posts-wrapper .widget-popular-posts .slick-next::before {
        font-size: 50px
    }

    .popular-posts-wrapper .widget-popular-posts .slick-prev, .popular-posts-wrapper .widget-popular-posts .slick-next {
        height: 72px;
        width: 72px;
        top: -130px;
        transform: none
    }

    .popular-posts-wrapper .widget-popular-posts .slick-prev {
        left: inherit;
        right: 5%;
        margin-right: 30px
    }
}

.single-post-header {
    padding-top: 48px;
    font-family: 'Inter',sans-serif;
    padding: 44px 0 0;
    background-color: #083A74;
    position: relative;
    z-index: 1;
}

.single-post-header h1 {
    font-family: inherit;
    margin: 0 0 46px;
    font-weight: 900;
    color: #FFF;
}

.single-post .authors {
    font-family: inherit;
    margin: 0 0 46px;
    font-weight: 900;
    color: #FFF;
}

.single-post .authors img {
    border-radius: 32px;
    margin-bottom: 10px;
    margin-right: 16px
}

.single-post .authors strong {
    font-weight: 500
}

/*.single-post .authors>span{display: block}*/
.single-post .authors span.times-for-reading {
    margin-top: .5rem
}

.single-post-content iframe,.single-post-content img {
    margin-top: 30px
}

.single-post-content iframe {
    margin-bottom: 30px
}

@media(min-width: 768px) {
    .single-post .authors {
        display: flex;
        align-items: center
    }

    .single-post .authors img {
        float: left;
        margin-bottom: 0
    }

    .single-post .authors span.times-for-reading {
        margin-top: 0
    }
}

@media(min-width: 1025px) {
    .single-post-header h1 {
        font-size: 64px;
        line-height: 70px;
    }
}

.blog .page-sidebar .widget {
    margin-bottom: 50px
}

.load-more__progress {
    margin-top: 15px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 10px;
    border: 0;
    border-radius: 0;
    min-width: 250px
}

progress::-webkit-progress-bar,progress::-webkit-progress-value,progress::-moz-progress-bar {
    height: 10px;
    border: 0;
    border-radius: 0
}

progress::-webkit-progress-bar {
    background-color: #ddd
}

progress::-webkit-progress-value {
    background-color: #4a4a4a
}

.is-loading:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 50px;
    height: 50px;
    border: 5px solid;
    border-color: #e3e3e3 #e3e3e3 transparent;
    border-radius: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-animation: simpleSpin 1.5s linear infinite;
    animation: simpleSpin 1.5s linear infinite
}

.load-more__btn {
    border: 0;
    display: block;
    margin-top: 20px
}

.load-more__btn.is-loading {
    position: relative;
    opacity: .6;
    cursor: not-allowed
}

.load-more__btn.is-loading:before {
    width: 20px;
    height: 20px
}

.placeholder-block {
    position: relative;
    display: flex
}

.placeholder-block__inner {
    flex-grow: 1;
    background-color: #fafafa
}

.placeholder-block.is-loading:before {
    width: 50px;
    height: 50px
}

@-webkit-keyframes simpleSpin {
    0% {
        -webkit-transform: translate(-50%, -50%) rotateZ(0deg);
        transform: translate(-50%, -50%) rotateZ(0deg)
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotateZ(360deg);
        transform: translate(-50%, -50%) rotateZ(360deg)
    }
}

@keyframes simpleSpin {
    0% {
        -webkit-transform: translate(-50%, -50%) rotateZ(0deg);
        transform: translate(-50%, -50%) rotateZ(0deg)
    }

    100% {
        -webkit-transform: translate(-50%, -50%) rotateZ(360deg);
        transform: translate(-50%, -50%) rotateZ(360deg)
    }
}

.pagination-wrapper ol {
    list-style: none;
    margin: 0;
    padding: 0
}

.pagination-wrapper a,.pagination-wrapper .current {
    background: #f8f8f8;
    border: 1px solid #efecee;
    border-radius: 4px;
    color: #000;
    padding: 3px 6px
}

.pagination-wrapper a:hover {
    background: #eee
}

.pagination-wrapper .current {
    opacity: .3
}

.pagination-wrapper {
    padding: 15px 0 48px;
    width: 100%;
    display: block
}

.pagination-wrapper .wp-paginate {
    width: 100%;
    height: auto;
    display: inline-block;
    text-align: center
}

.pagination-wrapper .wp-paginate li {
    margin: 0;
    padding: 0
}

.pagination-wrapper .wp-paginate li a {
    color: #374046;
    border: 1px solid #CED4DA;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -.0055em;
    background-color: #fff;
    font-weight: 500;
    padding: 16px 22px;
    text-decoration: none;
    transition: color .35s, border .35s;
    text-align: left;
    width: 50%;
}

.pagination-wrapper .wp-paginate li a:hover {
    color: var( --primary-blue-03);
    border-color: var( --primary-blue-03)
}

.pagination-wrapper .wp-paginate a.prev,.pagination-wrapper .wp-paginate a[rel=prev] {
    float: left;
    padding-left: 40px!important;
    position: relative
}

.pagination-wrapper .wp-paginate a.prev::before,.pagination-wrapper .wp-paginate a[rel=prev]::before {
    content: "\e903";
    color: #829DCE;
    font-family: Flaticon;
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    left: 10px;
    transform: rotate(91deg);
}

.pagination-wrapper .wp-paginate a.next,.pagination-wrapper .wp-paginate a[rel=next] {
    float: right;
    margin-right: -50px!important;
    padding-right: 40px!important;
    position: relative;
}

.pagination-wrapper .wp-paginate a.next:after,.pagination-wrapper .wp-paginate a[rel=next]:after {
    content: "\e908";
    color: #829DCE;
    font-family: Flaticon;
    position: absolute;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-left: 10px
}

@media(min-width: 768px) {
    .pagination-wrapper {
        padding: 15px 0 64px
    }
}

@media(min-width: 1025px) {
    .pagination-wrapper {
        padding: 15px 0 96px
    }
}

.search-result {
    text-decoration: none
}

.search-result__title {
    margin-bottom: 16px
}

.search-result__excerpt {
    margin-bottom: 20px
}

.cta-careers-hiring {
    background: #263a5f;
    border-radius: 4px;
    padding: 32px;
    display: block;
    float: left;
    margin-bottom: 32px
}

.cta-careers-hiring .content {
    width: 60%;
    height: auto;
    float: left
}

.cta-careers-hiring h4 {
    color: #fff;
    margin-top: 0!important;
    margin-bottom: 8px!important
}

.cta-careers-hiring p {
    font-family: inter-regular, Sans-Serif;
    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    letter-spacing: -.003em;
    color: #abb9c2;
    margin-top: 0;
    margin-bottom: 0!important
}

.cta-careers-hiring .btn {
    display: inline-block;
    font-family: inter-medium, Sans-Serif;
    font-size: 16px;
    text-decoration: none
}

.cta-careers-hiring .btn-primary {
    background-color: #207de9;
    color: #fff;
    padding: 20px 40px;
    border-radius: 2px
}

.cta-careers-hiring .blue-primary-btn {
    color: #fff!important;
    height: 76px;
    border-color: #207de9;
    border-radius: 4px;
    font-weight: 700;
    font-size: 21px;
    line-height: 28px;
    text-align: center;
    letter-spacing: -.008em;
    padding: 24px;
    width: auto;
    outline: none;
    cursor: pointer
}

.cta-careers-hiring .blue-primary-btn:hover {
    background-color: #0c57ad
}

.cta-careers-hiring .hiring-btn {
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    letter-spacing: -.008em;
    padding: 16px 50px;
    height: 56px;
    width: auto;
    display: block;
    height: auto;
    float: right;
    margin-bottom: 40px;
    clear: both
}

.cta-careers-hiring .view-job-openings-msg {
    font-family: kalam-regular, Sans-Serif;
    font-size: 22px;
    line-height: 24px;
    color: #41d58c!important;
    transform: rotate(-5.48deg);
    width: auto;
    height: auto;
    float: right;
    clear: both;
    text-align: right
}

.cta-careers-hiring .view-job-openings-msg strong {
    color: #41d58c!important
}

.cta-careers-hiring .view-job-openings-msg img {
    position: absolute;
    top: -60px;
    left: 40%
}

.cta-careers-hiring .actions-buttons {
    margin-top: 0;
    width: 40%;
    height: auto;
    float: left
}

@media(max-width: 1024px) {
    .cta-careers-hiring {
        margin-bottom: 20px
    }
}

@media(max-width: 768px) {
    .cta-careers-hiring .content, .cta-careers-hiring .actions-buttons {
        width: 100%!important;
        float: none
    }

    .cta-careers-hiring .actions-buttons {
        margin-top: 40px
    }

    .cta-careers-hiring .hiring-btn, .cta-careers-hiring .view-job-openings-msg {
        width: 100%;
        text-align: center
    }
}

ul.links-listing-block {
    background: #fff;
    border: 1px solid #d2dcee;
    box-sizing: border-box;
    border-radius: 3px;
    padding: 32px;
    width: 100%;
    display: block;
    float: left;
    height: auto
}

ul.links-listing-block li {
    width: 100%;
    height: auto;
    display: block;
    float: left;
    margin: 0!important
}

ul.links-listing-block li h5 {
    font-weight: 700;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #869298;
    margin-top: 0;
    margin-bottom: 16px
}

ul.links-listing-block li a {
    font-weight: 600;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: -.0045em;
    color: #4c74b9;
    margin-top: 8px;
    margin-bottom: 0
}

ul.links-listing-block li a {
    color: #4c74b9;
}

.links-listing-block-wrapper {
    margin-top: 0
}

@media(max-width: 1024px) {
    .links-listing-block {
        margin-bottom: 20px
    }

    .links-listing-block-wrapper {
        margin-top: 0;
        margin-bottom: 20px
    }
}

.cta-get-posts-by-email {
    width: 100%;
    height: auto;
    float: left;
    background: #f2f6fc;
    border-radius: 4px;
    padding: 40px 48px;
    margin-bottom: 48px;
    background-repeat: no-repeat;
    background-position: top right
}

.cta-get-posts-by-email input[type=checkbox],.cta-get-posts-by-email input[type=radio] {
    margin-top: 12px;
    border-radius: 4px;
    margin-right: 16px
}

.cta-get-posts-by-email h2 {
    margin-top: 0;
    margin-bottom: 8px
}

.cta-get-posts-by-email p {
    margin-top: 0;
    margin-bottom: 17px
}

.cta-get-posts-by-email .frequency-checks {
    margin-bottom: 41px;
    float: left;
    height: auto;
    width: 100%
}

.cta-get-posts-by-email .form-check * {
    float: left
}

.cta-get-posts-by-email label {
    padding-right: 32px;
    font-family: inter-regular, Sans-Serif;
    font-style: normal;
    font-weight: 400;
    font-size: 21px;
    line-height: 35px;
    letter-spacing: -.0055em;
    color: #869298
}

.cta-get-posts-by-email .simple-suscribe-form {
    width: 100%;
    float: left;
    margin-bottom: 16px
}

.cta-get-posts-by-email .btn {
    display: inline-block;
    font-family: inter-medium, Sans-Serif;
    font-size: 16px;
    text-decoration: none
}

.cta-get-posts-by-email .btn-primary {
    background-color: #207de9;
    color: #fff;
    padding: 20px 40px;
    border-radius: 2px
}

.cta-get-posts-by-email .blue-primary-btn {
    color: #fff!important;
    height: 76px;
    border-color: #207de9;
    border-radius: 4px;
    font-weight: 700;
    font-size: 21px;
    line-height: 28px;
    text-align: center;
    letter-spacing: -.008em;
    padding: 24px;
    width: auto;
    outline: none;
    cursor: pointer
}

.cta-get-posts-by-email .blue-primary-btn:hover {
    background-color: #0c57ad
}

@media(max-width: 1024px) {
    .cta-get-posts-by-email p, .cta-get-posts-by-email label {
        font-size: 18px
    }

    .cta-get-posts-by-email .frequency-checks {
        margin-bottom: 20px
    }
}

.cta-get-posts-by-email .simple-suscribe-form input[type=text],.cta-get-posts-by-email .simple-suscribe-form input[type=email] {
    width: 50%;
    background: #fff;
    border: 1px solid #abb9c2;
    box-sizing: border-box;
    border-radius: 4px;
    padding: 24px;
    font-family: inter-regular, Sans-Serif;
    font-style: normal;
    font-weight: 600;
    font-size: 21px;
    line-height: 28px;
    letter-spacing: -.0055em;
    color: #869298;
    height: 76px;
    margin: 0;
    outline: none!important;
    float: left;
    box-shadow: none!important
}

.cta-get-posts-by-email .simple-suscribe-form {
    margin-top: 0;
    margin-bottom: 56px
}

.cta-get-posts-by-email .simple-suscribe-form .btn {
    width: 45%;
    margin-left: 10px;
    float: left
}

@media(max-width: 768px) {
    .cta-get-posts-by-email .simple-suscribe-form input[type=text], .cta-get-posts-by-email .simple-suscribe-form input[type=email] {
        height: 56px;
        font-size: 18px;
        line-height: 16px;
        letter-spacing: -.0055em;
        color: #869298;
        padding: 16px 20px
    }
}

@media(max-width: 768px) {
    .cta-get-posts-by-email .simple-suscribe-form input[type=text], .cta-get-posts-by-email .simple-suscribe-form input[type=email], .cta-get-posts-by-email .simple-suscribe-form .btn {
        width: 100%!important;
        margin-left: 0!important
    }

    .cta-get-posts-by-email .simple-suscribe-form .btn {
        margin-left: 0;
        padding-top: 16px;
        padding-bottom: 16px;
        font-size: 18px;
        line-height: 24px;
        height: 56px
    }
}

@media(min-width: 769px) {
    .cta-get-posts-by-email .simple-suscribe-form {
        flex-direction: row
    }
}

.post-single-content .author-info-expand-link {
    margin-left: 8px;
    float: left;
    width: 24px;
    height: 24px;
    display: block;
    margin-top: 2px
}

.post-single-content .authors-descriptions {
    float: left;
    display: none;
    margin-top: 12px
}

.post-single-content .feather-icon:after {
    width: 24px;
    height: 24px;
    content: "";
    display: inline-block;
    position: absolute
}

.post-single-content .info:after {
    background-image: url(/wp-content/themes/fx/assets/img/feather/info.svg);
    background-repeat: no-repeat
}

.post-single-content .x-circle:after {
    background-image: url(/wp-content/themes/fx/assets/img/feather/x-circle.svg);
    background-repeat: no-repeat
}

@media(max-width: 767px) {
    .post-single-content .author-info-expand-link {
        margin-top: 6px
    }
}

@media (min-width: 768px) .wysiwyg:first-of-type {
    padding-top: 30px;
}

@media (min-width: 748px) .wysiwyg {
    padding-top: 96px;
    padding-bottom: 96px;}

.wysiwyg {
    padding-top: 64px;
    padding-bottom: 64px;
}

.acc-nav {
    font-family: inherit;
    color: #EBEDEF;
    margin: 0;
    padding: 0 0 0 15px;
    margin-top: 0px!important;
    list-style-type: disc!important;
}

.table-of-contents {
    margin-bottom: 20px;
    border: 1px solid #F8F8F8;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    overflow: hidden;
}

.sidebar-container li, .additional>p, .additional>p a {
    margin-left: 0;
    font-size: 13px!important;
    line-height: 19px!important;
    list-style-type: disc!important;
}

.social-media__wrapper {
    padding: 15px 0;
}

.masthead {
    padding-top: 96px;
    padding-bottom: 96px;
    background-color: #00bcd4;
    color: #A9B4BC;
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form {
    padding: 20px 19px 37px;
    margin-bottom: 48px;
    font-family: inter,sans-serif;
    position: relative;
    z-index: 1;
    background: url(/assets/images/article/123456.png) no-repeat right 0 #f9fbff;
    overflow: hidden
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-body {
    position: relative;
    z-index: 1;
    padding: 0;
    width: 60%
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-title {
    font-weight: 900;
    font-size: 24px;
    line-height: 23px;
    letter-spacing: -.01em;
    color: #1c2d47;
    margin: 0 0 16px;
    font-family: inherit
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-text {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: -.01em;
    color: #869298;
    margin: 0 0 16px;
    font-family: inherit
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-form-group {
    margin-bottom: 8px
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-form-control {
    width: 100%;
    margin: 0;
    height: 56px;
    border: 1px solid #abb9c2;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 18px;
    line-height: 16px;
    letter-spacing: -.0055em;
    color: #374046;
    font-family: inherit;
    padding: 20px 16px;
    background-color: #fff
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-form-control:focus {
    outline: 0;
    border-color: #207de9
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-form-submit {
    cursor: pointer;
    display: block;
    width: 100%;
    background-color: #26b16d;
    color: #fff;
    margin: 0;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    letter-spacing: -.008em;
    font-family: inherit;
    height: auto;
    padding: 16px 32px
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-form-submit img {
    vertical-align: middle
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-form-submit:focus,.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form .card-form-submit:hover {
    background-color: #0e9251;
    color: #fff
}

.fx-cta.cta-seo-checker-sidebar-wrapper .seo-checker-sidebar-form label.error {
    margin-top: 12px;
    color: red;
    line-height: 22px
}

/* =========================================
   1. ������� ��������� (CORE)
   ========================================= */
:root {
    --vto-gold: #c5a47e;
    --vto-gold-hover: #e2c299;
    --vto-bg-dark: #0f0f0f;        /* �������� ��� */
    --vto-bg-darker: #0b0b0b;      /* ������������ ��� */
    --vto-bg-card: #161616;        /* ��� �������� */
    --vto-border: #222222;         /* ������� */
    --vto-text-main: #ffffff;
    --vto-text-muted: #999999;     /* ����������� ����� */
    --vto-anim: all 0.4s ease;
}

html, body {
    max-width: 100%;
    overflow-x: clip;
    position: relative;
}

/* Принудительно ограничиваем все блоки по ширине экрана */
section, div, header, footer {
    max-width: 100vw;
    box-sizing: border-box;
}

/* Отбивка для всех первых секций на страницах, чтобы они не заезжали под меню */
.vto-request-page, 
.vto-price-hero,
.vto-portfolio-hero,
.vto-thanks-page {
    padding-top: 140px !important; /* Увеличьте это значение, если меню очень высокое */
}

/* Корректировка для мобильных (меню обычно становится компактнее) */
@media (max-width: 768px) {
    .vto-request-page, 
    .vto-price-hero {
        padding-top: 100px !important;
    }
}


.vto-premium-page {
    background-color: var(--vto-bg-dark);
    color: var(--vto-text-main);
    font-family: 'Inter', sans-serif; /* ���������, ��� ����� ��������� */
    line-height: 1.6;
    overflow-x: hidden;
}

.vto-premium-page section {
    padding: 100px 0;
    border-bottom: 1px solid var(--vto-border);
    position: relative;
}

.vto-premium-page p {
    margin-bottom: 20px;
    font-size: 16px;
    color: var(--vto-text-muted);
}

/* ��������� ����� (�������/����� ��� ���������) */
.vto-text-accent {
    color: #eee;
    font-weight: 500;
}

/* =========================================
   2. ����������� � ���������
   ========================================= */
/* ������������� ���� ��������� */
.vto-title-block {
    margin-bottom: 60px;
    position: relative;
}

.vto-title-block.center { text-align: center; }
.vto-title-block.left { text-align: left; }

.vto-subtitle {
    display: block;
    color: var(--vto-gold);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 15px;
    font-weight: 600;
}

.vto-title-block h2 {
    font-size: 36px;
    line-height: 1.2;
    font-weight: 300;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 25px 0;
}

.vto-title-block h2 span { color: var(--vto-gold); }

/* ������� ����� */
.vto-divider {
    width: 60px;
    height: 2px;
    background: var(--vto-gold);
    margin-bottom: 30px;
}
.vto-title-block.center .vto-divider { margin: 0 auto 30px; }

/* �������� ��� ���������� */
.vto-title-desc {
    font-size: 17px;
    line-height: 1.8;
    color: var(--vto-text-muted);
    max-width: 800px;
}
.vto-title-block.center .vto-title-desc { margin: 0 auto; }


/* =========================================
   3. ������ (UI)
   ========================================= */
.vto-btn {
    display: inline-block;
    padding: 18px 40px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-decoration: none !important;
    transition: var(--vto-anim);
    text-align: center;
    border: 1px solid var(--vto-gold);
    cursor: pointer;
}

/* ������� ������ */
.vto-btn-fill {
    background: var(--vto-gold);
    color: #000;
}
.vto-btn-fill:hover {
    background: #fff;
    border-color: #fff;
    color: #000;
    transform: translateY(-3px);
}

/* ��������� ������ */
.vto-btn-outline {
    background: transparent;
    color: var(--vto-gold);
}
.vto-btn-outline:hover {
    background: var(--vto-gold);
    color: #000;
}


/* ============================================================
   FINAL PREMIUM HEADER STYLES (STROYREMDIZAYN)
   ============================================================ */

:root {
    --vto-gold: #c5a059;
    --vto-dark: #0a0a0a;
    --vto-gray: #1a1a1a;
    --vto-white: #ffffff;
}

/* 1. ������� �������� */
.vto-main-header {
    width: 100% !important;
    background: var(--vto-dark) !important;
    font-family: 'Montserrat', sans-serif !important;
    position: relative !important;
    z-index: 9999 !important;
}

/* 2. ������� ������ (�������) */
.vto-header-top {
    background: #000 !important;
    border-bottom: 1px solid var(--vto-gray) !important;
    padding: 0px 0 !important;
    font-size: 11px !important;
    color: #888 !important;
    text-transform: uppercase !important;
}

.vto-top-flex {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* 3. ������� ������ ��������� */
.vto-nav-bar {
   
    background: var(--vto-dark) !important;
}

.vto-nav-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;
}

/* ������� */
.vto-logo img {
    height: 40px !important;
    width: auto !important;
    filter: brightness(0) invert(1) !important;
    display: block !important;
}

/* 4. ���������� ���� */
.vto-nav {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vto-drop {
    position: relative !important;
}

.vto-drop > a {
    color: var(--vto-white) !important;
    text-decoration: none !important;
    padding: 10px 12px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    transition: 0.3s !important;
}

.vto-drop:hover > a {
    color: var(--vto-gold) !important;
}

/* ���������� ������ (�������) */
.vto-dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #111 !important;
    border: 1px solid var(--vto-gray) !important;
    min-width: 250px !important;
    display: none !important;
    list-style: none !important;
    padding: 10px 0 !important;
    z-index: 1000 !important;
}

.vto-drop:hover .vto-dropdown-menu {
    display: block !important;
}

.vto-dropdown-menu li a {
    color: #ccc !important;
    padding: 10px 20px !important;
    display: block !important;
    font-size: 12px !important;
    text-decoration: none !important;
}

.vto-dropdown-menu li a:hover {
    background: #1a1a1a !important;
    color: var(--vto-gold) !important;
}

/* 5. ������ � ������ */
.vto-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.vto-header-phone {
    color: var(--vto-white) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.vto-btn-gold {
    background: var(--vto-gold) !important;
    color: #000 !important;
    padding: 5px 18px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    white-space: nowrap !important;
}

/* ������ (���������) */
.vto-mobile-toggle {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding: 5px !important;
}

.vto-mobile-toggle span {
    width: 24px !important;
    height: 2px !important;
    background: var(--vto-gold) !important;
    display: block !important;
}

/* 6. ��������� ������ (����) */
.vto-mobile-menu {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(10,10,10,0.98) !important;
    z-index: 100001 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: 0.3s ease !important;
    padding: 80px 25px 40px !important;
    overflow-y: auto !important;
}

.vto-mobile-menu.open {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ������ �������� (�������) */
.vto-mobile-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background: none !important;
    border: none !important;
    color: var(--vto-gold) !important;
    font-size: 50px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    z-index: 100002 !important;
}

/* ������ � ��������� ���� */
.vto-m-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.vto-m-list li a {
    color: #fff !important;
    font-size: 19px !important;
    text-decoration: none !important;
    display: block !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #222 !important;
}

.vto-mobile-contacts {
    margin-top: 40px !important;
    text-align: center !important;
}

.vto-m-phone {
    display: block !important;
    color: var(--vto-gold) !important;
    font-size: 24px !important;
    margin-bottom: 25px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.vto-m-btn {
    display: block !important;
    background: var(--vto-gold) !important;
    color: #000 !important;
    padding: 18px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

/* 7. ������ ������������ (�����-�������) */

/* ������� (�� 1025px � ����) */
@media (min-width: 1025px) {
    .vto-mobile-only { display: none !important; }
    .vto-desktop-only { display: block !important; }
}

/* �������� � ��������� (�� 1024px) */
@media (max-width: 1024px) {
    .vto-desktop-only { display: none !important; }
    .vto-mobile-only { display: flex !important; }
    
    .vto-nav-flex {
        padding: 0 5px !important;
    }

    .vto-logo img {
        height: 35px !important;
    }

    /* ������ ����� � ����� �� ������� */
    .vto-btn-gold {
        padding: 8px 12px !important;
        font-size: 10px !important;
        margin-right: 5px !important;
    }
}

/* ��������� �������� (�� 375px) */
@media (max-width: 375px) {
    .vto-logo img { height: 30px !important; }
    .vto-btn-gold { padding: 6px 8px !important; font-size: 9px !important; }
}
/* =========================================
   19. ����������� ������ (FOOTER)
   ========================================= */
.vto-footer {
    background: #050505;
    padding: 80px 0 30px;
    border-top: 1px solid var(--vto-border);
    color: #888;
}

.vto-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
}

.vto-footer-logo {
    height: 40px;
    margin-bottom: 25px;
    filter: brightness(0) invert(1);
}

.vto-footer-col h4 {
    color: #fff;
    font-size: 16px;
    text-transform: uppercase;
    margin-bottom: 25px;
}

.vto-footer-col ul {
    list-style: none;
    padding: 0;
}

.vto-footer-col ul li {
    margin-bottom: 12px;
}

.vto-footer-col ul li a {
    color: #666;
    text-decoration: none;
    transition: 0.3s;
}

.vto-footer-col ul li a:hover {
    color: var(--vto-gold);
}

.vto-f-phone {
    font-size: 20px;
    color: #fff;
    text-decoration: none;
    font-family: 'Playfair Display', serif;
}

.vto-footer-bottom {
    border-top: 1px solid #111;
    padding-top: 30px;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

/* ������������ */
@media (max-width: 991px) {
    .vto-footer-grid { grid-template-columns: 1fr 1fr; }
    .vto-footer-col.about { grid-column: span 2; }
    .vto-header-phone { font-size: 14px; }
}

@media (max-width: 767px) {
    .vto-footer-grid { grid-template-columns: 1fr; }
    .vto-footer-col.about { grid-column: span 1; }
    .vto-footer-bottom { flex-direction: column; gap: 15px; text-align: center; }
}


/* =========================================
   ����������: ������ ����� (HERO)
   ========================================= */
.vto-hero {
    padding: 160px 0 100px !important; /* ������ ������ ������ ��� ����� */
    background: radial-gradient(circle at 80% 20%, #1a1a1a 0%, var(--vto-bg-dark) 100%);
    overflow: hidden;
}

/* ������� ������ */
.vto-breadcrumb {
    list-style: none;
    padding: 0;
    margin: 0 0 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.vto-breadcrumb li {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #666;
}
.vto-breadcrumb li a {
    color: var(--vto-gold);
    text-decoration: none;
    transition: 0.3s;
}
.vto-breadcrumb li a:hover { color: #fff; }
.vto-breadcrumb li::after { content: "/"; margin-left: 10px; color: #333; }
.vto-breadcrumb li:last-child::after { content: none; }

/* ��������� H1 */
.vto-hero h1 {
    font-size: clamp(32px, 5vw, 54px); /* ���������� ������ */
    line-height: 1.1;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 25px;
    color: #fff;
}
.vto-hero h1 span { color: var(--vto-gold); }

.vto-hero__subtext {
    font-size: 18px;
    color: var(--vto-text-muted);
    line-height: 1.6;
    margin-bottom: 40px;
    max-width: 600px;
}

/* ������ � �������� */
.vto-hero__actions {
    display: flex;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.vto-hero__phone {
    font-size: 20px;
    color: #fff;
    text-decoration: none;
    font-family: 'Playfair Display', serif;
    transition: 0.3s;
}
.vto-hero__phone:hover { color: var(--vto-gold); }

.vto-btn-social {
    width: 45px;
    height: 45px;
    border: 1px solid #333;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: 0.3s;
}
.vto-btn-social svg { width: 20px; height: 20px; fill: var(--vto-gold); }
.vto-btn-social:hover { border-color: var(--vto-gold); background: rgba(197, 164, 126, 0.1); }

/* ������ � ����� */
.vto-hero__badge {
    display: inline-block;
    padding: 12px 20px;
    background: rgba(197, 164, 126, 0.05);
    border-left: 3px solid var(--vto-gold);
    margin-bottom: 30px;
}
.vto-hero__badge span {
    font-size: 14px;
    color: #eee;
    letter-spacing: 0.5px;
}
.vto-hero__badge b { color: var(--vto-gold); font-weight: 700; }

/* ����� ������� */
.vto-hero__trust {
    font-size: 14px;
    color: #666;
    line-height: 1.5;
    border-top: 1px solid #222;
    padding-top: 20px;
}

/* ����������� */
.vto-hero__image {
    position: relative;
    z-index: 1;
}
.vto-hero__image img {
    width: 100%;
    height: auto;
    border: 1px solid #222;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.vto-hero__image::after {
    content: "";
    position: absolute;
    top: -20px;
    right: -20px;
    width: 100%;
    height: 100%;
    border: 1px solid var(--vto-gold);
    z-index: -1;
    opacity: 0.3;
}

@media (max-width: 767px) {
    .vto-hero { padding: 100px 0 60px !important; text-align: center; }
    .vto-breadcrumb, .vto-hero__actions { justify-content: center; }
    .vto-hero__image { margin-top: 50px; }
    .vto-hero__image::after { display: none; }
}


/* ����� ��� �������� ������� (Trust Items) */
.vto-hero__trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 ������� */
    gap: 30px;
    border-top: 1px solid #222;
    padding-top: 35px;
    margin-top: 20px;
}

.vto-trust-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.vto-t-icon {
    color: var(--vto-gold);
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    flex-shrink: 0; /* ����� ������ �� ��������� */
}

.vto-trust-item strong {
    display: block;
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
    font-weight: 600;
}

.vto-trust-item .vto-desc {
    color: var(--vto-text-muted);
    font-size: 13px;
    line-height: 1.5;
}

/* ������� ��� �������� */
@media (max-width: 991px) {
    .vto-hero__trust {
        grid-template-columns: 1fr; /* � ���� ������� �� ��������� � �������� */
        gap: 20px;
    }
}


/* =========================================
   4. ����: ������������� (��������)
   ========================================= */
.vto-spec-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.vto-spec-card {
    background: var(--vto-bg-card);
    border: 1px solid var(--vto-border);
    padding: 40px 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: var(--vto-anim);
    text-decoration: none;
}

.vto-spec-card:hover {
    background: #202020;
    border-color: var(--vto-gold);
    transform: translateY(-10px);
}

.vto-spec-icon svg { width: 45px; height: 45px; fill: var(--vto-gold); margin-bottom: 25px; }
.vto-spec-title { font-size: 20px; color: #fff; margin-bottom: 15px; line-height: 1.3; font-weight: 400; }
.vto-spec-desc { font-size: 14px; color: #888; margin-bottom: 20px; flex-grow: 1; }

.vto-spec-list { list-style: none; padding: 0; margin: 0 0 20px; border-top: 1px solid #333; padding-top: 15px; }
.vto-spec-list li { font-size: 13px; color: #aaa; margin-bottom: 8px; position: relative; padding-left: 15px; }
.vto-spec-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 4px; height: 4px; background: var(--vto-gold); border-radius: 50%; }

.vto-spec-more { font-size: 11px; text-transform: uppercase; color: var(--vto-gold); font-weight: 700; letter-spacing: 1px; display: flex; align-items: center; gap: 5px; }
.vto-spec-card:hover .vto-spec-more::after { content: "\2192"; }


/* =========================================
   5. ����: ���������
   ========================================= */
.vto-portfolio-section { background: #000; }

.vto-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

/* ����� ����� ������� (gs-item) - ��������� */
.gs-item { background: #0a0a0a; border: 1px solid #1a1a1a; position: relative; overflow: hidden; }
.gs-item img { width: 100%; display: block; transition: transform 0.6s ease; }
.gs-info-layer {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.85); display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: 0.3s; padding: 30px; text-align: center;
}
.gs-item:hover .gs-info-layer { opacity: 1; }
.gs-item:hover img { transform: scale(1.05); }

.gs-category { color: var(--vto-gold); font-size: 12px; text-transform: uppercase; letter-spacing: 2px; display: block; margin-bottom: 10px; }
.gs-info-layer h3 { color: #fff; font-size: 20px; font-family: 'Playfair Display', serif; margin-bottom: 15px; }
.gs-budget { color: #888; font-size: 13px; border-top: 1px solid #333; padding-top: 10px; display: inline-block; }
.gs-more-label { border: 1px solid var(--vto-gold); color: var(--vto-gold); padding: 8px 15px; font-size: 11px; text-transform: uppercase; display: inline-block; margin-top: 15px; }


/* =========================================
   6. ����: SEO ����� (��������������)
   ========================================= */
.vto-seo-section { background: var(--vto-bg-darker); }
.vto-seo-wrapper { border-left: 2px solid var(--vto-gold); padding-left: 40px; }

.vto-seo-text p { font-size: 17px; line-height: 1.8; color: #a0a0a0; margin-bottom: 25px; }
.vto-seo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin: 40px 0; }
.vto-seo-col h4 { color: var(--vto-gold); font-size: 18px; margin-bottom: 15px; text-transform: uppercase; }
.vto-seo-col p { font-size: 15px; margin: 0; }


/* =========================================
   7. ����: ���������� (������)
   ========================================= */
.vto-tech-section { background: var(--vto-bg-darker); }
.vto-tech-list {
    list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 40px 0;
}
.vto-tech-list li { padding-left: 25px; position: relative; color: #888; }
.vto-tech-list li::before { content: "�"; position: absolute; left: 0; color: var(--vto-gold); }
.vto-tech-list strong { color: #fff; text-transform: uppercase; font-size: 14px; display: block; margin-bottom: 5px; }

.vto-tech-note {
    background: #151515; padding: 30px; border: 1px solid #222; margin-top: 40px; position: relative;
}
.vto-tech-note::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--vto-gold); }
.vto-tech-note p { margin: 0; font-style: italic; color: #888; font-size: 15px; }


/* =========================================
   8. ����: �����-���� (��������)
   ========================================= */
.vto-prices-section { background: #000; }
.vto-price-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: center;
}

.vto-price-card {
    background: #0a0a0a; border: 1px solid #1a1a1a; padding: 50px 30px; text-align: center; position: relative; transition: 0.3s;
}
.vto-price-card.featured {
    background: #111; border-color: var(--vto-gold); padding: 70px 30px; box-shadow: 0 10px 40px rgba(197, 164, 126, 0.05);
}
.vto-badge {
    /* Сбрасываем абсолютное позиционирование из общего файла */
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    
    /* Новые премиальные стили */
    display: inline-block;
    background: rgba(197, 160, 89, 0.1) !important;
    color: #c5a059 !important;
    border: 1px solid #c5a059;
    padding: 8px 16px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 4px;
    margin-bottom: 25px;
    line-height: 1.2;
    vertical-align: middle;
}

.vto-price-type { color: var(--vto-gold); font-size: 11px; text-transform: uppercase; letter-spacing: 2px; display: block; margin-bottom: 10px; }
.vto-price-title { color: #fff; font-size: 26px; font-family: 'Playfair Display', serif; margin-bottom: 20px; }
.vto-price-card  .vto-price-val { font-size: 32px; color: #fff; font-weight: 300; margin-bottom: 30px; }
.vto-price-card  .vto-price-val span { font-size: 14px; color: #666; }

.vto-price-list { list-style: none; padding: 0; margin: 0 0 30px; text-align: left; }
.vto-price-list li { color: #888; font-size: 14px; margin-bottom: 12px; padding-left: 20px; position: relative; }
.vto-price-list li::before { content: "\2713"; color: var(--vto-gold); position: absolute; left: 0; }

/* ������� ������ (Room Items) */
.vto-budget-block {
    background: #0a0a0a; border: 1px solid #1a1a1a; padding: 40px; margin-top: 50px; text-align: center;
}
.vto-budget-block h3 { color: #fff; font-size: 20px; margin-bottom: 30px; text-transform: uppercase; }

.vto-room-flex {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px;
}
.vto-room-item {
    flex: 1; min-width: 140px; border-right: 1px solid #222; padding: 0 10px;
}
.vto-room-item:last-child { border-right: none; }
.vto-room-label { display: block; color: #666; font-size: 12px; text-transform: uppercase; margin-bottom: 5px; }
.vto-room-sq { display: block; color: var(--vto-gold); font-size: 15px; margin-bottom: 5px; }
.vto-room-cost { display: block; color: #fff; font-size: 18px; font-weight: 500; }


/* =========================================
   9. ����: ��������� (��/�����)
   ========================================= */
.vto-compare-section { background: #111; }
.vto-compare-wrap { position: relative; border: 1px solid #333; margin-bottom: 20px; }
.vto-compare-label { position: absolute; top: 15px; padding: 5px 12px; font-size: 10px; text-transform: uppercase; font-weight: 700; z-index: 5; }
.vto-label-before { left: 15px; background: rgba(0,0,0,0.6); color: #fff; }
.vto-label-after { right: 15px; background: var(--vto-gold); color: #000; }
.cocoen-drag { background: var(--vto-gold) !important; }

/* =========================================
   10. ����: ��������� �������
   ========================================= */
.vto-detailed-section { background: var(--vto-bg-darker); }
.vto-table-wrap { overflow-x: auto; }
.vto-table { width: 100%; border-collapse: collapse; min-width: 600px; }
.vto-table th { text-align: left; color: #fff; padding: 20px; border-bottom: 1px solid #333; text-transform: uppercase; font-size: 13px; }
.vto-table td { padding: 15px 20px; border-bottom: 1px solid #1a1a1a; color: #ccc; }
.vto-cat-row td { background: #111; color: var(--vto-gold); font-weight: 700; text-transform: uppercase; padding-top: 30px; border: none; }
.vto-table tr:not(.vto-cat-row):hover td { background: #151515; color: #fff; }
.vto-table-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; border-top: 1px solid #222; padding-top: 30px; gap: 30px; }


/* =========================================
   11. ����: ����������� �������
   ========================================= */
.vto-legal-section { background: #000; border-top: 1px solid #1a1a1a; }
.vto-legal-list { border-left: 1px solid var(--vto-gold); padding-left: 40px; display: flex; flex-direction: column; gap: 25px; }
.vto-legal-row { display: flex; justify-content: space-between; border-bottom: 1px solid #222; padding-bottom: 8px; }
.vto-legal-key { color: #fff; text-transform: uppercase; font-size: 13px; letter-spacing: 1px; }
.vto-legal-val { color: var(--vto-gold); font-family: 'Playfair Display', serif; font-size: 18px; }
.vto-legal-quote { border: none; font-style: italic; color: #888; margin-top: 30px; padding-left: 40px; }


/* =========================================
   12. ����: ����� (STEPS)
   ========================================= */
.vto-steps-section { background: var(--vto-bg-darker); }
.vto-steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vto-step-card { background: #111; border: 1px solid #1a1a1a; padding: 35px; transition: 0.3s; }
.vto-step-card:hover { border-color: var(--vto-gold); transform: translateY(-5px); background: #151515; }
.vto-step-num { font-size: 48px; color: var(--vto-gold); opacity: 0.25; font-weight: 700; margin-bottom: 15px; font-family: 'Playfair Display', serif; }
.vto-step-card:hover .vto-step-num { opacity: 0.8; }
.vto-step-card h4 { font-size: 18px; color: #fff; margin-bottom: 15px; text-transform: uppercase; }
.vto-step-card p { font-size: 14px; color: #999; line-height: 1.6; margin: 0; }


/* =========================================
   13. ����: ������-����� (FAQ)
   ========================================= */
.vto-faq-section { background: #000; }
.vto-faq-wrapper { max-width: 900px; margin: 0 auto; }
.vto-acc-item { border-bottom: 1px solid #1a1a1a; }

.vto-plus { width: 16px; height: 16px; position: relative; }
.vto-plus::before, .vto-plus::after { content: ""; position: absolute; background: var(--vto-gold); transition: 0.3s; }
.vto-plus::before { width: 100%; height: 2px; top: 7px; }
.vto-plus::after { height: 100%; width: 2px; left: 7px; }
.vto-acc-item.is-open .vto-plus::after { transform: rotate(90deg); }
.vto-acc-panel { max-height: 0; overflow: hidden; transition: 0.5s ease; }
.vto-acc-item.is-open .vto-acc-panel { max-height: 500px; }
.vto-acc-content { padding-bottom: 25px; color: #888; font-size: 15px; }
@media (max-width: 600px) {
    /* Фиксируем размер кнопки-триггера */
    .vto-acc-trigger {
        padding: 20px 0; /* Чуть меньше отступы на мобилках */
        gap: 15px;      /* Расстояние между текстом и плюсиком */
        align-items: center;
    }

    /* Главный фикс для плюсика */
    .vto-plus {
        flex-shrink: 0;   /* ЗАПРЕЩАЕТ обрезать и сжимать плюс */
        width: 16px !important; 
        height: 16px !important;
        margin-right: 5px; /* Чтобы не лип к краю экрана */
    }

    /* Корректируем размер текста, чтобы он не выталкивал плюс за экран */
    .vto-acc-trigger span {
        font-size: 16px;
        line-height: 1.3;
    }
}

/* =========================================
   14. ����: ���������� (10 ���)
   ========================================= */
/* Базовые стили секции */
.vto-exp-section {
    padding: 100px 0;
    background-color: #0b0b0b;
    overflow: hidden;
}

.vto-exp-flex {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

/* Блок с числом 10+ */
.vto-exp-badge {
    flex-shrink: 0;
    text-align: center;
}

.vto-exp-num {
    font-size: 84px;
    font-weight: 800;
    line-height: 1;
    color: #c5a059; /* Твой золотой */
}

.vto-exp-label {
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff;
    margin-top: 10px;
}

/* Текстовый блок */
.vto-exp-info h2 {
    color: #fff;
    margin-bottom: 25px;
    font-size: 32px;
}

.vto-exp-info h2 span {
    color: #c5a059;
}

.vto-exp-info p {
    color: #ccc;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 30px;
}

.vto-text-accent {
    color: #fff;
    font-weight: 600;
}

.vto-text-accent-gold {
    color: #c5a47e;
    font-weight: 600;
}


/* Список преимуществ с галочками */
.vto-exp-checks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.vto-check-item {
    color: #fff;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.vto-check {
    color: #c5a059;
    font-weight: bold;
}

/* МОБИЛЬНАЯ АДАПТАЦИЯ */
@media (max-width: 768px) {
    .vto-exp-section {
        padding: 60px 0; /* Уменьшаем гигантские отступы */
    }

    .vto-exp-flex {
        flex-direction: column; /* Складываем блоки вертикально */
        gap: 40px;
        text-align: center; /* Центрируем для мобильных */
    }

    .vto-exp-badge {
        width: 100%;
    }

    .vto-exp-num {
        font-size: 64px; /* Чуть меньше цифры */
    }

    .vto-exp-info .vto-title-block.left {
        text-align: center; /* Заголовок по центру */
    }

    .vto-exp-info h2 {
        font-size: 26px;
    }

    .vto-exp-checks {
        grid-template-columns: 1fr; /* Галочки в один столбец */
        text-align: left; /* Сами галочки лучше оставить по левому краю */
        display: inline-block;
    }
    
    .vto-check-item {
        margin-bottom: 10px;
    }
}



/* =========================================
   15. ����: CTA (�����)
   ========================================= */
.vto-cta-section { background: radial-gradient(circle at center, #1a1a1a 0%, #000 100%); text-align: center; padding: 120px 0; }
.vto-cta-box { max-width: 800px; margin: 0 auto; }
.vto-cta-phone { margin-top: 40px; display: flex; flex-direction: column; }
.vto-cta-phone a { color: #fff; font-size: 28px; text-decoration: none; font-family: 'Playfair Display', serif; }


/* =========================================
   16. ������������ (MEDIA QUERIES)
   ========================================= */
@media (max-width: 1200px) {
    .vto-spec-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991px) {
    .vto-premium-page section { padding: 70px 0; }
    .vto-portfolio-grid, .vto-price-grid, .vto-steps-grid { grid-template-columns: repeat(2, 1fr); }
    .vto-seo-grid, .vto-tech-list { grid-template-columns: 1fr; }
    .vto-exp-flex { flex-direction: column; align-items: flex-start; gap: 40px; }
    .vto-exp-badge { width: 100%; height: auto; padding: 30px; flex-direction: row; gap: 20px; }
    .vto-table-footer { flex-direction: column; text-align: center; }
}

@media (max-width: 767px) {
    .vto-premium-page section { padding: 60px 0; }
    .vto-spec-grid, .vto-portfolio-grid, .vto-price-grid, .vto-steps-grid { grid-template-columns: 1fr; }
    .vto-title-block h2 { font-size: 28px; }
    .vto-legal-list { padding-left: 20px; }
    .vto-room-item { border-right: none; border-bottom: 1px solid #222; padding-bottom: 15px; margin-bottom: 15px; }
}

/* =========================================
   17. ����� ����: ���� �����
   ========================================= */
.vto-house-types {
    background: var(--vto-bg-darker);
}

.vto-types-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.vto-type-card {
    background: var(--vto-bg-card);
    border: 1px solid var(--vto-border);
    padding: 45px 35px;
    transition: var(--vto-anim);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.vto-type-card:hover {
    background: #1c1c1c;
    border-color: var(--vto-gold);
    transform: translateY(-5px);
}

.vto-type-card h3 {
    color: var(--vto-gold);
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.vto-type-card p {
    color: var(--vto-text-muted);
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 30px;
}

.vto-type-link {
    display: inline-block;
    color: var(--vto-gold);
    text-decoration: none !important;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding-bottom: 5px;
    position: relative;
    align-self: flex-start;
    transition: 0.3s;
}

.vto-type-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 1px;
    background: var(--vto-gold);
    transition: 0.3s;
}

.vto-type-link:hover::after {
    width: 100%;
}

.vto-type-link:hover {
    color: #fff;
}

@media (max-width: 991px) {
    .vto-types-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .vto-types-grid {
        grid-template-columns: 1fr;
    }
}
/* ============================================================
   PREMIUM FOOTER (REMASTERED)
   ============================================================ */

.vto-footer {
    background: #0a0a0a !important;
    padding: 70px 0 30px !important;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    border-top: 1px solid #1a1a1a !important;
}

.vto-footer-grid {
    display: grid !important;
    grid-template-columns: 1.2fr 0.8fr 0.8fr 1.2fr !important;
    gap: 40px !important;
}

.vto-f-logo img { height: 42px !important; filter: brightness(0) invert(1) !important; margin-bottom: 20px !important; display: block !important; }
.vto-f-text { font-size: 13px !important; line-height: 1.6 !important; color: #888 !important; margin-bottom: 25px !important; }

/* &#129521; ���������� ����������-������� (����� ��� �� ���������) */
.vto-f-label { font-size: 11px !important; color: #555 !important; text-transform: uppercase !important; margin-bottom: 12px !important; letter-spacing: 1px !important; }
.z-messenger-tabs { display: flex !important; gap: 10px !important; align-items: flex-start !important; }

.z-tab {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
    width: 65px !important;
}

.z-tab-box {
    width: 65px !important;
    height: 40px !important;
    background: #111 !important; /* ����� ������, ����� ������ */
    border-radius: 2px !important; /* ����� ������������� */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 3px 6px rgba(0,0,0,0.3) !important; /* ������ ���� */
    transition: 0.3s ease !important;
}

.z-tab-name {
    font-size: 10px !important;
    color: #444 !important; /* �� ����� ����� ������� */
    margin-top: 6px !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
}

/* ������ ������ ������� */
.z-icon-svg { width: 22px !important; height: 22px !important; }
.z-icon-txt { font-size: 18px !important; font-weight: 800 !important; font-family: 'Montserrat', sans-serif !important; }

/* ����� �� ������� */
/* Telegram */
.z-tg .z-tab-box { color: #fff !important; }
.z-tab.z-tg:hover .z-tab-box { background: #0088cc !important; }

/* ���� */
.z-max .z-tab-box { color: #c5a059 !important; } /* ������� ������ */
.z-tab.z-max:hover .z-tab-box { background: #c5a059 !important; color: #000 !important; }

/* ��������� � ������ */
.vto-f-title { font-size: 14px !important; font-weight: 700 !important; text-transform: uppercase !important; margin-bottom: 25px !important; color: #c5a059 !important; }
.vto-f-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.vto-f-links li { margin-bottom: 10px !important; }
.vto-f-links li a { color: #aaa !important; text-decoration: none !important; font-size: 13px !important; transition: 0.2s !important; }
.vto-f-links li a:hover { color: #c5a059 !important; padding-left: 5px !important; }

/* �������� */
.vto-f-phone { display: block !important; font-size: 18px !important; font-weight: 700 !important; color: #fff !important; text-decoration: none !important; margin-bottom: 10px !important; }
.vto-f-email { display: block !important; color: #c5a059 !important; font-size: 14px !important; margin-bottom: 15px !important; text-decoration: none !important; }
.vto-f-addr, .vto-f-worktime { font-size: 13px !important; color: #777 !important; margin-bottom: 6px !important; }

/* �������� */
.vto-f-badge {
    margin-top: 20px !important; padding: 12px !important; background: #111 !important;
    border-left: 3px solid #c5a059 !important; font-size: 11px !important; 
    font-weight: 700 !important; text-transform: uppercase !important; color: #ccc !important;
}

/* �������� */
.vto-f-bottom-line {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1); /* Тонкая линия разделения */
}
/* Стиль дисклеймера (оферты) */
.vto-f-disclaimer {
    font-size: 11px;
    color: #777;
    line-height: 1.5;
    text-align: justify;
}
/* Строка с копирайтом и ссылкой */
.vto-f-copyright-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.vto-f-legal a { color: #444 !important; text-decoration: none !important; }

/* ������� */
@media (max-width: 991px) { .vto-footer-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 30px !important;} }
@media (max-width: 575px) { 
    .vto-footer-grid { grid-template-columns: 1fr !important; }
    .vto-f-bottom-line { flex-direction: column !important; gap: 15px !important; text-align: center !important; }
}
/* Адаптив для мобильных устройств */
@media (max-width: 767px) {
    .vto-f-copyright-row {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .vto-f-disclaimer {
        text-align: left; /* На мобилках лучше выравнивание по левому краю */
    }
}
/* --- ФИЛЬТРЫ ПОРТФОЛИО --- */

.vto-portfolio-grid {
    display: grid;
    /* Создаем 3 колонки на десктопе */
    grid-template-columns: repeat(3, 1fr); 
    /* Убираем пустые места (разрывы) */
    grid-auto-flow: dense; 
    gap: 30px; /* Расстояние между плитками */
}

/* На планшетах 2 колонки */
@media (max-width: 991px) {
    .vto-portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* На телефонах 1 колонка */
@media (max-width: 767px) {
    .vto-portfolio-grid {
        grid-template-columns: 1fr;
    }
}
.gs-item {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.gs-project-link {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* Фиксируем пропорции картинки, чтобы они не «плясали» */
.gs-item img {
    width: 100%;
    height: 300px; /* Или используйте aspect-ratio: 4/3; */
    object-fit: cover;
}
.vto-portfolio-filters {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}
.vto-filter-btn {
    background: transparent;
    border: 1px solid #333;
    color: #888;
    padding: 12px 25px;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: var(--vto-anim);
    border-radius: 2px;
}
.vto-filter-btn:hover, 
.vto-filter-btn.active {
    border-color: var(--vto-gold);
    color: var(--vto-gold);
}

/* --- ВЫДЕЛЕННАЯ КАРТОЧКА (Featured) --- */
/* Растягиваем на 2 колонки на ПК для красивой сетки */
@media (min-width: 992px) {
    .gs-item-featured {
        grid-column: span 2;
    }
}

/* --- КНОПКА ЗАГРУЗКИ (AJAX) --- */
.vto-load-more-wrap {
    text-align: center;
    margin-top: 50px;
    width: 100%;
}
.vto-load-more-wrap .btn-more {
    display: inline-block;
    background: transparent;
    border: 1px solid var(--vto-gold);
    color: var(--vto-gold);
    padding: 15px 40px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    cursor: pointer;
    transition: var(--vto-anim);
    text-decoration: none;
}
.vto-load-more-wrap .btn-more:hover {
    background: var(--vto-gold);
    color: #000;
}
/* Принудительно выводим заголовок */
.vto-portfolio-section {
    padding-top: 140px !important; 
    background-color: #0b0b0b !important; /* Делаем фон темным, чтобы белый текст был виден */
    display: block !important;
}

.vto-title-block {
    display: block !important;
    text-align: center;
    margin-bottom: 50px;
}

.vto-title-block h1 {
    color: #ffffff !important;
    font-size: clamp(24px, 5vw, 48px); /* Минимум 24px, максимум 48px, плавает в зависимости от ширины */ !important;
    font-weight: 800 !important;
    display: block !important;
    position: relative;
    z-index: 10;
}

/* Стили для фильтров, чтобы они точно появились */
.vto-portfolio-filters {
    display: flex !important;
    justify-content: center;
    gap: 15px;
    margin: 40px 0 !important;
    visibility: visible !important;
}

/* 1. Читаемость текста в полях (Placeholder и вводимый текст) */
.vto-fetchit-container input, 
.vto-fetchit-container textarea {
    color: #ffffff !important; /* Цвет вводимого текста — чисто белый */
    font-size: 16px !important;
}

/* Цвет подсказок (Placeholder) */
.vto-fetchit-container input::placeholder, 
.vto-fetchit-container textarea::placeholder {
    color: var(--vto-text-muted) !important; /* Светло-серый, чтобы было видно, что писать */
    opacity: 0.7;
}

/* 2. Исправление ссылки под кнопкой (Политика конфиденциальности) */
/* Обычно она находится внутри .form-note или маленького текста под кнопкой */
.vto-form-card a, 
.vto-fetchit-container .form-note a {
    color: var(--vto-text-muted) !important;
    text-decoration: underline;
    font-size: 12px;
    transition: var(--vto-anim);
    opacity: 0.6;
}

.vto-form-card a:hover, 
.vto-fetchit-container .form-note a:hover {
    color: var(--vto-gold) !important; /* При наведении подсвечиваем золотом */
    opacity: 1;
}

/* 3. Цвет текста меток (Label), если они есть */
.vto-fetchit-container label {
    color: #fff !important;
    margin-bottom: 8px;
    display: block;
    font-size: 14px;
}

/* Дополнительно: убираем синюю обводку при клике на поле */
.vto-fetchit-container input:focus, 
.vto-fetchit-container textarea:focus {
    outline: none !important;
    border-color: var(--vto-gold) !important; /* Подсвечиваем золотым границы поля */
    background: #1a1a1a !important; /* Чуть светлее фон при наборе */
}
.vto-expert-main-photo {
    width: 100%;
    height: auto;
    display: block;
    /* Мягкая тень за фигурой для объема */
    filter: drop-shadow(0 10px 30px rgba(0,0,0,0.5));
    filter: brightness(0.9) contrast(1.05);
    /* Плавное проявление */
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.vto-expert-img-wrap {
    background: radial-gradient(circle at center, #222 0%, var(--vto-bg-card) 100%);
    overflow: hidden;
    position: relative;
}
/* =========================================
   1. HERO БЛОК И ТИПОГРАФИКА (ПРАЙС)
========================================= */
.vto-price-hero {
    padding-top: 160px !important; /* Выталкиваем H1 из-под меню */
    background-color: #0b0b0b;
    display: block;
}

.vto-title-block h1 {
    font-size: clamp(24px, 5vw, 48px);
}

/* =========================================
   2. ПЕРЕКЛЮЧАТЕЛЬ МАТЕРИАЛОВ (СВИТЧ)
========================================= */
.vto-price-toggle-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-bottom: 50px;
}

.toggle-label {
    color: #888;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.vto-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 30px;
}

.vto-switch input { 
    opacity: 0; 
    width: 0; 
    height: 0; 
}

.vto-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: #333;
    transition: .4s;
    border-radius: 34px;
}

.vto-slider:before {
    position: absolute;
    content: "";
    height: 22px; 
    width: 22px;
    left: 4px; 
    bottom: 4px;
    background-color: var(--vto-gold, #d4af37);
    transition: .4s;
    border-radius: 50%;
}

input:checked + .vto-slider:before {
    transform: translateX(30px);
}

/* =========================================
   3. КАРТОЧКИ ТАРИФОВ
========================================= */
.vto-price-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.vto-price-card {
    background: #161616;
    padding: 40px;
    border: 1px solid #222;
    position: relative;
    transition: var(--vto-anim, all 0.3s ease);
    display: flex;
    flex-direction: column;
}

.vto-price-card:hover { 
    border-color: var(--vto-gold, #d4af37); 
    transform: translateY(-5px); 
}

.vto-price-card.featured {
    border: 1px solid var(--vto-gold, #d4af37);
    background: #1a1a1a;
}

.vto-price-card h3 { 
    color: #fff;
    margin-bottom: 15px; 
}

/* Форматирование цены внутри карточки */
.vto-price-card .vto-price-val {
    display: flex !important;
    align-items: baseline !important;
    justify-content: center;
    gap: 8px;
    font-family: inherit;
    margin: 15px 0 25px 0;
    line-height: 1;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
}

.vto-price-card .vto-price-val .price-val {
    font-size: 42px;
    font-weight: 800;
    color: var(--vto-gold, #d4af37);
    display: inline-block;
    line-height: 1;
    transition: opacity 0.3s ease;
    min-width: 80px; /* Чтобы карточка не «прыгала» при смене цифр */
}

.vto-price-card .vto-price-val span:not(.price-val) {
    font-size: 18px;
    color: #888;
    font-weight: 400;
    white-space: nowrap;
    margin-left: 2px;
    text-transform: none;
}

.vto-price-card .vto-price-val sup {
    font-size: 12px;
    vertical-align: baseline;
    position: relative;
    top: -0.6em;
}

/* =========================================
   4. ДЕТАЛЬНЫЙ ПРАЙС И АККОРДЕОН
========================================= */
section.vto-detailed-price {
    background-color: #0b0b0b !important;
    background-image: none !important;
    padding: 100px 0;
    color: #fff !important;
}

.vto-accordion-container {
    border-top: none !important;
    padding-top: 20px;
}

.vto-acc-item {
    margin-bottom: 20px;
    border: 1px solid #222 !important;
    border-radius: 8px;
    background: #111 !important;
    transition: all 0.3s ease;
    overflow: hidden;
}

.vto-acc-item:hover {
    border-color: #333 !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.vto-acc-item.active {
    border-color: var(--vto-gold, #d4af37) !important;
}

/* 1. БАЗОВЫЙ СТИЛЬ ТРИГГЕРА (ВОПРОСА) */
.vto-acc-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 20px !important;
    background: transparent !important;
    cursor: pointer;
    border: none !important;
    color: #fff;
    font-size: 17px;
    transition: all 0.3s ease;
}

.vto-acc-trigger:hover {
    color: var(--vto-gold);
    background: rgba(197, 164, 126, 0.05) !important;
}

/* 2. СКРЫТАЯ ПАНЕЛЬ (ОТВЕТ) */
.vto-acc-panel {
    max-height: 0; /* Изначально схлопнута */
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    opacity: 0;
    background: rgba(255,255,255, 0.02); /* Легкий фон для области ответа */
}

/* 3. ЛОГИКА АКТИВАЦИИ (ТО ЧЕГО НЕ ХВАТАЛО) */
.vto-acc-item.active .vto-acc-panel {
    max-height: 1000px; /* Даем запас высоты для раскрытия */
    opacity: 1;
    padding-bottom: 30px;
}

/* Поворот иконки (плюсика) при открытии */
.vto-acc-item.active .vto-plus {
    transform: rotate(45deg);
    color: var(--vto-gold);
}

/* Стиль контента внутри */
.vto-acc-content {
    padding: 0 20px;
    color: #999;
    line-height: 1.6;
    font-size: 16px;
}
/* Раскрытие аккордеона */
.vto-acc-content {
    max-height: 0 !important;
    overflow: hidden !important;
    display: block !important;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1) !important;
    padding: 0 30px !important;
}

.vto-acc-item.active .vto-acc-content {
    max-height: 4000px !important;
    padding: 20px 30px 40px !important;
}

/* Иконка плюс/минус */
.acc-icon {
    width: 20px;
    height: 20px;
    position: relative;
    flex-shrink: 0;
    margin-left: 20px;
    transition: all 0.3s ease;
}

.acc-icon::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--vto-gold, #d4af37);
    top: 9px;
    left: 0;
    transition: all 0.3s ease;
}

.acc-icon::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 100%;
    background: var(--vto-gold, #d4af37);
    left: 9px;
    top: 0;
    transition: all 0.3s ease;
}

.vto-acc-item.active .acc-icon::after { transform: rotate(90deg); opacity: 0; }
.vto-acc-item.active .acc-icon { transform: rotate(180deg); }

/* =========================================
   5. ТАБЛИЦЫ РАСЦЕНОК
========================================= */
table.vto-price-table {
    width: 100% !important;
    background: transparent !important;
    border-collapse: collapse !important;
    border: none !important;
    margin: 10px 0 30px 0 !important;
}

.vto-price-table tr {
    background: transparent !important;
    border-bottom: 1px solid #1a1a1a !important;
}

.vto-price-table td, 
.vto-price-table th {
    background: transparent !important;
    border: none !important;
    padding: 14px 10px !important;
    color: #ccc !important;
    font-size: 15px !important;
    text-align: left !important;
    box-shadow: none !important;
}

.vto-price-table td strong { color: #fff; font-weight: 600; }

.vto-price-table th {
    color: var(--vto-gold, #d4af37) !important;
    font-size: 12px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.vto-price-table tr:not(.vto-table-subheader) td:last-child {
    text-align: right !important;
    color: #fff !important;
    font-weight: 600;
}

/* Подзаголовки внутри таблиц */
tr.vto-table-subheader td,
.vto-price-table tr.vto-table-subheader td {
    background: #1a1a1a !important;
    color: var(--vto-gold, #d4af37) !important;
    font-size: 11px !important;
    font-weight: bold !important;
    padding: 20px 10px 10px 15px !important;
    text-transform: uppercase;
    text-align: left !important;
    width: 100%;
}

/* Сноски и уведомления */
.vto-table-note {
    background: #111 !important;
    border-left: 3px solid var(--vto-gold, #d4af37) !important;
    padding: 20px !important;
    margin-top: 10px;
    color: #888 !important;
    font-size: 14px;
}

.vto-price-notice {
    background: rgba(212, 175, 55, 0.05);
    border-left: 3px solid var(--vto-gold, #d4af37);
    padding: 20px;
    margin: 30px 0;
    color: #888;
    font-size: 14px;
    line-height: 1.6;
}

.vto-price-notice strong { color: #fff; display: block; margin-bottom: 5px; }

.vto-price-notice-footer {
    margin-top: 50px;
    padding: 30px;
    background: #111;
    border: 1px dashed var(--vto-gold, #d4af37);
    border-radius: 12px;
    text-align: center;
}

.vto-price-notice-footer p { margin: 0; color: #ccc; font-size: 16px; }
.vto-price-notice-footer span { color: var(--vto-gold, #d4af37); font-weight: bold; }

/* =========================================
   6. КОММЕРЧЕСКИЙ РЕМОНТ (B2B БЛОК)
========================================= */
.vto-commercial-short {
    padding: 100px 0;
    background-color: #0b0b0b;
    border-top: 1px solid #1a1a1a;
}

.vto-commercial-flex {
    display: flex;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
}

.vto-commercial-content { flex: 1; min-width: 320px; }

.vto-commercial-label {
    color: var(--vto-gold, #d4af37);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    margin-bottom: 15px;
}

.vto-commercial-title { color: #fff; font-size: 32px; line-height: 1.2; margin-bottom: 25px; }
.vto-commercial-title span { color: var(--vto-gold, #d4af37); }
.vto-commercial-desc { color: #888; line-height: 1.6; }

.vto-commercial-features-box {
    flex: 1;
    min-width: 320px;
    background: #111;
    padding: 45px;
    border-radius: 12px;
    border: 1px dashed #333;
}

.vto-comm-feature { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 25px; }
.vto-comm-num { color: var(--vto-gold, #d4af37); font-weight: bold; font-size: 16px; margin-top: 2px; }
.vto-comm-text { color: #ccc; font-size: 15px; line-height: 1.5; }
.vto-comm-text strong { display: block; color: #fff; font-size: 17px; margin-bottom: 5px; }

.vto-commercial-footer { margin-top: 30px; border-top: 1px solid #222; padding-top: 25px; }
.vto-commercial-link {
    color: var(--vto-gold, #d4af37);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}
.vto-commercial-link:hover { color: #fff; }

/* =========================================
   7. АДАПТИВНОСТЬ (MOBILE)
========================================= */
@media (max-width: 991px) {
    .vto-price-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    /* Компактные таблицы */
    .vto-price-table, 
    .vto-price-table tbody, 
    .vto-price-table tr, 
    .vto-price-table td { display: block; width: 100%; }
    
    .vto-price-table thead { display: none; }
    
    .vto-price-table tr {
        margin-bottom: 8px;
        border: 1px solid var(--vto-border, #333);
        border-radius: 6px;
        background: rgba(255,255,255,0.01) !important;
        padding: 8px 12px; 
    }
    
    .vto-price-table td:first-child {
        font-weight: 500;
        font-size: 14px !important;
        color: #e0e0e0 !important;
        padding: 0 0 4px 0 !important;
        line-height: 1.3;
    }
    
    .vto-price-table td:nth-child(2),
    .vto-price-table td:last-child {
        display: inline-block;
        width: auto;
        padding: 0 !important;
        font-size: 13px !important;
        border: none !important;
    }
    
    .vto-price-table td:nth-child(2) { color: var(--vto-text-muted, #888) !important; }
    .vto-price-table td:nth-child(2)::before { content: "— "; }
    
    .vto-price-table td:last-child {
        float: right;
        color: var(--vto-gold, #d4af37) !important;
        font-weight: 700;
        text-align: right !important;
    }

    tr.vto-table-subheader td {
        padding: 12px 0 8px 0 !important;
        background: transparent !important;
        border-bottom: 1px solid #333 !important;
        margin-bottom: 8px;
    }

    /* Коммерческий блок */
    .vto-commercial-short { padding: 60px 0; }
    .vto-commercial-title { font-size: 26px; }
    .vto-commercial-features-box { padding: 30px 20px; }
}
/* =========================================
   1. ПОРТФОЛИО: HERO БЛОК
========================================= */
.vto-premium-hero {
    background: #0a0a0a;
    width: 100%;
    min-height: 90vh; 
    display: flex;
    overflow: hidden;
    position: relative;
    padding-top: 100px; /* Отступ под закрепленное меню */
}

.vto-hero-container {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
}

.vto-hero-side-text {
    flex: 0 0 50%;
    display: flex;
    align-items: center;
    padding: 40px 5% 60px 8%;
    background: #0a0a0a;
    z-index: 5;
}

.vto-hero-content-inner {
    width: 100%;
    max-width: 600px;
}

/* Хлебные крошки */
.vto-bread-dark ul { list-style: none; padding: 0; display: flex; gap: 8px; margin-bottom: 25px; }
.vto-bread-dark li, .vto-bread-dark a { color: #555 !important; font-size: 11px; text-decoration: none; text-transform: uppercase; letter-spacing: 1px; }
.vto-bread-dark li:after { content: "/"; margin-left: 8px; color: #333; }
.vto-bread-dark li:last-child:after { content: ""; }

/* Типографика Hero */
.vto-h1-premium {
    color: #fff;
    font-size: 44px;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
    margin: 0 0 30px 0;
}

.vto-area-tag {
    display: block;
    color: var(--vto-gold, #c5a059);
    font-size: 26px;
    margin-top: 10px;
    font-weight: 400;
}

.vto-hero-lead-text {
    color: #999;
    font-size: 17px;
    line-height: 1.6;
    border-left: 2px solid var(--vto-gold, #c5a059);
    padding-left: 20px;
    margin-bottom: 45px;
}

/* Факты об объекте */
.vto-facts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 50px;
}

.vto-f-label { display: block; color: #444; font-size: 10px; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 5px; }
.vto-f-val { display: block; color: #fff; font-size: 15px; font-weight: 600; }

/* Кнопки */
.vto-hero-btns { display: flex; gap: 15px; flex-wrap: wrap; }
.vto-btn-main { background: var(--vto-gold, #c5a059); color: #000; padding: 16px 30px; font-weight: 700; text-transform: uppercase; text-decoration: none; font-size: 12px; transition: 0.3s; cursor: pointer; }
.vto-btn-second { border: 1px solid #333; color: #fff; padding: 16px 30px; text-transform: uppercase; text-decoration: none; font-size: 12px; transition: 0.3s; cursor: pointer; }
.vto-btn-main:hover { background: #fff; color: #000; }
.vto-btn-second:hover { border-color: var(--vto-gold, #c5a059); color: var(--vto-gold, #c5a059); }

/* Правая часть - ФОТО */
.vto-hero-side-photo {
    flex: 0 0 50%;
    position: relative;
    min-height: 600px;
}

.vto-photo-main { width: 100%; height: 100%; background-size: cover; background-position: center; position: relative; }
.vto-photo-overlay { position: absolute; inset: 0; background: linear-gradient(to right, #0a0a0a 0%, transparent 15%); }

.vto-status-badge {
    position: absolute;
    top: 25px; right: 25px;
    border: 1px solid var(--vto-gold, #c5a059);
    color: var(--vto-gold, #c5a059);
    padding: 6px 12px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* =========================================
   2. ПОРТФОЛИО: ГАЛЕРЕЯ И ДЕТАЛИ
========================================= */
.vto-gallery-section { background: #0a0a0a; padding: 60px 0; }
.vto-gallery-box { margin-bottom: 40px; }
.vto-bottom-seo-text { color: #888; line-height: 1.8; font-size: 16px; }

.vto-details-section {
    background-color: #0c0c0c;
    padding: 80px 0;
    border-bottom: 1px solid #1a1a1a;
}

/* Карточка характеристик */
.vto-spec-card {
    background: #141414;
    padding: 35px;
    border-radius: 4px;
    border: 1px solid #222;
    position: relative;
}

.vto-spec-title { color: #fff; font-size: 18px; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 30px; font-weight: 700; }
.vto-spec-item { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #222; }
.vto-spec-item:last-child { border-bottom: none; margin-bottom: 0; }
.vto-spec-label { display: block; color: #666; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; }
.vto-spec-val { color: var(--vto-gold, #c5a059); font-size: 15px; font-weight: 600; }

/* Блок задач */
.vto-task-content { padding-left: 40px; }
.vto-section-h2 { color: #fff; font-size: 32px; font-weight: 800; text-transform: uppercase; margin-bottom: 25px; }
.vto-task-intro { color: #888; font-size: 16px; line-height: 1.6; margin-bottom: 30px; }
.vto-task-list { list-style: none; padding: 0; }
.vto-task-list li { color: #ccc; font-size: 15px; margin-bottom: 20px; position: relative; padding-left: 30px; line-height: 1.5; }

/* Кастомный чекбокс списка */
.vto-task-list li::before {
    content: "\2713";
    position: absolute; left: 0;
    color: var(--vto-gold, #c5a059);
    font-weight: bold; font-size: 18px;
}
.vto-task-list li strong { color: #fff; display: block; font-size: 16px; margin-bottom: 3px; }

/* =========================================
   3. ПОРТФОЛИО: ЭТАПЫ (ТАБЫ)
========================================= */
.vto-steps-gallery-section { background: #0a0a0a; padding: 80px 0; color: #fff; }

.v-section-header { margin-bottom: 50px; text-align: left; }
.vto-premium-h2 { font-size: 32px; font-weight: 800; text-transform: uppercase; margin-bottom: 15px; letter-spacing: 1px; }
.vto-gold-line { width: 60px; height: 3px; background: var(--vto-gold, #c5a059); }

/* Навигация табов */
.vto-tabs-nav {
    display: flex;
    gap: 5px;
    margin-bottom: 30px;
    border-bottom: 1px solid #222;
    padding-bottom: 15px;
    overflow-x: auto; /* Скролл на мобилках */
}

.vto-tab-btn {
    background: none;
    border: 1px solid #333;
    color: #666;
    padding: 12px 20px;
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    transition: 0.3s;
    white-space: nowrap;
}

.vto-tab-btn.active {
    border-color: var(--vto-gold, #c5a059);
    color: var(--vto-gold, #c5a059);
    background: #111;
}

/* Контент табов */
.vto-tab-content { display: none; }
.vto-tab-content.active { display: block; animation: vtoFadeIn 0.4s ease; }

.vto-step-description {
    margin-bottom: 25px;
    padding: 15px 20px;
    background: #111;
    border-left: 3px solid var(--vto-gold, #c5a059);
    font-size: 14px;
    color: #999;
}
.vto-step-description strong { color: #fff; display: block; margin-bottom: 3px; }

/* Сетка галереи внутри таба */
.portfolio-box .col-md-4 { margin-bottom: 30px; }
.portfolio-box img { 
    width: 100%; 
    height: 240px; 
    object-fit: cover; 
    border-radius: 2px;
    transition: 0.3s;
}
.portfolio-box img:hover { opacity: 0.7; }

@keyframes vtoFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================
   4. ПОРТФОЛИО: РЕЗУЛЬТАТ И ОТЗЫВ
========================================= */
.vto-result-section { background: #0c0c0c; padding: 100px 0; border-top: 1px solid #1a1a1a; }

.vto-result-image { position: relative; padding-right: 30px; }
.vto-result-image img { border-radius: 4px; border: 1px solid #333; width: 100%; height: auto; }
.vto-result-label { 
    position: absolute; bottom: 20px; left: 20px; background: var(--vto-gold, #c5a059); 
    color: #000; padding: 5px 15px; font-size: 11px; font-weight: 700; text-transform: uppercase;
}

.vto-quote-box { padding-left: 50px; position: relative; }
.vto-quote-icon { 
    position: absolute; left: 0; top: -20px; color: var(--vto-gold, #c5a059); 
    font-size: 80px; font-family: serif; line-height: 1; opacity: 0.3; 
}
.vto-quote-text { color: #eee; font-size: 20px; line-height: 1.6; font-style: italic; margin-bottom: 30px; }
.vto-quote-author strong { display: block; color: #fff; font-size: 18px; }
.vto-quote-author span { color: #666; font-size: 14px; }

/* =========================================
   5. ПОРТФОЛИО: ФИНАЛЬНЫЙ CTA
========================================= */
.vto-cta-final { background: #0a0a0a; padding-bottom: 100px; }
.vto-cta-box { 
    background: #111; border: 1px solid var(--vto-gold, #c5a059); padding: 60px; 
    position: relative; overflow: hidden;
}
.vto-cta-box::after {
    content: ''; position: absolute; top: -50px; right: -50px; 
    width: 150px; height: 150px; background: var(--vto-gold, #c5a059);
    opacity: 0.05; transform: rotate(45deg);
}
.vto-cta-h2 { color: #fff; font-size: 32px; text-transform: uppercase; font-weight: 800; margin-bottom: 15px; }
.vto-cta-p { color: #888; font-size: 16px; margin-bottom: 0; }
.vto-btn-gold-large { 
    display: inline-block; background: var(--vto-gold, #c5a059); color: #000; padding: 20px 40px;
    font-weight: 700; text-transform: uppercase; text-decoration: none; transition: 0.3s; width: 100%; text-align: center;
}
.vto-btn-gold-large:hover { background: #fff; color: #000; }


/* =========================================
   6. ПОРТФОЛИО: АДАПТИВНОСТЬ (MOBILE)
========================================= */
@media (max-width: 991px) {
    /* Hero */
    .vto-premium-hero { padding-top: 80px; min-height: auto; }
    .vto-hero-container { flex-direction: column; }
    
    .vto-hero-side-photo { flex: 1 1 100%; height: 350px; min-height: 350px; order: 1; }
    .vto-hero-side-text { flex: 1 1 100%; padding: 40px 20px; order: 2; }
    
    .vto-h1-premium { font-size: 30px; margin-bottom: 20px; }
    .vto-area-tag { font-size: 22px; display: inline-block; margin-left: 10px; margin-top: 0; }
    .vto-facts-grid { grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 30px; }
    
    .vto-hero-btns { flex-direction: column; width: 100%; }
    .vto-btn-main, .vto-btn-second { width: 100%; text-align: center; }
    
    .vto-photo-overlay { background: linear-gradient(to bottom, transparent 80%, #0a0a0a 100%); }

    /* Контент */
    .vto-task-content { padding-left: 0; margin-top: 50px; }
    .vto-section-h2 { font-size: 26px; }

    /* Отзыв и CTA */
    .vto-quote-box { padding-left: 0; margin-top: 40px; }
    .vto-cta-box { padding: 40px 20px; text-align: center; }
    .vto-btn-gold-large { margin-top: 30px; }
    .vto-cta-h2 { font-size: 24px; }
}

@media (max-width: 768px) {
    .vto-premium-h2 { font-size: 24px; }
    .vto-tab-btn { padding: 10px 15px; font-size: 10px; }
}



/* =========================================
   ДОПОЛНИТЕЛЬНЫЕ УТИЛИТЫ И ЦВЕТА СЕКЦИЙ
   ========================================= */
.vto-bg-darker-section {
    background-color: var(--vto-bg-darker) !important;
}
.vto-bg-dark-section {
    background-color: var(--vto-bg-dark) !important;
}
.vto-portfolio-btn-wrap {
    text-align: center;
    margin-top: 60px;
}
.vto-premium-page section {
    overflow: visible !important;
}

/* =========================================
   КАСТОМНЫЕ ССЫЛКИ И ИНТЕРАКТИВ
   ========================================= */
/* Единая ссылка-контейнер (Заголовки цен) */
.vto-price-title a {
    display: inline-flex;
    align-items: center;
    color: var(--vto-text-main);
    text-decoration: none;
    border-bottom: 1px solid rgba(197, 160, 89, 0.3);
    padding-bottom: 4px;
    gap: 12px;
    transition: var(--vto-anim);
}
.vto-price-title a span:first-child {
    transition: color 0.3s ease;
}
.vto-price-title .vto-arrow {
    color: var(--vto-gold);
    display: inline-block;
    transition: transform 0.3s ease-in-out;
}
.vto-price-card:hover .vto-price-title a {
    border-bottom-color: var(--vto-gold);
    color: var(--vto-gold);
}
.vto-price-card:hover .vto-arrow {
    transform: translateX(6px);
}
.vto-price-title a:hover {
    text-decoration: none;
}

/* Название работы в таблице и ссылки */
.vto-work-name a {
    color: var(--vto-text-main);
    text-decoration: none;
    transition: var(--vto-anim);
    display: inline-block;
}
.vto-link-hint {
    font-size: 11px;
    color: var(--vto-gold);
    opacity: 0;
    margin-left: 10px;
    transition: var(--vto-anim);
    text-transform: uppercase;
}
.vto-work-name a:hover {
    color: var(--vto-gold);
}
.vto-work-name a:hover .vto-link-hint {
    opacity: 1;
    transform: translateX(5px);
}
.vto-table-anchor {
    color: var(--vto-text-main);
    text-decoration: none;
    border-bottom: 1px solid rgba(197, 160, 89, 0.4);
    padding-bottom: 1px;
    transition: var(--vto-anim);
    display: inline;
}
.vto-table-anchor:hover {
    color: var(--vto-gold);
    border-bottom-color: var(--vto-gold);
    border-bottom-style: solid;
}
.vto-table-anchor::after {
    content: '\2192';
    display: inline-block;
    margin-left: 12px;
    color: var(--vto-gold);
    opacity: 0.4;
    font-size: 0.9em;
    transition: var(--vto-anim);
}
.vto-table-anchor:hover::after {
    opacity: 1;
    transform: translateX(5px);
}

/* =========================================
   СЕТКА ЦЕН ПО КОМНАТАМ (vto-rooms-price)
   ========================================= */
.vto-rooms-price {
    padding: 60px 0;
}
.vto-rooms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin-top: 40px;
}
.vto-room-card {
    background: var(--vto-bg-card);
    border: 1px solid rgba(197, 160, 89, 0.2);
    padding: 30px;
    text-decoration: none;
    color: var(--vto-text-main);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: var(--vto-anim);
}
.vto-room-card:hover {
    border-color: var(--vto-gold);
    transform: translateY(-5px);
    background: #1a1a1a;
}
.vto-room-card h3 {
    font-size: 20px;
    margin-bottom: 10px;
    color: var(--vto-text-main);
}
.vto-room-card h3 span {
    display: block;
    font-size: 14px;
    color: var(--vto-gold);
    margin-top: 5px;
}
.vto-room-card p {
    font-size: 14px;
    color: var(--vto-text-muted);
    line-height: 1.4;
}
.room-price {
    margin: 25px 0;
    border-top: 1px solid var(--vto-border);
    padding-top: 20px;
}
.room-price .label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 5px;
}
.room-price .value {
    font-size: 24px;
    font-weight: bold;
    color: var(--vto-gold);
}
.room-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--vto-text-main);
    border-bottom: 1px solid rgba(197, 160, 89, 0.3);
    align-self: flex-start;
    padding-bottom: 2px;
    transition: var(--vto-anim);
}
.vto-room-card:hover .room-link {
    color: var(--vto-gold);
    border-bottom-color: var(--vto-gold);
}
@media (max-width: 768px) {
    .vto-rooms-grid { grid-template-columns: 1fr; }
}

/* =========================================
   HERO БЛОК С ФОНОМ (Перезапись существующих)
   ========================================= */
.vto-hero.vto-hero-bg {
    position: relative;
    background-color: var(--vto-bg-darker);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 160px 0 100px !important;
    min-height: 100vh;
    display: flex;
    align-items: center;
    transition: opacity 0.5s ease-in;
}
.vto-hero-bg.lazy { background-image: none; }
.vto-hero-bg .vto-hero-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(180deg, rgba(11,11,11,0.95) 0%, rgba(11,11,11,0.7) 50%, rgba(11,11,11,0.95) 100%);
    z-index: 1;
    pointer-events: none;
}
.vto-hero-bg .vto-hero-price-layout {
    position: relative;
    z-index: 2;
    display: flex !important;
    flex-direction: column !important; 
    align-items: center;
}
.vto-hero-bg .vto-title-block { margin-bottom: 60px; width: 100%; }
.vto-hero-bg .vto-price-selection { width: 100%; }
.vto-hero-bg .vto-price-grid {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}
.vto-hero-bg .vto-price-toggle-wrap {
    background: rgba(11, 11, 11, 0.5);
    padding: 10px 25px;
    border-radius: 50px;
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 40px;
    width: fit-content;
    border: 1px solid rgba(197, 160, 89, 0.2);
}
.vto-hero-bg .toggle-label {
    color: var(--vto-text-main) !important;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 1px;
    font-weight: 700;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 1);
}
.vto-hero-bg .vto-switch { margin: 0 15px; }

@media (max-width: 991px) {
    .vto-hero-bg {
        background-position: center top;
        padding-top: 100px !important;
        background-size: auto 100vh;
        background-attachment: scroll;
    }
    .vto-hero-bg .vto-hero-overlay {
        background: linear-gradient(180deg, rgba(11,11,11,0.6) 0%, rgba(11,11,11,0.9) 25%, rgba(11,11,11,1) 100%);
    }
    .vto-hero-price-layout { padding-bottom: 40px; }
    .vto-hero-bg .vto-price-grid { flex-direction: column; align-items: center; }
}

/* =========================================
   СЕТКА ТИПОВ ЖИЛЬЯ С ФОТОГРАФИЯМИ (Замена Раздела 17)
   ========================================= */
.vto-types-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin-top: 50px;
}
.vto-type-card {
    position: relative;
    display: block;
    text-decoration: none !important;
    background: var(--vto-bg-card);
    overflow: hidden;
    aspect-ratio: 1 / 1.1;
    transition: var(--vto-anim);
    border: 1px solid rgba(255,255,255,0.05);
}
.vto-card-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover; background-position: center;
    opacity: 0.3; filter: grayscale(100%);
    transition: all 0.6s ease; z-index: 1;
}
.vto-card-content {
    position: absolute; bottom: 0; left: 0; width: 100%; padding: 30px; z-index: 2;
    background: linear-gradient(0deg, rgba(17,17,17,1) 0%, rgba(17,17,17,0.7) 60%, rgba(17,17,17,0) 100%);
    display: flex; align-items: flex-start;
}
.vto-card-num {
    font-size: 20px; color: var(--vto-gold); font-weight: 700;
    margin-right: 20px; opacity: 0.6; margin-top: 3px;
}
.vto-card-text h4 { color: var(--vto-text-main); margin: 0 0 5px 0; font-size: 18px; font-weight: 600; }
.vto-card-text p { color: rgba(255,255,255,0.7); margin: 0; font-size: 14px; line-height: 1.5; }
.vto-card-arrow {
    margin-left: auto; color: var(--vto-gold); font-size: 20px;
    opacity: 0; transition: var(--vto-anim); transform: translateX(-10px); margin-top: 3px;
}
.vto-type-card:hover { border-color: rgba(197, 160, 89, 0.4); transform: translateY(-5px); }
.vto-type-card:hover .vto-card-bg { opacity: 0.7; filter: grayscale(0%); transform: scale(1.03); }
.vto-type-card:hover .vto-card-arrow { opacity: 1; transform: translateX(0); }

@media (max-width: 991px) {
    .vto-card-bg { opacity: 0.5; filter: grayscale(100%); }
    .vto-type-card { aspect-ratio: auto; min-height: 200px; margin-bottom: 20px; }
    .vto-card-content { position: relative; background: rgba(17,17,17,0.7); height: 100%; display: flex; align-items: center; }
}

/* =========================================
   БЛОК ЭКСПЕРТА (ФОТО ПРОРАБА И БЕЙДЖИ)
   ========================================= */
.vto-personal-block {
    overflow: hidden;
    background: var(--vto-bg-darker);
    border-top: 1px solid var(--vto-border);
    border-bottom: 1px solid var(--vto-border);
}
.vto-personal-photo-wrapper {
    flex: 0 0 40%;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: 450px;
}
.vto-expert-main-photo {
    max-height: 480px;
    width: auto;
    display: block;
    margin-top: auto;
    object-fit: contain;
    object-position: bottom;
    filter: drop-shadow(0 10px 30px rgba(0,0,0,0.5));
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}
.vto-personal-photo-wrapper::before {
    content: '';
    position: absolute;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(197, 164, 126, 0.1) 0%, transparent 70%);
    bottom: 20%; z-index: 1;
}
.vto-exp-badge-mini {
    position: absolute;
    top: 10%; right: 0;
    background: var(--vto-bg-card);
    border: 1px solid var(--vto-gold);
    padding: 15px 20px; z-index: 3; text-align: center; border-radius: 4px;
}
.vto-exp-badge-mini .vto-exp-num { font-size: 28px; color: var(--vto-gold); font-weight: 800; line-height: 1; }
.vto-exp-badge-mini .vto-exp-label { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: var(--vto-text-muted); }

.vto-signature-block {
    margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--vto-border);
}
.vto-sig-text strong { display: block; color: var(--vto-text-main); font-size: 18px; }
.vto-sig-text span { font-size: 13px; color: var(--vto-gold); }

@media (max-width: 991px) {
    .vto-personal-photo-wrapper { order: 2; min-height: 350px; margin-top: 40px; }
    .vto-expert-main-photo { width: 100%; height: auto; filter: grayscale(20%); transition: var(--vto-anim); }
    .vto-exp-badge-mini { top: 0; right: 20px; }
}

/* =========================================
   ПРЕМИАЛЬНЫЙ CTA БЛОК
   ========================================= */
.vto-cta-box-premium {
    background: #111;
    border: 1px solid var(--vto-border);
    padding: 60px;
    border-radius: 12px;
    text-align: center;
}
.vto-cta-box-premium .vto-cta-h2 {
    color: var(--vto-text-main);
    text-transform: uppercase;
}
.vto-cta-box-premium .vto-cta-h2 span {
    color: var(--vto-gold);
}
.vto-cta-box-premium .vto-divider {
    background: var(--vto-gold);
    margin: 20px auto;
}
.vto-cta-box-premium .vto-cta-p {
    color: #ccc;
    max-width: 600px;
    margin: 0 auto 40px auto;
}
.vto-cta-box-premium .vto-cta-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
}
.vto-cta-box-premium .vto-btn-gold-large {
    background: var(--vto-gold);
    color: #000;
    padding: 18px 40px;
    font-weight: bold;
    border-radius: 5px;
}
.vto-cta-box-premium .vto-phone-label {
    color: #888;
    display: block;
    font-size: 14px;
}
.vto-cta-box-premium .vto-phone-link {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
}



/* ============================================================
   ГЛАВНАЯ СТРАНИЦА (РЕДИЗАЙН 2026) И ГЛОБАЛЬНЫЕ ФИКСЫ
   ============================================================ */

/* --- 1. ГЛОБАЛЬНЫЕ УТИЛИТЫ И ФИКСЫ --- */
.vto-h2 {
    font-size: clamp(28px, 5vw, 42px) !important;
    font-weight: 300 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    margin-bottom: 25px !important;
    display: block !important;
}
.vto-h2 span { color: var(--vto-gold, #c5a47e) !important; }
.center .vto-h2 { text-align: center; }

.vto-title-desc {
    text-align: center;
    display: block;
    margin: 0 auto;
    max-width: 90%;
}

.center .vto-badge, .vto-section-header.center .vto-badge {
    display: table;
    margin-left: auto;
    margin-right: auto;
}

/* --- 2. ЛЕНИВАЯ ЗАГРУЗКА И ПЛАВНОСТЬ --- */
.lazy { opacity: 0; transition: opacity 0.5s ease-in; }
.lazy.loaded { opacity: 1 !important; }

/* Фикс для плавного зума картинок на главной и в прайсе */
.vto-type-card .vto-card-bg { transition: transform 0.6s ease, opacity 0.6s ease, filter 0.6s ease !important; will-change: transform; }
.vto-type-card:hover .vto-card-bg { transform: scale(1.05); filter: grayscale(0%); opacity: 0.7; }

/* --- 3. HERO СЕКЦИЯ (ПЕРВЫЙ ЭКРАН) --- */
.vto-hero-new { background: #050505; padding: 160px 0 100px; color: #fff; overflow: hidden; }
.vto-hero-main-row { display: flex; align-items: center; justify-content: space-between; gap: 60px;  padding: 80px 0 0px; }
.vto-hero-col-text { flex: 1; max-width: 600px; display: flex; flex-direction: column; z-index: 10; }
.vto-pre-title { color: var(--vto-gold, #c5a059); text-transform: uppercase; font-size: 11px; letter-spacing: 3px; font-weight: 700; margin-bottom: 20px; display: block; }
.vto-hero-title { font-size: clamp(32px, 5vw, 64px); line-height: 1.05; font-weight: 800; text-transform: uppercase; margin: 0 0 25px 0; }
.vto-hero-title span { color: var(--vto-gold, #c5a059); }
.vto-hero-lead { font-size: 18px; color: #999; line-height: 1.6; margin-bottom: 45px; max-width: 520px; }
.vto-hero-btns { display: flex; align-items: center; gap: 30px; }
.vto-btn-link { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; text-transform: uppercase; font-weight: 700; font-size: 13px; transition: 0.3s; }
.vto-btn-link:hover { color: var(--vto-gold, #c5a059); }

/* Блок с видео */
.vto-hero-col-media { flex: 1; max-width: 550px; z-index: 5; }
.vto-video-preview { position: relative; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background-color: #000; border: 1px solid rgba(255,255,255,0.1); transform: translateZ(0); }
.vto-video-click-layer { display: block; position: relative; width: 100%; height: 100%; overflow: hidden; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.vto-main-video-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; border-radius: 12px; pointer-events: none; transition: transform 1.5s cubic-bezier(0.1, 1, 0.2, 1); will-change: transform; }
.vto-video-preview:hover .vto-main-video-bg { transform: scale(1.05); }

/* Оверлей и кнопка Play */
.vto-video-overlay-dark { position: absolute; inset: 0; z-index: 2; background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 50%, transparent 100%); display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; }
.vto-video-hint { font-size: 11px; text-transform: uppercase; letter-spacing: 2px; color: rgba(255,255,255,0.7); text-align: center; transition: all 0.3s ease; }
.vto-video-preview:hover .vto-video-hint { color: #fff; transform: translateY(-5px); }
.vto-play-circle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80px; height: 80px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(197, 160, 89, 0.5); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 3; transition: all 0.5s cubic-bezier(0.1, 1, 0.2, 1); }
.vto-play-triangle { width: 0; height: 0; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent var(--vto-gold, #c5a059); margin-left: 6px; transition: border-color 0.3s; }
.vto-video-preview:hover .vto-play-circle { background: var(--vto-gold, #c5a059); transform: translate(-50%, -50%) scale(1.1); box-shadow: 0 0 30px rgba(197, 160, 89, 0.4); }
.vto-video-preview:hover .vto-play-triangle { border-left-color: #000; }

/* Доверие (Trust Row) */
.vto-trust-row { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 40px 60px; border-top: 1px solid #1a1a1a; padding-top: 50px; margin-top: 50px; }
.vto-t-item { display: flex; align-items: flex-start; gap: 15px; max-width: 320px; }
.vto-t-icon { flex-shrink: 0; margin-top: 3px; }
.vto-t-content strong { display: block; font-size: 16px; color: #fff; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; }
.vto-t-content span { display: block; font-size: 13px; color: #888; line-height: 1.4; text-transform: none; }

/* --- 4. БЛОК ПРОЦЕССА РАБОТЫ --- */
.vto-process-section { background: #050505; padding: 80px 0; border-top: 1px solid #1a1a1a; }
.vto-process-grid { display: grid; grid-template-columns: 1fr 400px; gap: 60px; align-items: end; margin-top: 60px; }
.vto-steps-container { display: flex; flex-direction: column; gap: 30px; padding-bottom: 20px; }
.vto-step { display: flex; align-items: flex-start; gap: 20px; }
.vto-step-icon { flex-shrink: 0; width: 44px; height: 44px; background: rgba(197, 160, 89, 0.1); border-radius: 8px; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; margin-top: -2px; }
.vto-step-icon svg { width: 20px; height: 20px; stroke: var(--vto-gold, #c5a059); }
.vto-step:hover .vto-step-icon { background: var(--vto-gold, #c5a059); }
.vto-step:hover .vto-step-icon svg { stroke: #fff; }
.vto-step-text h3 { font-size: 18px; text-transform: uppercase; letter-spacing: 1px; margin-top: 0; margin-bottom: 8px; color: #fff; line-height: 1.2; }
.vto-step-text p { color: #888; line-height: 1.5; font-size: 15px; max-width: 480px; margin: 0; }

.vto-process-proof { position: relative; height: 460px; width: 100%; }
.vto-proof-card { position: absolute; background: #111; border: 1px solid #222; border-radius: 12px; padding: 8px; box-shadow: 0 20px 40px rgba(0,0,0,0.6); transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); overflow: hidden; }
.vto-proof-label { display: block; font-size: 9px; font-weight: 600; text-transform: uppercase; color: var(--vto-gold, #c5a059); letter-spacing: 1px; margin: 4px 0 8px 8px; }
.vto-proof-card img { width: 100%; max-height: 380px; object-fit: cover; object-position: top; border-radius: 6px; display: block; filter: grayscale(0.2); }
.vto-proof-tg { width: 240px; bottom: 60px; right: 0; z-index: 2; transform: rotate(2deg); }
.vto-proof-table { width: 280px; bottom: 10px; left: -20px; z-index: 1; transform: rotate(-3deg); }
.vto-process-proof:hover .vto-proof-card { transform: rotate(0) translateY(-15px); z-index: 10; }

/* --- 5. ГЕОГРАФИЯ (КАРТОЧКИ) --- */
.vto-geo-section { padding: 100px 0; background: #000; }
.vto-geo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.vto-geo-card { background: #0a0a0a; border: 1px solid #1a1a1a; padding: 40px; height: 100%; border-radius: 12px; transition: transform 0.3s ease, border-color 0.3s ease; }
.vto-geo-card:hover { border-color: #c5a059; transform: translateY(-5px); }
.vto-geo-card h3 { font-size: 22px; color: #fff; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px; }
.vto-geo-card p { color: #888; line-height: 1.6; margin-bottom: 30px; font-size: 15px; }
.vto-geo-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.vto-geo-tag { background: rgba(197, 160, 89, 0.05); border: 1px solid rgba(197, 160, 89, 0.2); color: #c5a059; padding: 6px 15px; font-size: 12px; border-radius: 4px; font-weight: 500; }
.vto-jk-logos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.vto-jk-item { background: #111; border: 1px solid #222; padding: 15px 10px; text-align: center; font-size: 12px; color: #666; text-transform: uppercase; letter-spacing: 1px; font-weight: 700; border-radius: 4px; }

/* --- 6. БЛОГ --- */
.vto-blog-section { padding: 100px 0; background-color: #080808; }
.vto-blog-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 50px; }
.vto-blog-all-link { color: #c5a059; text-decoration: none; border-bottom: 1px solid rgba(197, 160, 89, 0.3); padding-bottom: 5px; transition: 0.3s; }
.vto-blog-all-link:hover { border-color: #c5a059; }
.vto-blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 30px; }
.vto-blog-card { background: #111; border: 1px solid #222; border-radius: 12px; overflow: hidden; transition: 0.3s ease-in-out; }
.vto-blog-card:hover { border-color: #c5a059; transform: translateY(-5px); }
.vto-blog-thumb { position: relative; height: 220px; }
.vto-blog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.vto-blog-category { position: absolute; bottom: 15px; left: 15px; background: #c5a059; color: #000; padding: 4px 12px; font-size: 11px; font-weight: 700; text-transform: uppercase; border-radius: 4px; }
.vto-blog-content { padding: 25px; }
.vto-blog-content h3 { font-size: 18px; color: #fff; margin-bottom: 12px; line-height: 1.4; }
.vto-blog-content p { font-size: 14px; color: #888; line-height: 1.6; margin-bottom: 20px; }
.vto-link-more { color: #c5a059; font-weight: 600; text-decoration: none; font-size: 14px; }

/* --- 7. ПРЕМИАЛЬНЫЙ CTA И ТЕХ. БЛОК --- */
.tech-visual img { filter: grayscale(100%) contrast(1.1) brightness(0.8); transition: var(--vto-anim); }
.tech-visual:hover img { filter: grayscale(0%) contrast(1) brightness(1); }
.vto-cta-premium { padding: 100px 0; background: #050505; }
.vto-tech-section + .vto-cta-premium { padding-top: 50px; }
.vto-cta-wrapper { background: #111; border: 1px solid #222; display: flex; align-items: center; gap: 60px; padding: 60px; border-radius: 20px; position: relative; overflow: hidden; }
.vto-cta-wrapper::before { content: ''; position: absolute; top: -50%; right: -20%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(197, 164, 126, 0.05) 0%, transparent 70%); pointer-events: none; }
.vto-cta-person { flex-shrink: 0; text-align: center; }
.vto-cta-image { position: relative; width: 180px; height: 180px; margin: 0 auto 20px; }
.vto-cta-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 2px solid var(--vto-gold); filter: grayscale(20%); }
.vto-cta-status { position: absolute; bottom: 10px; right: 10px; background: #28a745; color: #fff; font-size: 10px; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; font-weight: 700; border: 2px solid #111; }
.vto-cta-person-info strong { display: block; font-size: 20px; color: #fff; margin-bottom: 5px; }
.vto-cta-person-info span { font-size: 13px; color: var(--vto-gold); }
.vto-cta-main { flex-grow: 1; }
.vto-cta-title { /* Заменяем фиксированные 36px на адаптивный clamp */
    font-size: clamp(26px, 5vw, 42px) !important; 
    line-height: 1.2;
    text-transform: uppercase;
    margin: 15px 0 25px;
    color: #fff;
    /* Добавляем принудительное отображение блоком, как в других секциях */
    display: block !important; }
.vto-cta-title span { color: var(--vto-gold); }
.vto-cta-text { font-size: 17px; color: #999; /*max-width: 550px; */margin-bottom: 40px; }
.vto-cta-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; }
.vto-btn-gold-large { background: var(--vto-gold); color: #000; padding: 22px 40px; text-transform: uppercase; font-weight: 800; font-size: 14px; text-decoration: none; transition: 0.3s; }
.vto-btn-gold-large:hover { background: #fff; transform: translateY(-3px); }
.vto-cta-alt-links { display: flex; flex-direction: column; gap: 10px; }
.vto-cta-tg-link { display: flex; align-items: center; gap: 8px; color: #888; text-decoration: none; font-size: 14px; transition: 0.3s; }
.vto-cta-tg-link svg { color: #24A1DE; }
.vto-cta-tg-link:hover { color: #fff; }
.vto-cta-phone-link { color: #fff; text-decoration: none; font-size: 18px; font-weight: 700; transition: 0.3s; }
.vto-cta-phone-link:hover { color: var(--vto-gold); }

/* --- 8. АДАПТИВНОСТЬ НОВЫХ БЛОКОВ --- */
@media (max-width: 1199px) { 
    .vto-process-grid { grid-template-columns: 1fr 350px; gap: 40px; } 
    .vto-proof-table { left: 0; }
}
@media (max-width: 991px) {
    .vto-hero-new { padding: 120px 0 60px; }
    .vto-hero-main-row { flex-direction: column; text-align: center; gap: 40px; }
    .vto-hero-col-text { align-items: center; max-width: 100%; }
    .vto-hero-lead { margin-inline: auto; }
    .vto-hero-btns { flex-direction: column; width: 100%; gap: 20px; }
    .vto-btn-gold-large { width: 100%; text-align: center; } /* Фикс для кнопки */
    .vto-hero-col-media { max-width: 100%; width: 100%; }
    .vto-trust-row { display: grid; grid-template-columns: 1fr; gap: 30px; padding-top: 40px; text-align: left; }
    .vto-t-item { max-width: 100%; }
    
    .vto-process-grid { grid-template-columns: 1fr; gap: 40px; margin-top: 40px; }
    .vto-process-proof { height: 420px; max-width: 450px; margin: 40px auto 0; }
    .vto-step-text p { max-width: 100%; }
    
    .vto-geo-grid { grid-template-columns: 1fr; }
    .vto-geo-card { padding: 30px; }
    
    .vto-cta-wrapper { flex-direction: column; padding: 40px 20px; text-align: center; }
    .vto-cta-buttons { flex-direction: column; }
    .vto-cta-text { margin-inline: auto; }
}
@media (max-width: 768px) {
    .vto-blog-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .vto-cta-buttons { flex-direction: column; gap: 25px; }
    .vto-cta-alt-links { align-items: center; }
}
@media (max-width: 480px) {
    .vto-hero-title { font-size: 28px; }
    .vto-process-section { padding: 60px 0; }
    .vto-process-proof { height: 350px; }
    .vto-step { gap: 15px; }
    .vto-step-icon { width: 38px; height: 38px; }
    .vto-step-text h3 { font-size: 16px; }
    .vto-proof-tg { width: 180px; bottom: 50px; }
    .vto-proof-table { width: 210px; bottom: 10px; }
}
/* --- БЛОК ТЕХНИЧЕСКИХ СТАНДАРТОВ (FIX) --- */
.vto-tech-standards {
    padding: 100px 0;
    background: #0a0a0a;
}

.vto-standards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 колонки на десктопе */
    gap: 30px;
    margin-top: 50px;
}

.vto-standard-card {
    background: #111;
    border: 1px solid #222;
    padding: 35px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: all 0.3s ease;
}

.vto-standard-card:hover {
    border-color: var(--vto-gold);
    transform: translateY(-5px);
    background: #161616;
}

.vto-card-head {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.vto-card-icon {
    width: 44px;
    height: 44px;
    background: rgba(197, 160, 89, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.vto-card-icon svg {
    color: var(--vto-gold);
    width: 22px;
    height: 22px;
}

.vto-standard-card h3 {
    font-size: 19px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    margin: 0;
}

.vto-card-body {
    flex-grow: 1;
}

.vto-card-body p {
    color: #888;
    line-height: 1.6;
    font-size: 15px;
    margin: 0;
}

.vto-card-body strong {
    color: #bbb;
    font-weight: 600;
}

.vto-card-footer {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #222;
}

.vto-tag {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--vto-gold);
    font-weight: 700;
    opacity: 0.8;
}

/* Адаптив для стандартов */
@media (max-width: 991px) {
    .vto-standards-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 колонки на планшетах */
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .vto-standards-grid {
        grid-template-columns: 1fr; /* 1 колонка на мобильных */
    }
    .vto-standard-card {
        padding: 25px;
    }
}

/* --- БЛОК ТЕХНИЧЕСКОГО АУДИТА (ИНЖЕНЕРНЫЙ РЕМОНТ) --- */
.vto-tech-section {
    padding: 100px 0;
    background: #050505;
}

/* Сетка блока */
.vto-tech-section .vto-team-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

/* Стили фото */
.vto-tech-section .vto-main-photo {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border: 1px solid #222;
}

.vto-tech-section .vto-main-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.vto-tech-section .vto-main-photo:hover img {
    transform: scale(1.05);
}

/* Стили контента */
.vto-tech-section .vto-team-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vto-specs-list {
    list-style: none;
    padding: 0;
    margin: 35px 0;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.vto-specs-list li {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.vto-spec-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: rgba(197, 160, 89, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vto-spec-text strong {
    display: block;
    color: #fff;
    font-size: 17px;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.vto-spec-text span {
    color: #888;
    font-size: 14px;
    line-height: 1.5;
}

/* Облако тегов партнеров */
.vto-team-ecosystem {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #1a1a1a;
}

.vto-team-ecosystem p {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #555;
    margin-bottom: 20px;
}

.vto-tags-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.vto-tech-section .vto-tag {
    background: #111;
    border: 1px solid #222;
    color: #999;
    padding: 8px 16px;
    font-size: 11px;
    border-radius: 4px;
    transition: 0.3s;
}

.vto-tech-section .vto-tag:hover {
    color: var(--vto-gold);
    border-color: var(--vto-gold);
}

/* Адаптивность */
@media (max-width: 991px) {
    .vto-tech-section .vto-team-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    
    .vto-tech-section .vto-team-photo-block {
        order: 2; /* Фото уходит вниз на мобилках */
    }
    
    .vto-tech-section .vto-team-content {
        order: 1;
        text-align: center;
    }
    
    .vto-specs-list li {
        text-align: left;
    }
    
    .vto-tech-section .vto-main-photo {
        aspect-ratio: 16 / 9;
    }
    
    .vto-tags-cloud {
        justify-content: center;
    }
}

/* --- ФИКС БЛОКА СМЕТЫ (ПОД ТАРИФАМИ) --- */
.vto-estimate-box {
    margin-top: 50px;
    background: #111;
    border: 1px solid #222;
    border-radius: 12px;
    padding: 30px;
    position: relative;
    overflow: hidden;
}

/* Делаем содержимое в одну строку */
.vto-estimate-content {
    display: flex;
    align-items: center;
    gap: 30px;
}

.vto-estimate-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: rgba(197, 164, 126, 0.05);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(197, 164, 126, 0.2);
}

.vto-estimate-text {
    flex-grow: 1; /* Текст занимает всё свободное место */
}

.vto-estimate-text h4 {
    color: #fff;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 5px 0;
}

.vto-estimate-text p {
    color: #888;
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
}

/* Кнопка в блоке сметы */
.vto-estimate-content .vto-btn-second {
    flex-shrink: 0;
    white-space: nowrap; /* Чтобы текст кнопки не переносился */
    background: transparent;
    border: 1px solid var(--vto-gold);
    color: var(--vto-gold);
    padding: 15px 30px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    transition: 0.3s;
}

.vto-estimate-content .vto-btn-second:hover {
    background: var(--vto-gold);
    color: #000;
}

/* Адаптивность для сметы */
@media (max-width: 991px) {
    .vto-estimate-content {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
    
    .vto-estimate-text p {
        max-width: 100%;
    }
    
    .vto-estimate-content .vto-btn-second {
        width: 100%; /* На мобилке кнопка на всю ширину */
    }
}


/* --- БЛОК B2B (КОММЕРЧЕСКИЙ РЕМОНТ) --- */
.vto-commercial-short {
    padding: 100px 0;
    background: #080808;
    border-top: 1px solid #1a1a1a;
}

.vto-commercial-flex {
    display: flex;
    gap: 80px;
    align-items: flex-start;
}

.vto-commercial-content {
    flex: 1.2;
}

.vto-commercial-desc {
    font-size: 17px;
    color: #999;
    line-height: 1.7;
    margin: 25px 0 40px;
}

/* Ссылки-плашки (Направления) */
.vto-comm-tags {
    margin-top: 30px;
}

.vto-tags-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #555;
    margin-bottom: 15px;
}

.vto-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.vto-tags-list a {
    display: inline-block;
    padding: 10px 20px;
    background: #111;
    border: 1px solid #222;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.vto-tags-list a:hover {
    border-color: var(--vto-gold);
    color: var(--vto-gold);
    background: rgba(197, 164, 126, 0.05);
    transform: translateY(-2px);
}

/* Правая колонка с фишками */
.vto-commercial-features-box {
    flex: 1;
    background: #111;
    border: 1px solid #222;
    padding: 40px;
    border-radius: 12px;
}

.vto-comm-feature {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.vto-comm-num {
    font-size: 14px;
    font-weight: 800;
    color: var(--vto-gold);
    font-family: serif; /* Или ваш акцентный шрифт */
    opacity: 0.8;
}

.vto-comm-text {
    font-size: 14px;
    color: #888;
    line-height: 1.5;
}

.vto-comm-text strong {
    display: block;
    color: #fff;
    font-size: 16px;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Футер блока */
.vto-commercial-footer {
    margin-top: 10px;
    padding-top: 25px;
    border-top: 1px solid #222;
}

.vto-commercial-link {
    color: var(--vto-gold);
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    transition: 0.3s;
}

.vto-commercial-link:hover {
    color: #fff;
    padding-left: 5px;
}

/* Адаптив */
@media (max-width: 991px) {
    .vto-commercial-flex {
        flex-direction: column;
        gap: 50px;
    }
    
    .vto-commercial-features-box {
        width: 100%;
    }
}


/* --- ФИКС КНОПОК ПЕРВОГО ЭКРАНА --- */
.vto-hero-btns {
    display: flex;
    align-items: center; /* Центрируем по вертикали, чтобы кнопка и ссылка были на одной линии */
    gap: 30px;
    margin-top: 40px;
}

/* Основная золотая кнопка */
.vto-btn-gold-large {
    display: inline-block;
    background: var(--vto-gold);
    color: #000;
    padding: 18px 40px; /* Оптимальный размер: не слишком огромная, но заметная */
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-decoration: none;
    border-radius: 4px;
    transition: var(--vto-anim);
    box-shadow: 0 10px 30px rgba(197, 164, 126, 0.2);
}

.vto-btn-gold-large:hover {
    background: var(--vto-gold-hover);
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(197, 164, 126, 0.3);
}

/* Ссылка на портфолио */
.vto-btn-link {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: var(--vto-anim);
    position: relative;
    padding: 10px 0;
}

.vto-btn-link svg {
    transition: transform 0.3s ease;
    color: var(--vto-gold);
}

.vto-btn-link:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px; /* Короткая линия в начале */
    height: 1px;
    background: var(--vto-gold);
    transition: width 0.3s ease;
}

/* Эффект при наведении на ссылку */
.vto-btn-link:hover {
    color: var(--vto-gold);
}

.vto-btn-link:hover:after {
    width: 100%; /* Линия подчеркивания растягивается */
}

.vto-btn-link:hover svg {
    transform: translateX(5px);
}

/* Адаптив для кнопок */
@media (max-width: 600px) {
    .vto-hero-btns {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    
    .vto-btn-gold-large {
        width: 100%;
        text-align: center;
        padding: 20px;
    }
    
    .vto-btn-link {
        padding-left: 0;
        font-size: 13px;
    }
}

/* ==========================================================================
   1. БАЗОВАЯ СТРУКТУРА И СЕТКА (МОБИЛЬНАЯ ВЕРСИЯ ПО УМОЛЧАНИЮ)
   ========================================================================== */
    .vto-article-section {
        padding: 60px 0;
        background-color: #0b0b0b;
        color: #cccccc;
    }

    .vto-article-grid {
        display: flex;
    flex-direction: column;
    }

    .vto-article-sidebar {
        position: -webkit-sticky; /* Для поддержки Safari */
    position: sticky;
    top: 100px; /* Отступ от шапки сайта */
    z-index: 100;
    align-self: flex-start; /* ОБЯЗАТЕЛЬНО: позволяет sticky работать внутри flex/grid */
    height: auto;
    order: 1; /* Меню сверху */
    margin-bottom: 20px;
    }

    .vto-article-main-text {
        order: 2;
        /* Текст идет под меню */
        width: 100%;
        overflow-wrap: break-word;
        /* Защита от вылета текста */
        overflow: hidden;
    }

/* --- МОБИЛЬНАЯ ВЕРСИЯ (до 991px) --- */
@media (max-width: 991px) {
    .vto-article-grid {
        display: flex !important;
        flex-direction: column !important;
    }
    .vto-article-sidebar {
        order: 1 !important; /* Меню ПЕРВЫМ */
        position: static !important; /* На мобиле НЕ липнет, чтобы не перекрывать текст */
        margin-bottom: 30px;
    }
    .vto-article-main-text {
        order: 2 !important; /* Текст ВТОРЫМ */
    }
    .vto-sticky-menu {
        max-height: none !important; /* На мобиле меню может быть любой длины */
    }
}


    /* ==========================================================================
   2. СЕТКА ДЛЯ КОМПЬЮТЕРОВ (DESKTOP)
   ========================================================================== */
    @media (min-width: 992px) {
        .vto-article-grid {
            display: grid !important;
        grid-template-columns: minmax(0, 1fr) 350px !important;
        gap: 40px;
        align-items: start !important;
        }

        .vto-article-main-text {
            order: 1 !important; /* Текст СЛЕВА */
        grid-column: 1 !important;
        }

        /* Возвращаем текст на первое место (слева) */
        .vto-article-sidebar {
            order: 2 !important; /* Меню СПРАВА */
        grid-column: 2 !important;
        position: sticky !important;
        top: 100px !important;
        height: auto !important;
        }

        /* Меню уходит вправо */
        .vto-sticky-menu {
            display: flex;
        flex-direction: column;
        max-height: calc(100vh - 150px); /* Ограничение высоты для скролла */
        background: #fff;
        border: 1px solid #eee;
        box-shadow: 0 4px 15px rgba(0,0,0,0.05);
        }
        .vto-nav-scroll-container {
        overflow-y: auto; /* Включаем внутренний скролл */
        flex: 1 1 auto;
    }

        /* Включаем "прилипание" только на ПК */
    }

    /* ==========================================================================
   3. ТИПОГРАФИКА
   ========================================================================== */
    .vto-article-main-text h2 {
        font-size: clamp(24px, 3vw, 32px);
        color: #fff;
        margin: 0 0 30px;
        line-height: 1.2;
        font-weight: 700;
    }

    .vto-article-main-text h3 {
        font-size: clamp(20px, 2.5vw, 26px);
        color: #fff;
        margin: 40px 0 20px;
        font-weight: 600;
    }

    .vto-article-main-text p {
        font-size: 18px;
        line-height: 1.7;
        margin-bottom: 25px;
        color: #bbb;
    }

    .vto-article-divider {
        margin-top: 60px;
        padding-top: 40px;
        border-top: 1px solid #222;
    }

    /* ==========================================================================
   4. КОМПОНЕНТЫ: МЕНЮ, ТАБЛИЦА И ПОДСКАЗКА
   ========================================================================== */
    /* Меню */
    .vto-sticky-menu {
        background: #111;
        padding: 30px;
        border-radius: 6px;
        border: 1px solid #222;
    }

    .vto-sticky-menu h5 {
        color: #c5a059;
        font-size: 13px;
        text-transform: uppercase;
        letter-spacing: 2px;
        margin: 0 0 25px;
        border-bottom: 1px solid #333;
        padding-bottom: 15px;
    }

    .vto-sticky-menu ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .vto-sticky-menu li {
        margin-bottom: 15px;
    }

    .vto-sticky-menu a {
        color: #888;
        text-decoration: none;
        font-size: 15px;
        transition: 0.3s;
        display: block;
    }

    .vto-sticky-menu a:hover {
        color: #fff;
        transform: translateX(5px);
    }

    /* ==========================================================================
   ТАБЛИЦЫ (ОСНОВНАЯ ТЕМНАЯ ВЕРСИЯ)
   ========================================================================== */
    .vto-table-wrapper {
        margin: 40px 0;
        overflow-x: auto;
        border: 1px solid #222;
        border-radius: 4px;
    }

    .vto-custom-table {
        width: 100%;
        min-width: 600px;
        border-collapse: collapse;
        background: #111;
        /* Темный фон по умолчанию */
    }

    .vto-custom-table th {
        background: #1a1a1a;
        color: #c5a059;
        padding: 15px;
        text-align: left;
        font-size: 14px;
        text-transform: uppercase;
        border-bottom: 2px solid #222;
    }

    .vto-custom-table td {
        padding: 15px;
        border-bottom: 1px solid #222;
        color: #ccc;
        font-size: 17px;
        /* Оптимальный размер для чтения лонгрида */
        line-height: 1.5;
    }

    /* ==========================================================================
   ТАБЛИЦЫ (ИСПРАВЛЕНИЕ ДЛЯ СВЕТЛОЙ ТЕМЫ)
   ========================================================================== */
    .vto-light-article .vto-table-wrapper {
        border-color: #e0e0e0 !important;
    }

    /* Принудительно красим саму таблицу, заголовки и ячейки */
    .vto-light-article .vto-custom-table {
        background: #ffffff !important;
    }

    .vto-light-article .vto-custom-table th {
        background: #f1f1ee !important;
        color: #000000 !important;
        border-bottom-color: #e0e0e0 !important;
    }

    .vto-light-article .vto-custom-table td {
        background: #ffffff !important;
        /* Гарантируем белый фон ячеек */
        color: #333333 !important;
        border-bottom-color: #eeeeee !important;
    }

    /* Tooltip (Подсказка) */
    .vto-tooltip-container {
        position: relative;
        display: inline-block;
    }

    .vto-tooltip-trigger {
        color: #666;
        font-size: 13px;
        cursor: help;
        border-bottom: 1px dashed #444;
    }

    .vto-tooltip-text {
        visibility: hidden;
        width: 250px;
        background: #1a1a1a;
        color: #ccc;
        padding: 15px;
        border-radius: 4px;
        position: absolute;
        z-index: 100;
        bottom: 125%;
        left: 0;
        opacity: 0;
        transition: 0.3s;
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
        font-size: 13px;
    }

    .vto-tooltip-container:hover .vto-tooltip-text {
        visibility: visible;
        opacity: 1;
    }

    .vto-tooltip-text::after {
        content: "";
        position: absolute;
        top: 100%;
        left: 20px;
        border-width: 5px;
        border-style: solid;
        border-color: #333 transparent transparent transparent;
    }

    /* ==========================================================================
   5. ЭКСПЕРТНЫЕ БЛОКИ (INSIGHTS, TIP, CALCULATOR)
   ========================================================================== */
    /* Ключевые показатели */
    .vto-cost-insights {
        background: #151515;
        border-left: 4px solid #c5a059;
        padding: 30px;
        margin-bottom: 40px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }

    .vto-insights-header h4 {
        color: #c5a059;
        text-transform: uppercase;
        font-size: 18px;
        margin: 0 0 20px;
    }

    .vto-insights-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .vto-insights-list li {
        position: relative;
        padding-left: 25px;
        margin-bottom: 15px;
        color: #eee;
        font-size: 17px;
    }

    .vto-insights-list li::before {
        content: "•";
        position: absolute;
        left: 0;
        color: #c5a059;
        font-size: 20px;
        font-weight: bold;
    }

    .vto-insights-list strong {
        color: #fff;
        font-weight: 600;
    }

    /* Совет эксперта */
    .vto-article-tip {
        background: #1a1a1a;
        border-left: 4px solid #ff5a5f;
        padding: 30px;
        margin: 40px 0;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    }

    .vto-tip-header {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 20px;
    }

    .vto-tip-icon {
        font-size: 28px;
        /* Размер лампочки */
        line-height: 1;
        flex-shrink: 0;
        /* Чтобы лампочка не сжималась */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .vto-tip-header span:last-child {
        font-size: 24px;
        font-weight: 800;
        line-height: 1.2;
        color: #ff5a5f;
        /* Сохраняем красный акцент для текста */
    }

    .vto-tip-header span {
        font-size: 22px;
        line-height: 1.2;
        /* Чтобы текст не «прыгал» относительно иконки */
        font-weight: 800;
    }

    .vto-tip-content {
        font-size: 17px;
        line-height: 1.6;
        color: #ccc;
        margin-bottom: 20px;
    }

    .vto-tip-author {
        display: flex;
        align-items: center;
        gap: 15px;
        border-top: 1px solid #333;
        padding-top: 20px;
    }

    .vto-tip-author img {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        object-fit: cover;
    }

    .vto-author-info .name {
        display: block;
        color: #fff;
        font-weight: 600;
        font-size: 15px;
        text-decoration: underline;
    }

    .vto-author-info .rank {
        color: #777;
        font-size: 13px;
    }

    /* Калькулятор цен */
    .vto-price-calculator {
        background: #111;
        border: 1px solid #222;
        border-radius: 8px;
        margin: 50px 0;
        overflow: hidden;
    }

    .vto-calc-header {
        background: #1a1a1a;
        padding: 20px 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #222;
        flex-wrap: wrap;
        gap: 15px;
    }

    .vto-calc-title h4 {
        margin: 0;
        color: #fff;
        font-size: 22px;
    }

    .vto-calc-title span {
        color: #888;
        font-size: 14px;
    }

    .vto-calc-btn {
        background: #c5a059;
        color: #000;
        padding: 10px 20px;
        border-radius: 4px;
        font-weight: 700;
        text-transform: uppercase;
        font-size: 13px;
        text-decoration: none;
    }

    .vto-calc-body {
        padding: 30px;
        display: grid;
        gap: 30px;
    }

    .vto-range-label {
        display: block;
        color: #888;
        margin-bottom: 10px;
        text-transform: uppercase;
        font-size: 12px;
    }

    .vto-range-value-large {
        font-size: clamp(20px, 4vw, 32px);
        color: #c5a059;
        font-weight: 700;
        margin-bottom: 10px;
    }

    .vto-stat-item {
        display: flex;
        justify-content: space-between;
        margin-bottom: 15px;
    }

    .vto-stat-item .label {
        color: #666;
        font-size: 14px;
    }

    .vto-stat-item .value {
        color: #fff;
        font-weight: 600;
    }

    .vto-calc-visual-range {
        padding: 0 30px 30px;
    }

    .vto-visual-line {
        height: 6px;
        background: #222;
        border-radius: 10px;
        position: relative;
        margin-bottom: 15px;
    }

    .vto-visual-active-bar {
        position: absolute;
        left: 13%;
        right: 50%;
        height: 100%;
        background: #c5a059;
        border-radius: 10px;
    }

    .vto-visual-pointer {
        position: absolute;
        left: 32%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 20px;
        height: 20px;
        background: #fff;
        border: 4px solid #c5a059;
        border-radius: 50%;
    }

    .vto-visual-labels {
        display: flex;
        justify-content: space-between;
        color: #555;
        font-size: 12px;
        font-weight: 600;
    }

    @media (min-width: 768px) {
        .vto-calc-body {
            grid-template-columns: 1.5fr 1fr;
        }

        .vto-calc-stats {
            border-left: 1px solid #222;
            padding-left: 30px;
        }

        .vto-custom-table td {
            font-size: 15px;
            padding: 12px 15px;
        }

        .vto-custom-table th {
            font-size: 13px;
            padding: 12px 15px;
        }
    }

    @media (max-width: 767px) {
        .vto-calc-stats {
            border-top: 1px solid #222;
            padding-top: 20px;
        }

        .vto-calc-header {
            justify-content: center;
            text-align: center;
        }
    }

    /* ==========================================================================
   6. ПЕРЕОПРЕДЕЛЕНИЕ ДЛЯ СВЕТЛОЙ ТЕМЫ (LIGHT ARTICLE)
   ========================================================================== */
    .vto-light-article {
        background-color: #f9f9f7 !important;
        color: #1a1a1a !important;
    }

    .vto-light-article .vto-article-main-text h2,
    .vto-light-article .vto-article-main-text h3 {
        color: #0b0b0b !important;
    }

    .vto-light-article .vto-article-main-text p {
        color: #333 !important;
    }

    /* Фоновые блоки в светлой теме */
    .vto-light-article .vto-cost-insights,
    .vto-light-article .vto-price-calculator,
    .vto-light-article .vto-sticky-menu,
    .vto-light-article .vto-article-tip {
        background: #fff !important;
        border-color: #e0e0e0 !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
        border-left-color: #c5a059 !important;
    }

    /* Шапки и элементы */
    .vto-light-article .vto-calc-header,
    .vto-light-article .vto-custom-table th {
        background: #f1f1ee !important;
        border-color: #e0e0e0 !important;
    }

    .vto-light-article .vto-insights-list li,
    .vto-light-article .vto-tip-content {
        color: #222 !important;
    }

    .vto-light-article .vto-insights-list strong,
    .vto-light-article .vto-calc-title h4,
    .vto-light-article .vto-custom-table th,
    .vto-light-article .vto-author-info .name {
        color: #000 !important;
    }

    .vto-light-article .vto-stat-item .value {
        color: #111 !important;
    }

    .vto-light-article .vto-visual-line {
        background: #e0e0e0 !important;
    }

    .vto-light-article .vto-sticky-menu a {
        color: #666;
    }

    .vto-light-article .vto-sticky-menu a:hover {
        color: #c5a059;
    }

    .vto-light-article .vto-custom-table td {
        border-color: #eee;
        color: #444;
    }

    .vto-light-article .vto-tip-author {
        border-color: #eee !important;
    }

    /* Основной контейнер контента */
    .vto-tip-content p {
        margin-bottom: 15px;
        line-height: 1.6;
    }

    /* Стилизация списка */
    .vto-expert-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .vto-expert-list li {
        position: relative;
        padding-left: 25px;
        /* Место под маркер */
        margin-bottom: 12px;
        line-height: 1.5;
    }

    .vto-expert-list li:last-child {
        margin-bottom: 0;
    }

    /* Кастомный маркер-точка */
    .vto-expert-list li::before {
        content: "•";
        position: absolute;
        left: 0;
        top: 0;
        color: #ff5a5f;
        /* Ваш акцентный цвет */
        font-size: 24px;
        line-height: 1;
    }

    /* Стили заголовка с лампочкой */
    .vto-tip-header {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 20px;
    }

    .vto-tip-icon {
        font-size: 28px;
        flex-shrink: 0;
    }

    .vto-tip-title {
        font-size: 22px;
        font-weight: 800;
        color: #ff5a5f;
        line-height: 1.2;
    }
    /* Контейнер скрытых ссылок */
.vto-menu-collapsed {
    display: none; /* Используем display для четкого срабатывания скролла */
}

/* Класс, который добавит скрипт при нажатии */
.vto-menu-collapsed.is-expanded {
    display: block;
}

/* Кнопка "Посмотреть все" */
.vto-show-more {
    color: #c5a059;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    display: inline-block;
    padding: 0;
}
.vto-nav-scroll-container {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0; /* Важно для корректного скролла во flex-блоке */
    padding-right: 8px;
    
}

.vto-button-wrapper {
    flex-shrink: 0;
    border-top: 1px solid #eee;
    padding: 15px;
    text-align: center;
}

/* Кастомизация скроллбара, чтобы был тонким (как у Angi) */
.vto-nav-scroll-container::-webkit-scrollbar {
    width: 4px;
}
.vto-nav-scroll-container::-webkit-scrollbar-thumb {
    background-color: #c5a059;
    border-radius: 4px;
}
.vto-show-more:hover {
    color: #a3844a;
    opacity: 0.8;
}

/* Добавляем стрелку ВНИЗ через CSS по умолчанию */
.vto-show-more::after {
    content: " ↓";
    display: inline-block;
    margin-left: 6px;        /* Отодвигаем стрелку от текста */
    transition: transform 0.3s ease; /* Плавный поворот */
}

/* ЕСЛИ родитель меню имеет класс .expanded, поворачиваем CSS-стрелку ВВЕРХ */
.vto-sticky-menu.expanded .vto-show-more::after {
    transform: rotate(180deg);
}
/* Отступ для якорных ссылок, чтобы заголовки не уходили под шапку */
h2[id], h3[id], h4[id], div[id] {
    scroll-margin-top: 120px; /* Настрой это значение под высоту своей шапки + запас */
}
/* Стили шапки и прилипания */
    .vto-main-header {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 99999 !important;
        background: #0a0a0a;
        transition: all 0.3s ease;
    }

    .vto-main-header.scrolled .vto-header-top {
        display: none !important;
    }

    

    /* Стили мобильного меню */
    .vto-mobile-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #0a0a0a;
        z-index: 100000;
        display: none;
        flex-direction: column;
        padding: 60px 20px;
        overflow-y: auto;
    }

    .vto-mobile-menu.active {
        display: flex !important;
    }

    .vto-mobile-close {
        position: absolute;
        top: 15px;
        right: 15px;
        font-size: 45px;
        color: #c5a059;
        cursor: pointer;
        line-height: 1;
    }

    .vto-m-top-contacts {
        display: flex !important;
        gap: 10px;
        margin-bottom: 20px;
    }

    .vto-m-call-btn,
    .vto-m-tg-btn {
        flex: 1;
        text-align: center;
        padding: 15px;
        border-radius: 4px;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
        text-transform: uppercase;
    }

    .vto-m-call-btn {
        background: #c5a059;
        color: #000;
    }

    .vto-m-tg-btn {
        background: #222;
        color: #fff;
        border: 1px solid #333;
    }

    .vto-m-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .vto-m-list>li>a {
        display: block;
        padding: 15px 0;
        color: #fff;
        font-size: 20px;
        text-decoration: none;
        border-bottom: 1px solid #1a1a1a;
    }

    .vto-m-sublist {
        list-style: none;
        padding: 5px 0 15px 20px;
    }

    .vto-m-sublist li a {
        display: block;
        padding: 8px 0;
        color: #aaa;
        font-size: 16px;
        text-decoration: none;
    }

    /* Бургер */
    .vto-mobile-toggle {
        background: none;
        border: none;
        cursor: pointer;
        padding: 10px;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .vto-mobile-toggle span {
        display: block;
        width: 25px;
        height: 2px;
        background: #c5a059;
    }

    @media (min-width: 992px) {
        .vto-mobile-only {
            display: none !important;
        }
    }

    @media (max-width: 991px) {
        .vto-desktop-only {
            display: none !important;
        }
    }
    /* Основной контейнер верхней части шапки */
.vto-top-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
   
}

/* Контейнер для ссылок (Email + TG) */
.vto-top-links {
    display: flex;
    align-items: center;
    gap: 25px; /* Расстояние между email и ссылкой телеграма */
}

/* Общие стили для элементов в верхней шапке */
.vto-email, 
.vto-cta-tg-link {
    display: flex;
    align-items: center;
    gap: 8px; /* Отступ внутри ссылки между иконкой и текстом */
    color: #888; /* Цвет текста как на скриншоте */
    font-size: 13px;
    text-decoration: none;
    transition: 0.3s;
}

/* Эффект при наведении */
.vto-email:hover, 
.vto-cta-tg-link:hover {
    color: #c5a47e; /* Золотистый цвет при наведении */
}

/* Специфические настройки для иконки Telegram */
.vto-cta-tg-link svg {
    flex-shrink: 0; /* Чтобы иконку не сплющивало */
    fill: currentColor; /* Цвет иконки будет меняться вместе с текстом */
}

/* Стили для текстовой информации (Москва, время работы) */
.vto-top-info {
    display: flex;
    gap: 20px;
}

.vto-info-item {
    font-size: 13px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 6px;
}
/* 1. Управляем пропорциями колонок (65/35) */
    @media (min-width: 992px) {
        .vto-hero-internal .vto-hero-main-row {
            display: grid;
            grid-template-columns: 1.6fr 1fr;
            /* Текст шире, картинка уже */
            gap: 40px;
            align-items: center;
        }
    }



    /* 3. Уменьшаем размер заголовка на внутренних */
    .vto-hero-internal .vto-hero-title {
        font-size: clamp(28px, 4vw, 40px) !important;
        margin-top: 5px !important;
        line-height: 1.1;
    }

    /* 4. Делаем картинку компактнее по высоте */
    .vto-hero-internal .vto-hero-img,
    .vto-hero-internal .vto-video-preview {
        max-height: 380px;
        object-fit: cover;
        border-radius: 12px;
    }

    /* 5. Телефон в ряд с кнопкой (для десктопа) */
    @media (min-width: 768px) {
        .vto-hero-internal .vto-hero-btns {
            display: flex;
            align-items: center;
            gap: 30px;
        }
    }

    /* По умолчанию скрываем телефон (на главной его не будет) */
    .vto-hero-direct-phone {
        display: none;
    }

    /* --- СТИЛИ ТОЛЬКО ДЛЯ ВНУТРЕННИХ СТРАНИЦ --- */

    /* 1. Показываем телефон */
    .vto-hero-internal .vto-hero-direct-phone {
        display: block;
    }



    /* 3. Оформление телефона */
    .vto-hero-internal .vto-hero-btns {
        display: flex;
        align-items: center;
        gap: 30px;
        flex-wrap: wrap;
    }

    .vto-phone-label {
        display: block;
        font-size: 11px;
        color: #888;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 2px;
    }

    .vto-phone-number {
        font-size: 18px;
        font-weight: 800;
        color: #fff;
        text-decoration: none;
        transition: 0.3s;
    }

    .vto-phone-number:hover {
        color: #c5a059;
    }

    /* --- МОБИЛЬНАЯ ВЕРСИЯ --- */
    @media (max-width: 768px) {
        .vto-hero-internal .vto-hero-btns {
            flex-direction: column;
            align-items: flex-start;
            gap: 15px;
        }

        /* На мобилке можно сделать телефон на всю ширину для удобства клика */
        .vto-hero-internal .vto-hero-direct-phone {
            width: 100%;
            padding-top: 15px;
            border-top: 1px solid #222;
        }
    }


    /* 1. Секции даем большой отступ, чтобы всё содержимое (включая крошки) ушло вниз */
    .vto-hero-internal.vto-hero-new {
        padding-top: 140px !important;
        /* Увеличивай это значение, пока крошки не появятся */
        padding-bottom: 40px !important;
    }

    /* 2. У самих крошек обнуляем любые отрицательные отступы, если они были */
    .vto-hero-internal .vto-crumbs {
        margin-top: 0 !important;
        margin-bottom: 15px !important;
        position: relative;
        z-index: 1;
    }

    /* 3. Убираем лишний верхний отступ у ряда, чтобы заголовок не улетел слишком низко */
    .vto-hero-internal .vto-hero-main-row {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* На мобильных устройствах меню часто ниже, подстроим отступ */
    @media (max-width: 768px) {
        .vto-hero-internal.vto-hero-new {
            padding-top: 80px !important;
            /* Высота мобильного меню + запас */
        }
    }

    @media (max-width: 768px) {

        /* Поджимаем секцию */
        .vto-hero-internal.vto-hero-new {
            padding-top: 90px !important;
            /* Уменьшили, если меню позволяет */
            padding-bottom: 30px !important;
        }

        /* Уменьшаем отступ под текстом до кнопки */
        .vto-hero-btns {
            margin-top: 0px !important;
        }

        /* Группируем кнопки */
        .vto-hero-internal .vto-hero-btns {
            display: flex;
            flex-direction: column;
            gap: 12px;
            /* Плотный шаг между элементами */
        }

        /* Основная кнопка на всю ширину */
        .vto-hero-internal .vto-btn-gold-large {
            width: 100%;
            text-align: center;
            padding: 16px 20px !important;
        }

        /* Телефон и ссылка на портфолио в один ряд */
        .vto-hero-internal .vto-hero-direct-phone {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            margin-top: 5px;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
        }

        /* Делаем подпись телефона и ссылку на портфолио компактнее */
        .vto-phone-label {
            margin-bottom: 0;
            font-size: 10px;
        }

        .vto-phone-number {
            font-size: 16px !important;
        }

        .vto-hero-internal .vto-btn-link {
            font-size: 14px;
            margin: 0;
            padding: 0;
        }
    }

    @media (max-width: 768px) {

        /* Контейнер кнопок */
        .vto-hero-internal .vto-hero-btns {
            display: flex;
            flex-direction: column;
            /* Все элементы строго друг под другом */
            align-items: center;
            /* Центрируем, если нужно, или flex-start */
            gap: 15px;
            /* Расстояние между основной кнопкой и контактами */
        }

        /* Основная золотая кнопка */
        .vto-hero-internal .vto-btn-gold-large {
            width: 100%;
            text-align: center;
            margin: 0 !important;
        }

        /* Обертка для телефона и портфолио */
        .vto-hero-direct-phone {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            /* Центрируем контакты под кнопкой */
            gap: 8px;
            padding-top: 10px;
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            /* Легкая разделительная линия */
        }

        /* Надпись про прораба */
        .vto-phone-label {
            font-size: 11px;
            color: #888;
            margin: 0;
            text-transform: none;
            /* Убираем капс, если он мешает */
        }

        /* Номер телефона */
        .vto-phone-number {
            font-size: 18px !important;
            margin-bottom: 5px;
        }

        /* Ссылка на портфолио */
        .vto-hero-internal .vto-btn-link {
            font-size: 14px;
            opacity: 0.8;
            padding: 5px 0;
        }
    }
/* Применять только к ссылкам, которые НЕ являются кнопками */
.vto-article-main-text a:not(.vto-calc-btn) {
    color: #c5a47e;
    text-decoration: none;
    border-bottom: 1px solid rgba(197, 164, 126, 0.4);
    transition: all 0.3s ease;
    font-weight: 500;
}

.vto-article-main-text a:not(.vto-calc-btn):hover {
    color: #d4af37;
    border-bottom-color: rgba(212, 175, 55, 1);
    background-color: rgba(212, 175, 55, 0.05);
}
/* Глобальные настройки контейнера */
        .vto-price-container {
            --gold: #d4af37;
            --bg-panel: #1a1a1a;
            --bg-input: #0f0f0f;
            --border: #2e2e2e;
            --text-dim: #999;

            font-family: 'Inter', -apple-system, sans-serif;
            max-width: 1140px;
            margin: 0 auto;
            color: #fff;
        }

        /* Верхняя панель: Переключатель и Поиск */
        .vto-header-panel {
            background: var(--bg-panel);
            border: 1px solid var(--border);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 24px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        .vto-top-flex {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 20px;
            
        }

        /* Свитчер Квартиры/Офисы */
        .vto-mode-switcher {
            display: flex;
            background: var(--bg-input);
            padding: 4px;
            border-radius: 12px;
            border: 1px solid var(--border);
        }

        .vto-mode-btn {
            background: transparent;
            border: none;
            color: var(--text-dim);
            padding: 12px 28px;
            font-size: 15px;
            font-weight: 600;
            cursor: pointer;
            border-radius: 8px;
            transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .vto-mode-btn.active {
            background: var(--gold);
            color: #000;
            box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
        }

        /* Поле поиска */
        .vto-search-wrapper {
            position: relative;
            flex-grow: 1;
            max-width: 450px;
            display: flex;
            /* Помогает в выравнивании */
            align-items: center;
        }

        .vto-search-wrapper input {
            width: 100%;
            background: var(--bg-input);
            border: 1px solid var(--border);
            border-radius: 12px;
            /* Увеличиваем высоту для солидности и центрирования */
            padding: 16px 20px 16px 48px;
            color: #fff;
            font-size: 16px;
            transition: 0.3s;
            line-height: 1.2;
            /* Фиксируем высоту строки текста */
        }

        .vto-search-wrapper input:focus {
            outline: none;
            border-color: var(--gold);
            background: #000;
        }

        /* Стили для SVG иконки */
        .vto-search-svg {
            position: absolute;
            left: 16px;
            /* Чуть ближе к краю, чем текст, для баланса */
            top: 50%;
            /* Используем margin-top вместо translateY, если иконка все еще "скачет" на 1px */
            transform: translateY(-50%);
            width: 20px;
            height: 20px;
            opacity: 0.6;
            /* Сделал чуть ярче, 0.4 было слишком тускло */
            pointer-events: none;
            z-index: 2;
        }

        /* Если используете старый span с символом */
        .vto-search-icon {
            position: absolute;
            left: 18px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 18px;
            opacity: 0.4;
            line-height: 1;
            /* Важно: убирает лишнюю высоту строки у символа */
        }

        /* Якоря (Теги) */
        .vto-nav-row {
            display: flex;
            align-items: center;
            gap: 16px;
            border-top: 1px solid var(--border);
            padding-top: 20px;
        }

        .vto-nav-label {
            font-size: 13px;
            color: var(--text-dim);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            white-space: nowrap;
        }

        .vto-chips-list {
            display: flex;
            gap: 10px;
            overflow-x: auto;
            padding-bottom: 4px;
            /* Плавная прокрутка при клике на якоря */
            scroll-behavior: smooth;

            /* Скрываем скроллбар для Chrome, Safari и Edge */
            -ms-overflow-style: none;
            /* IE и Edge */
            scrollbar-width: none;
            /* Firefox */
        }

        .vto-chip {
            background: #252525;
            border: 1px solid var(--border);
            color: #ccc;
            padding: 8px 18px;
            border-radius: 20px;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            white-space: nowrap;
            transition: 0.2s;
        }

        .vto-chip:hover {
            border-color: var(--gold);
            color: var(--gold);
        }

        .vto-chips-list::-webkit-scrollbar {
            display: none;
            /* Chrome, Safari, Opera */
        }

        /* Контент прайса */
        .vto-macro-section {
            margin-top: 50px;
        }

        .vto-macro-title {
            font-size: 24px;
            /* Главный заголовок (был 18, стал 24) */
            font-weight: 700;
            color: var(--gold);
            margin-bottom: 24px;
            padding-bottom: 12px;
            border-bottom: 2px solid var(--border);
        }

        /* Аккордеоны */
        .vto-acc-item {
            background: #151515;
            border: 1px solid var(--border);
            border-radius: 12px;
            margin-bottom: 12px;
            overflow: hidden;
        }

        .vto-acc-trigger-price {
            width: 100%;
            background: none;
            border: none;
            padding: 20px 24px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            color: #fff;
            font-size: 18px;
            /* Заголовок подкатегории */
            font-weight: 600;
        }

        .vto-acc-trigger-price:hover {
            background: #1c1c1c;
        }

        .vto-acc-content-price {
            display: none;
            padding: 0 24px 20px;
            background: #0d0d0d;
        }

        /* Таблица услуг */
        .vto-table {
            width: 100%;
            border-collapse: collapse;
        }

        .vto-row td {
            padding: 16px 0;
            border-bottom: 1px solid #1a1a1a;
            vertical-align: top;
        }

        .vto-service-name {
            font-size: 15px;
            font-weight: 500;
            line-height: 1.5;
        }

        .vto-service-hint {
            font-size: 13px;
            color: var(--text-dim);
            margin-top: 6px;
            font-weight: 400;
        }

        .vto-price-cell {
            text-align: right;
            white-space: nowrap;
            width: 150px;
            padding-left: 20px !important;
        }

        .vto-unit-tag {
            font-size: 12px;
            color: var(--text-dim);
            margin-right: 8px;
        }

        .vto-price-num {
            font-size: 16px;
            font-weight: 700;
            color: var(--gold);
        }

        /* Мобильная адаптация */
        @media (max-width: 768px) {
            .vto-top-flex {
                flex-direction: column;
                align-items: stretch;
            }

            .vto-search-wrapper {
                max-width: 100%;
            }

            .vto-acc-trigger-price {
                font-size: 16px;
                padding: 16px;
            }

            .vto-macro-title {
                font-size: 20px;
            }
        }

        .vto-search-wrapper {
            position: relative;
        }

        .vto-search-svg {
            position: absolute;
            left: 16px;
            /* Фиксированный отступ слева */
            top: 50%;
            transform: translateY(-50%);
            /* Идеальный центр по вертикали */
            width: 20px;
            /* Чуть увеличим для лучшей видимости */
            height: 20px;
            pointer-events: none;
            display: block;
            line-height: 1;
        }

        .vto-search-wrapper input {
            padding-left: 44px !important;
            /* Освобождаем место под иконку */
        }

        /* Обнуляем отступы для секций внутри прайс-листа */
        .vto-price-container section.vto-macro-section {
            padding: 0 !important;
            margin: 0 0 40px 0 !important;
            /* Оставляем только небольшой отступ снизу между макро-группами */
            border-bottom: none !important;
            /* Убираем лишние линии, если они лезут */
        }

        /* Убираем возможный overflow, который может мешать */
        .vto-price-container section {
            min-height: auto !important;
        }

        /* Все правила ниже сработают ТОЛЬКО внутри прайс-листа */

        /* Убираем min-width только для таблицы в прайсе */
        .vto-acc-content-price .vto-table {
            min-width: 100% !important;
            width: 100% !important;
            table-layout: fixed;
        }

        /* Обнуляем гигантские отступы section, которые лезут из темы */
        .vto-price-wrapper section,
        .vto-price-wrapper .vto-macro-section {
            padding: 0 !important;
            margin: 0 0 30px 0 !important;
            min-height: auto !important;
        }

        /* Адаптив строго внутри контейнера прайса */
        @media screen and (max-width: 767px) {
            .vto-acc-content-price .vto-table {
                min-width: 100% !important;
            }

            .vto-acc-content-price .vto-row td {
                padding: 10px 5px !important;
                font-size: 14px;
                /* Чтобы текст не раздувал строку */
            }

            .vto-price-wrapper .vto-price-main-row {
                width: 85px !important;
                /* Компактная колонка цены */
                white-space: nowrap;
            }
        }

        /* Выравнивание текста по левому краю для названий услуг */
        .vto-acc-trigger-price .vto-cat-name {
            text-align: left !important;
        }

        .vto-search-status {
            position: absolute;
            /* Уводим из общего ряда с инпутом */
            top: 100%;
            /* Прижимаем к нижней границе родителя */
            right: 0;
            /* Выравниваем по правому краю инпута */
            font-size: 14px;
            font-weight: 500;
            margin-top: 4px;
            /* Небольшой отступ от границы инпута */
            height: 20px;
            color: var(--gold);
            opacity: 0;
            transition: opacity 0.2s ease;
            padding-right: 4px;
            /* Отступ справа для красоты */
            white-space: nowrap;
            /* Чтобы текст не переносился */
            pointer-events: none;
            /* Чтобы не мешал кликам */
        }

        .vto-search-status.visible {
            opacity: 1;
        }

        .vto-search-status.no-results {
            color: #ff4d4d;
            /* Красный, если ничего не найдено */
        }

        /* На мобильных чуть увеличим отступ для удобства */
        @media (max-width: 768px) {
            .vto-search-status {
                margin-bottom: 10px;
            }
        }

        /* Обнуляем сетку, которая мешает на скриншотах */
        .vto-hero-main-row.vto-price-hero-centered {
            display: block !important;
            /* Отключаем grid */
            max-width: 100% !important;
            padding-top: 20px !important;

            text-align: left;
            /* Можно поменять на center, если хотите полную центровку */
        }

        /* Ограничиваем ширину текста, чтобы он не растягивался на весь экран */
        .vto-price-hero-centered .vto-hero-col-full {
            max-width: 900px !important;
            width: 100%;
            margin: 0 auto;
            /* Центрируем сам блок с контентом */
        }


        /* Кнопки и телефон в одну линию */
        .vto-price-hero-centered .vto-hero-btns {
            display: flex;
            align-items: center;
            gap: 40px;
            margin-top: 30px;
            flex-wrap: wrap;
        }

        @media (max-width: 768px) {
            .vto-price-hero-centered .vto-hero-btns {
                flex-direction: column;
                align-items: flex-start;
                gap: 20px;
            }

            .vto-panel-cta-btn {
                display: none !important;
            }
        }



        /* Расположение элементов в ряд */
        .vto-top-flex {
            display: flex;
            align-items: center;
            gap: 15px;
            justify-content: space-between;
        }

        /* Стили кнопки */
        .vto-panel-cta-btn {
            display: flex;
            align-items: center;
            gap: 10px;
            background: var(--gold);
            /* Ваше золото */
            color: #000;
            padding: 0 20px;
            height: 48px;
            /* В высоту инпута и переключателя */
            border-radius: 8px;
            text-decoration: none;
            font-weight: 600;
            font-size: 14px;
            white-space: nowrap;
            transition: all 0.3s ease;
            flex-shrink: 0;
        }

        .vto-panel-cta-btn:hover {
            background: #fff;
            transform: translateY(-2px);
        }

        /* Адаптив для мобильных */
        @media (max-width: 768px) {
            .vto-top-flex {
                flex-wrap: wrap;
                /* Позволяем перенос */
            }

            .vto-search-wrapper {
                order: 3;
                /* Поиск на всю ширину снизу */
                width: 100%;
            }

            .vto-mode-switcher {
                order: 1;
                flex: 1;
            }

            .vto-panel-cta-btn {
                order: 2;
                padding: 0 12px;
            }

            .vto-panel-cta-btn span {
                display: none;
                /* Прячем текст на мобильных, оставляем иконку для экономии места */
            }
        }

        .vto-macro-trigger {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            background: none;
            border: none;
            padding: 0;
            margin: 0;
            cursor: pointer;
            text-align: left;
            color: inherit;
        }

        .vto-macro-title {
            margin: 0;
            /* Убираем margin, чтобы отступы контролировались оберткой */
            flex-grow: 1;
        }

        .vto-macro-arrow {
            color: var(--gold);
            /* Задайте ваш золотой цвет, если нужно */
            font-size: 18px;
            margin-left: 15px;
        }

        .vto-macro-content {
            margin-top: 20px;
            /* Отступ от заголовка до подкатегорий */
        }

        /* 1. Глобальные переменные (убедитесь, что они находятся в :root основного файла) */
:root {
    --vto-gold: #c5a059;
    --vto-bg-dark: #0f0f0f;
    --vto-bg-card: #1a1a1a;
    --vto-border: rgba(255, 255, 255, 0.1);
    --vto-text-main: #ffffff;
    --vto-text-muted: #888888;
    --vto-anim: 0.3s ease;
}

/* 2. Секция Hero и Метрики */
.vto-portfolio-hero { padding: 40px 0; }
.vto-hero-title { font-size: 42px; font-weight: 700; line-height: 1.2; margin-bottom: 20px; }
.vto-gold-text { color: var(--vto-gold); }

/* Основная сетка для Текста и Слайдера */
.vto-hero-main-content { display: flex; gap: 40px; align-items: center; margin-top: 30px; }
.vto-hero-text { flex: 1; font-size: 16px; line-height: 1.6; color: var(--vto-text-muted); }
.vto-hero-slider-wrap { flex: 1.2; min-width: 0; } /* min-width: 0 важен для работы cocoen внутри flex */

/* Характеристики (Desktop & Grid) */
.vto-project-metrics-desktop {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    padding: 30px 0;
    border-top: 1px solid var(--vto-border);
    margin-top: 25px;
}
.vto-project-metrics-grid {
    display: flex;
    gap: 30px;
    margin: 25px 0;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--vto-border);
}
.vto-metric-item { display: flex; align-items: center; gap: 15px; }
.vto-metric-icon { width: 42px; height: 42px; color: var(--vto-gold); flex-shrink: 0; opacity: 0.9; }
.vto-metric-data { display: flex; flex-direction: column; }
.vto-metric-label { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--vto-text-muted); margin-bottom: 2px; }
.vto-metric-value { font-size: 18px; font-weight: 600; color: var(--vto-text-main); white-space: nowrap; }

/* 3. Галерея (Grid) */
.vto-portfolio-gallery { padding: 40px 0 80px; }
.vto-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 15px; }
.vto-gallery-item { position: relative; overflow: hidden; border-radius: 6px; border: 1px solid var(--vto-border); background: var(--vto-bg-card); }
.vto-gallery-main { grid-column: span 2; grid-row: span 2; }
.vto-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--vto-anim); }
.vto-gallery-item:hover img { transform: scale(1.05); }
.vto-gallery-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity var(--vto-anim); }
.vto-gallery-item:hover .vto-gallery-overlay { opacity: 1; }
.vto-gallery-grid:not(.is-expanded) .vto-gallery-extra { display: none; }
.vto-gallery-action { text-align: center; margin-top: 40px; }

/* 4. Инженерия (Коллаж) */
.vto-portfolio-engineering { padding: 80px 0; border-top: 1px solid var(--vto-border); }
.vto-eng-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.vto-eng-list { list-style: none; padding: 0; margin: 0; }
.vto-eng-list li { position: relative; padding-left: 30px; margin-bottom: 25px; color: var(--vto-text-muted); font-size: 15px; }
.vto-eng-list li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; background: var(--vto-gold); }
.vto-eng-list strong { color: var(--vto-text-main); display: block; margin-bottom: 5px; font-size: 18px; }
.vto-eng-photo-collage { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 160px); gap: 12px; }
.vto-eng-tile { overflow: hidden; border-radius: 4px; border: 1px solid var(--vto-border); }
.vto-eng-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; filter: grayscale(30%); }
.vto-eng-tile:hover img { transform: scale(1.1); filter: grayscale(0); }

/* 5. Фото для Кейс-Стори (Одиночные и Сетки) */
.vto-case-img-single, .vto-case-img-grid { margin: 40px 0; }
.vto-case-img-single img { width: 100%; height: auto; border-radius: 4px; }
.vto-case-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
figcaption { margin-top: 12px; font-size: 13px; color: var(--vto-text-muted); font-style: italic; line-height: 1.4; border-left: 2px solid var(--vto-gold); padding-left: 15px; }

/* 6. Кнопки */
.vto-btn-outline { background: transparent; color: var(--vto-gold); border: 1px solid var(--vto-gold); padding: 14px 35px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; border-radius: 4px; cursor: pointer; transition: background var(--vto-anim), color var(--vto-anim); }
.vto-btn-outline:hover { background: var(--vto-gold); color: #000; }

/* 7. Адаптивность (Mobile) - Объединенные медиазапросы */
@media (max-width: 991px) {
    .vto-hero-title { font-size: 28px; }
    .vto-hero-main-content { flex-direction: column; gap: 25px; }
    .vto-project-metrics-desktop { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .vto-gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
    .vto-eng-grid { grid-template-columns: 1fr; gap: 40px; }
    .vto-eng-photo-collage { grid-template-rows: repeat(3, 200px); }
}

@media (max-width: 767px) {
    /* Переводим метрики в две колонки (Flexbox) */
    .vto-project-metrics-desktop,
    .vto-project-metrics-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 20px 0;
        padding: 15px 0;
    }
    .vto-metric-item { flex: 0 0 50%; gap: 12px; box-sizing: border-box; padding-right: 10px; }
    .vto-metric-icon { width: 32px !important; height: 32px !important; }
    .vto-metric-label { font-size: 9px !important; margin-bottom: 0 !important; }
    .vto-metric-value { font-size: 14px !important; line-height: 1.2; }
    
    .vto-case-img-grid { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
    .vto-gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 240px; }
    .vto-gallery-main { grid-column: span 1; grid-row: span 1; }
    .vto-eng-photo-collage { grid-template-columns: 1fr; grid-template-rows: auto; }
    .vto-eng-tile { height: 220px; }
}
 /* =========================================================
   ИЗОЛИРОВАННЫЕ СТИЛИ КАЛЬКУЛЯТОРА
   Все правила привязаны к .vto-calc-widget для защиты от конфликтов
========================================================= */

/* Базовый контейнер виджета */
.vto-calc-widget {
    background: #151515;
    border-radius: 12px;
    padding: 32px;
    font-family: inherit;
    color: #ffffff;
    box-sizing: border-box;
    border: 1px solid #222;
    margin: 40px 0;
}

.vto-calc-widget * {
    box-sizing: border-box;
}

/* ЗАГОЛОВОК И ПОДЗАГОЛОВОК */
.vto-calc-widget .vto-calc-header-block {
    margin-bottom: 32px;
    border-bottom: 1px solid #2c2c2e;
    padding-bottom: 16px;
}

/* Защита h3 от глобального !important (как на скриншоте) */
.vto-calc-widget h3.vto-calc-main-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #ffffff !important; 
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.02em !important;
    border: none !important;
    line-height: 1.2 !important;
}

.vto-calc-widget p.vto-calc-main-subtitle {
    font-size: 14px !important;
    color: #a1a1aa !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* СЕКЦИИ И ОТСТУПЫ */
.vto-calc-widget .vto-calc-section {
    margin-bottom: 32px;
}

/* СТРОКА С ПЛОЩАДЬЮ */
.vto-calc-widget .vto-calc-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.vto-calc-widget .vto-calc-label {
    font-size: 15px;
    color: #a1a1aa;
}

.vto-calc-widget .vto-calc-value {
    font-size: 20px;
    font-weight: 700;
    color: #c5a059;
}

/* ПОЛЗУНОК (RANGE SLIDER) */
.vto-calc-widget .vto-calc-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 4px;
    background: linear-gradient(to right, #c5a059 0%, #c5a059 18.75%, #2c2c2e 18.75%, #2c2c2e 100%);
    border-radius: 2px;
    outline: none;
    margin: 10px 0;
}

.vto-calc-widget .vto-calc-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e8d09f;
    cursor: pointer;
    border: 4px solid #151515;
    box-shadow: 0 0 0 2px #c5a059;
    transition: transform 0.1s;
}

.vto-calc-widget .vto-calc-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e8d09f;
    cursor: pointer;
    border: 4px solid #151515;
    box-shadow: 0 0 0 2px #c5a059;
}

/* ВКЛАДКИ КЛАССА ИСПОЛНЕНИЯ */
.vto-calc-widget .vto-calc-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 12px;
}

.vto-calc-widget .vto-calc-tab {
    background: #1e1e20;
    border: 1px solid #2c2c2e;
    color: #ffffff;
    padding: 14px 10px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: all 0.2s ease;
    text-align: center;
}

.vto-calc-widget .vto-calc-tab:hover {
    background: #252528;
    border-color: #3d3d40;
}

.vto-calc-widget .vto-calc-tab-active {
    background: #1e1e20;
    border-color: #c5a059;
    color: #e8d09f;
    box-shadow: inset 0 0 0 1px #c5a059;
}

/* БЛОК РЕЗУЛЬТАТОВ */
.vto-calc-widget .vto-calc-result-box {
    background: #1a1a1c;
    border: 1px solid #2c2c2e;
    border-radius: 8px;
    padding: 24px;
    margin-top: 24px;
}

.vto-calc-widget .vto-calc-result-title {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #a1a1aa;
    margin-bottom: 8px;
}

.vto-calc-widget .vto-calc-total {
    font-size: 28px;
    font-weight: 700;
    color: #c5a059;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #2c2c2e;
}

.vto-calc-widget .vto-calc-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vto-calc-widget .vto-calc-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.vto-calc-widget .vto-calc-detail-label {
    font-size: 14px;
    color: #a1a1aa;
}

.vto-calc-widget .vto-calc-detail-val {
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
}

/* КНОПКА ЗАКАЗА СМЕТЫ (Защита от глобальных стилей ссылок) */
.vto-calc-widget a.vto-calc-cta-btn {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background: #c5a059 !important;
    color: #151515 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    padding: 16px 24px !important;
    border-radius: 8px !important;
    margin-top: 24px !important;
    border: none !important; /* Убиваем нижнее подчеркивание из глобальных стилей */
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(197, 160, 89, 0.2) !important;
}

.vto-calc-widget a.vto-calc-cta-btn:hover {
    background: #dbb56f !important;
    box-shadow: 0 6px 20px rgba(197, 160, 89, 0.35) !important;
    transform: translateY(-1px) !important;
    color: #151515 !important;
    border: none !important;
}

.vto-calc-widget a.vto-calc-cta-btn:active {
    transform: translateY(1px) !important;
    box-shadow: 0 2px 8px rgba(197, 160, 89, 0.2) !important;
}

/* АДАПТИВНОСТЬ (Мобилки) */
@media (max-width: 550px) {
    .vto-calc-widget {
        padding: 20px;
    }
    .vto-calc-widget .vto-calc-tabs {
        grid-template-columns: 1fr;
    }
    .vto-calc-widget h3.vto-calc-main-title {
        font-size: 20px !important;
    }
    .vto-calc-widget .vto-calc-total {
        font-size: 24px;
    }
    .vto-calc-widget .vto-calc-detail-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .vto-calc-widget a.vto-calc-cta-btn {
        padding: 14px 20px !important;
        font-size: 15px !important;
    }
}

/* ==========================================================================
   ИЗОЛИРОВАННЫЕ СТИЛИ ДЛЯ КАРУСЕЛИ (Блокируют влияние на другие галереи)
   ========================================================================== */

    /* 1. Основной контейнер карусели */
    .vto-case-carousel-wrap {
        display: flex;
        gap: 20px;
        margin: 30px 0;
        width: 100%;
        align-items: stretch;
        /* Выравнивает карточки по высоте */
    }

    /* 2. Элемент карусели */
    .vto-case-carousel-wrap .vto-case-carousel-item {
        flex: 1;
        margin: 0;
        display: flex;
        flex-direction: column;
    }

    /* 3. Ограничиваем высоту ссылки-контейнера ТОЛЬКО внутри карусели */
    .vto-case-carousel-wrap .vto-gallery-item {
        position: relative;
        display: block;
        overflow: hidden;
        height: 200px;
        /* Фиксированная высота для десктопа */
    }

    /* 4. Заставляем картинку заполнять этот контейнер без искажения пропорций */
    .vto-case-carousel-wrap .vto-gallery-item img {
        width: 100%;
        height: 100% !important;
        /* !important нужен, если в глобальных стилях прописано height: auto */
        object-fit: cover;
        object-position: center;
        display: block;
    }

    /* 5. Выравнивание текста по высоте */
    .vto-case-carousel-wrap .vto-case-carousel-item figcaption {
        margin-top: 15px;
        padding-left: 10px;
        border-left: 2px solid #c5a265;
        /* Золотая линия */
        font-size: 14px;
        line-height: 1.4;
        color: #666;
        flex-grow: 1;
        /* Растягивает текст до низа */
    }

    /* ==========================================================================
   АДАПТИВНОСТЬ ПОД МОБИЛЬНЫЕ (Карусель со свайпом)
   ========================================================================== */
    @media (max-width: 768px) {
        .vto-case-carousel-wrap {
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
            gap: 15px;
        }

        .vto-case-carousel-wrap .vto-case-carousel-item {
            flex: 0 0 85%;
            scroll-snap-align: center;
        }

        /* На мобилках возвращаем картинкам их естественную высоту, чтобы не мельчить */
        .vto-case-carousel-wrap .vto-gallery-item {
            height: auto;
        }

        .vto-case-carousel-wrap .vto-gallery-item img {
            height: auto !important;
        }

        /* Скрываем полосу прокрутки */
        .vto-case-carousel-wrap::-webkit-scrollbar {
            display: none;
        }
    }

    /* ==========================================================================
   ИЗОЛИРОВАННЫЙ СТИЛЕВОЙ БЛОК ПОРТФОЛИО КЕЙСОВ
   ========================================================================== */

/* Базовые отступы секции */
.vto-portfolio-section {
    padding: 100px 0;
    background-color: var(--vto-bg-dark, #0f0f0f);
    position: relative;
}

/* --- ШАПКА БЛОКА (ФЛЕКС-КОНТЕЙНЕР) --- */
.vto-portfolio-header-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; /* Жестко прижимает ссылку к нижней оси золотой линии */
    margin-bottom: 20px;
    gap: 40px;
    width: 100%;
}

/* Сброс глобального margin-bottom, который ломал выравнивание флексов */
.vto-portfolio-header-flex .vto-title-block {
    margin-bottom: 0 !important;
    flex-grow: 1;
}

.vto-portfolio-header-flex .vto-title-block h2 {
    margin-bottom: 25px !important; /* Отступ до линии-разделителя */
}

.vto-portfolio-header-flex .vto-divider {
    margin-bottom: 0 !important; /* Убираем отступ снизу у линии */
}

/* Контекстная ссылка "Все проекты" из скриншота */
.vto-link-more {
    color: var(--vto-gold, #c5a47e);
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    white-space: nowrap;
    padding-bottom: 6px;
    border-bottom: 1px dashed rgba(197, 164, 126, 0.4);
    transition: var(--vto-anim, all 0.4s ease);
    margin-bottom: 0; /* Находится на одной базовой линии с разделителем */
}

.vto-link-more:hover {
    color: var(--vto-gold-hover, #e2c299);
    border-bottom-color: var(--vto-gold-hover, #e2c299);
}

/* Текст-подзаголовок под шапкой */
.vto-portfolio-lead-text {
    max-width: 800px;
    color: var(--vto-text-muted, #999999);
    font-size: 16px;
    line-height: 1.6;
    margin: 25px 0 50px 0;
  
}

/* --- АДАПТИВНАЯ СЕТКА КАРТОЧЕК --- */
.portfolio-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    margin-top: 50px;
}

@media (min-width: 768px) {
    .portfolio-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .portfolio-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 40px;
    }
}

/* --- СТИЛИЗАЦИЯ КАРТОЧКИ --- */
.vto-port-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--vto-bg-card, #161616);
    border: 1px solid var(--vto-border, #222222);
    border-radius: 6px;
    overflow: hidden;
    transition: var(--vto-anim, all 0.4s ease);
    height: 100%;
}

.vto-port-card:hover {
    border-color: var(--vto-gold, #c5a47e);
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.vto-port-img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--vto-bg-darker, #0b0b0b);
    border-bottom: 1px solid var(--vto-border, #222222);
}

.vto-port-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.vto-port-card:hover .vto-port-img {
    transform: scale(1.05);
}

.vto-port-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: rgba(11, 11, 11, 0.8);
    backdrop-filter: blur(4px);
    color: var(--vto-gold, #c5a47e);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 6px 12px;
    border: 1px solid rgba(197, 164, 126, 0.3);
    border-radius: 2px;
}

.vto-port-content {
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.vto-port-meta {
    margin-bottom: 10px;
}

.vto-port-category {
    font-size: 11px;
    color: var(--vto-gold, #c5a47e);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
}

.vto-port-title {
    font-size: 20px;
    color: var(--vto-text-main, #ffffff);
    margin: 0 0 20px 0;
    line-height: 1.3;
    font-weight: 500;
}

/* Ссылка внутри заголовка */
.vto-port-link {
    color: var(--vto-text-main, #ffffff); /* Явно делаем ссылку белой */
    text-decoration: none !important;     /* Убираем синее подчеркивание */
    outline: none;
    transition: var(--vto-anim, all 0.4s ease);
}
.vto-port-link::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 10;
}

/* Характеристики объекта (инженерный блок) */
.vto-port-specs {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    flex-grow: 1;
}

.vto-port-specs li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 14px;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
}

.vto-port-specs li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.vto-port-specs .spec-label {
    color: var(--vto-text-muted, #999999);
}

.vto-port-specs .spec-val {
    color: var(--vto-text-main, #ffffff);
    font-weight: 500;
}

/* Интерактивный CTA-элемент */
.vto-port-cta {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--vto-text-muted, #999999);
    display: inline-flex;
    align-items: center;
    transition: var(--vto-anim, all 0.4s ease);
}

.vto-port-cta svg {
    width: 16px;
    height: 16px;
    margin-left: 8px;
    transition: transform 0.4s ease;
}

.vto-port-card:hover .vto-port-cta {
    color: var(--vto-gold, #c5a47e);
}

.vto-port-card:hover .vto-port-cta svg {
    transform: translateX(5px);
}
/* Эффект при наведении на саму ссылку или на всю карточку */
.vto-port-card:hover .vto-port-link,
.vto-port-link:hover {
    color: var(--vto-gold, #c5a47e); /* При наведении заголовок станет золотым */
}

/* Финальная кнопка снизу */
.vto-portfolio-bottom-cta {
    text-align: center;
    margin-top: 50px;
}

/* --- МОБИЛЬНЫЙ АДАПТИВ ШАПКИ --- */
@media (max-width: 768px) {
    .vto-portfolio-header-flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding-bottom: 10px;
    }
    
    .vto-portfolio-header-flex .vto-title-block h2 {
        font-size: 28px;
    }

    .vto-link-more {
        margin-bottom: 10px;
    }

    .vto-portfolio-lead-text {
        margin: 15px 0 35px 0;
    }
}

 /* ==========================================================================
   ГОРИЗОНТАЛЬНЫЙ СКРОЛЛ ДЛЯ ПОРТФОЛИО ВНУТРИ СТАТЬИ
   ========================================================================== */

    /* 1. Превращаем сетку в горизонтальную ленту */
    .vto-article-main-text .portfolio-grid {
        display: flex;
        overflow-x: auto;
        /* Включаем жесткую привязку при скролле */
        scroll-snap-type: x mandatory;
        /* Плавный скролл */
        scroll-behavior: smooth;
        /* Убираем стандартное застревание на iOS */
        -webkit-overflow-scrolling: touch;

        gap: 20px;
        margin: 35px 0;
        width: 100%;
        padding-bottom: 15px;
        /* Место для кастомного скроллбара */
    }

    /* 2. Жестко фиксируем ширину карточек, чтобы они не сжимались */
    .vto-article-main-text .vto-port-card {
        display: flex;
        flex-direction: column;
        /* Оптимальная ширина для десктопа внутри статьи. 
       2-3 карточки поместятся, следующая красиво зайдет за край */
        flex: 0 0 290px;
        scroll-snap-align: start;

        background: #1c1c1c;
        border-radius: 6px;
        overflow: hidden;
        margin: 0;
    }

    /* 3. Оптимизируем картинку под новый формат */
    .vto-article-main-text .vto-port-img-wrap {
        width: 100%;
        height: 180px;
        /* Чуть уменьшаем высоту превью для компактности */
        position: relative;
        overflow: hidden;
    }

    .vto-article-main-text .vto-port-img {
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }

    /* 4. Внутренние отступы контента */
    .vto-article-main-text .vto-port-content {
        padding: 20px;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

    /* Заголовок кейса */
    .vto-article-main-text .vto-port-title {
        font-size: 16px;
        line-height: 1.4;
        margin: 10px 0 15px 0;
        min-height: 44px;
        /* Чтобы характеристики всегда были на одной линии */
    }

    /* Прижимаем кнопку к низу */
    .vto-article-main-text .vto-port-specs {
        margin: 0 0 20px 0;
        padding: 0;
        list-style: none;
        flex-grow: 1;
    }

    .vto-article-main-text .vto-port-cta {
        margin-top: auto;
    }

    /* 5. Делаем тонкий стильный скроллбар для десктопов, чтобы лента не выглядела "дикой" */
    .vto-article-main-text .portfolio-grid::-webkit-scrollbar {
        height: 4px;
        /* Очень тонкая линия */
    }

    .vto-article-main-text .portfolio-grid::-webkit-scrollbar-track {
        background: #2a2a2a;
        /* Цвет дорожки */
        border-radius: 2px;
    }

    .vto-article-main-text .portfolio-grid::-webkit-scrollbar-thumb {
        background: #c5a265;
        /* Наш золотой бренд-цвет для ползунка */
        border-radius: 2px;
    }

    /* Для Firefox */
    .vto-article-main-text .portfolio-grid {
        scrollbar-color: #c5a265 #2a2a2a;
        scrollbar-width: thin;
    }

    /* ==========================================================================
   АДАТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ
   ========================================================================== */
    @media (max-width: 576px) {
        .vto-article-main-text .vto-port-card {
            /* На смартфонах делаем карточку шире (на 85% экрана), 
           чтобы она выглядела крупно и солидно */
            flex: 0 0 85%;
        }

        /* На мобилках нативный скроллбар лучше скрыть, управление пальцем */
        .vto-article-main-text .portfolio-grid::-webkit-scrollbar {
            display: none;
        }

        .vto-article-main-text .portfolio-grid {
            scrollbar-width: none;
        }
    }

    /* ==========================================================================
   ОПТИМИЗАЦИЯ ГОРИЗОНТАЛЬНОЙ ЛЕНТЫ ПОД БЕЛЫЙ ФОН
   ========================================================================== */

    .vto-article-main-text .portfolio-grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        /* Нативный плавный свайп на iOS */

        gap: 20px;
        margin: 35px 0;
        width: 100%;
        padding-bottom: 20px;
        /* Отступ, чтобы ползунок не прилипал к карточкам */
    }

    /* Карточки портфолио */
    .vto-article-main-text .vto-port-card {
        display: flex;
        flex-direction: column;
        flex: 0 0 290px;
        /* Фиксированная ширина на десктопе */
        scroll-snap-align: start;
        background: #1c1c1c;
        border-radius: 6px;
        overflow: hidden;
        margin: 0;
    }

    /* ==========================================================================
   ИЗЯЩНЫЙ СКРОЛЛБАР ДЛЯ ДЕСКТОПА (WINDOWS/LINUX)
   ========================================================================== */

    /* 1. Задаем общую толщину линии */
    .vto-article-main-text .portfolio-grid::-webkit-scrollbar {
        height: 6px;
        /* Делаем его тонким и незаметным */
    }

    /* 2. Делаем дорожку полностью прозрачной, чтобы она сливалась с белым фоном */
    .vto-article-main-text .portfolio-grid::-webkit-scrollbar-track {
        background: transparent;
    }

    /* 3. Делаем сам бегунок нейтрального светло-серого цвета */
    .vto-article-main-text .portfolio-grid::-webkit-scrollbar-thumb {
        background: #e0e0e0;
        border-radius: 10px;
        transition: background 0.2s ease;
    }

    /* 4. При наведении мыши бегунок мягко окрашивается в фирменный золотой цвет */
    .vto-article-main-text .portfolio-grid::-webkit-scrollbar-thumb:hover {
        background: #c5a265;
    }

    /* Настройки адаптивности для Firefox на десктопе */
    .vto-article-main-text .portfolio-grid {
        scrollbar-color: #e0e0e0 transparent;
        /* Серая линия, прозрачный фон */
        scrollbar-width: thin;
    }

    /* ==========================================================================
   НАСТРОЙКИ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ И ПЛАНШЕТОВ
   ========================================================================== */
    @media (max-width: 768px) {
        .vto-article-main-text .portfolio-grid {
            /* На смартфонах полностью скрываем полосу, управление идет чистым свайпом */
            scrollbar-width: none;
            padding-bottom: 0;
            margin: 25px 0;
        }

        .vto-article-main-text .portfolio-grid::-webkit-scrollbar {
            display: none;
            /* Скрываем скроллбар в Chrome/Safari на iOS и Android */
        }

        .vto-article-main-text .vto-port-card {
            /* Карточка занимает 85% ширины экрана. 
           Оставшиеся 15% показывают край следующей плашки — это лучший визуальный триггер для свайпа */
            flex: 0 0 85%;
        }
    }





    /* ==========================================================================
   АДАПТАЦИЯ FAQ (АККОРДЕОНА) ПОД СВЕТЛЫЙ ФОН ЛОНГРИДА
   ========================================================================== */

/* Общий контейнер FAQ */
.vto-article-main-text .vto-faq-wrapper {
    margin: 40px 0;
    display: flex;
    flex-direction: column;
    gap: 14px; /* Немного увеличиваем расстояние между плашками */
}

/* Элемент гармошки (плашка) */
.vto-article-main-text .vto-acc-item {
    background: #f9f9f9 !important; /* Меняем чёрный фон на мягкий светло-серый */
    border: 1px solid #e5e5e5 !important; /* Тонкая аккуратная рамка */
    border-radius: 8px !important;
    box-shadow: none !important;
    transition: border-color 0.25s ease, background-color 0.25s ease;
}

/* Поведение плашки при наведении мыши */
.vto-article-main-text .vto-acc-item:hover {
    border-color: #c5a265 !important; /* Подсвечиваем рамку фирменным золотом */
    background: #ffffff !important; /* Делаем фон чисто белым для контраста */
}

/* Кнопка-триггер (шапка вопроса) */
.vto-article-main-text .vto-acc-trigger {
    background: transparent !important;
    padding: 22px 24px !important; /* Комфортные внутренние отступы */
}

/* Текст самого вопроса */
.vto-article-main-text .vto-acc-trigger span {
    color: #1c1c1c !important; /* Перекрашиваем текст из белого в контрастный тёмный */
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    transition: color 0.25s ease;
}

/* Подсветка вопроса при наведении */
.vto-article-main-text .vto-acc-item:hover .vto-acc-trigger span {
    color: #c5a265 !important; /* Текст вопроса мягко становится золотым */
}

/* Окна с контентом (ответом) */
.vto-article-main-text .vto-acc-content {
    padding: 0 24px 22px 24px !important; /* Отступы внутри открытого ответа */
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* Текст ответа */
.vto-article-main-text .vto-acc-content p {
    color: #444444 !important; /* Спокойный графитовый цвет для чтения длинных текстов */
    margin: 0 !important;
}

/* Выделения внутри ответа (цены, важные моменты) */
.vto-article-main-text .vto-acc-content strong {
    color: #1c1c1c !important;
    font-weight: 700 !important;
}

/* Иконка плюсика (если линии были сделаны на CSS через pseudo-elements) */
.vto-article-main-text .vto-plus::before,
.vto-article-main-text .vto-plus::after {
    background-color: #c5a265 !important; /* Гарантируем, что плюсик останется золотым, а не белым */
}

/* ==========================================================================
   СОСТОЯНИЕ ОТКРЫТОЙ ПЛАШКИ (модификатор активного класса)
   ========================================================================== */
/* Если твой JS при клике добавляет класс активности (например, .active или .is-open) 
   на элемент .vto-acc-item, раскомментируй и адаптируй имя класса ниже: */


.vto-article-main-text .vto-acc-item.active {
    background: #ffffff !important;
    border-color: #c5a265 !important;
}
.vto-article-main-text .vto-acc-item.active .vto-acc-trigger span {
    color: #c5a265 !important;
}
/* Контейнер списка */
.vto-timeline-steps {
    list-style: none;
    padding: 0;
    margin: 40px 0 0 0;
    counter-reset: vto-step-counter;
    position: relative;
}

/* Элемент списка */
.vto-timeline-steps li {
    position: relative;
    padding-left: 70px; /* Увеличили отступ для более крупных кружков */
    margin-bottom: 35px; /* Больше воздуха между шагами */
   
}



/* Тонкая линия */
.vto-timeline-steps li:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 22px; /* Под центровку новых кружков */
    top: 45px;
    bottom: -30px;
    width: 2px; /* Чуть толще линия для заметности */
    background: #e0e0e0;
}

/* Цифры */
.vto-timeline-steps li::before {
    counter-increment: vto-step-counter;
    content: counter(vto-step-counter);
    position: absolute;
    left: 0;
    top: 0;
    width: 44px; /* Увеличили кружки */
    height: 44px;
    background: #fcfcfc;
    border: 2px solid #b89355;
    color: #b89355;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.1rem;
}
/* ==========================================================================
   ПРОМЕЖУТОЧНЫЙ БЛОК ЗАХВАТА (Интеграция в CORE vto)
   ========================================================================== */

/* Контейнер блока повышенной специфичности */
.vto-article-main-text .interim-capture-block {
    background-color: var(--vto-bg-card) !important;
    border: 1px solid var(--vto-border) !important;
    border-left: 4px solid var(--vto-gold) !important;
    padding: 45px !important;
    margin: 50px auto !important;
    max-width: 100% !important;
    border-radius: 0 6px 6px 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* Заголовок h2 внутри блока */
.vto-article-main-text .interim-capture-block h2.ic-title {
    font-size: 28px !important;
    color: var(--vto-text-main) !important;
    margin: 0 0 14px 0 !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: normal !important;
}

/* Текст / Абзацы p */
.vto-article-main-text .interim-capture-block p.ic-text {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: var(--vto-text-muted) !important;
    margin: 0 0 28px 0 !important;
    max-width: 850px !important;
}

/* Маленькая верхняя плашка-надпись */
.vto-article-main-text .interim-capture-block .ic-badge {
    display: inline-block !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: var(--vto-gold) !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
}

/* Общие стили кнопок */
.interim-capture-block .ic-buttons {
    display: flex !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.interim-capture-block .ic-btn {
    display: inline-block !important;
    padding: 15px 28px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-radius: 4px !important;
    transition: var(--vto-anim) !important;
    text-align: center !important;
}

.interim-capture-block .ic-btn:hover {
    transform: translateY(-2px) !important;
}

/* Кнопка Telegram (Яркая, подталкивает к быстрому действию) */
.interim-capture-block .btn-tg { 
    background-color: #229ED9 !important; 
    color: #ffffff !important; 
}
.interim-capture-block .btn-tg:hover { 
    background-color: #1e87bb !important; 
}

/* Кнопка загрузки на сайт (Фирменное золото vto) */
.interim-capture-block .btn-site-form { 
    background-color: var(--vto-gold) !important; 
    color: var(--vto-bg-darker) !important; 
}
.interim-capture-block .btn-site-form:hover { 
    background-color: var(--vto-gold-hover) !important; 
}

/* Кнопка Email (Строгая, контрастная, в цвет бордеров сайта) */
.interim-capture-block .btn-email { 
    background-color: transparent !important;
    color: var(--vto-text-main) !important;
    border: 1px solid #333333 !important;
}
.interim-capture-block .btn-email:hover { 
    border-color: var(--vto-gold) !important;
    color: var(--vto-gold) !important;
}

/* Адаптивность под мобильные экраны */
@media(max-width: 768px) {
    .vto-article-main-text .interim-capture-block { 
        padding: 30px 20px !important; 
        margin: 40px 0 !important;
        border-left: none !important;
        border-top: 4px solid var(--vto-gold) !important;
        border-radius: 0 0 6px 6px !important;
        width: 100% !important;
    }
    
    .vto-article-main-text .interim-capture-block h2.ic-title { 
        font-size: 22px !important; 
    }
    
    /* Жестко переводим весь ряд в полноценную вертикальную колонку */
    .vto-article-main-text .interim-capture-block .ic-contact-row { 
        display: flex !important;
        flex-direction: column !important; 
        align-items: center !important; 
        gap: 15px !important; /* Автоматический отступ между ВСЕМИ тремя элементами */
        width: 100% !important;
    }

    /* Ссылка-телефон на мобильном */
    .interim-capture-block .ic-phone-link {
        display: block !important;
        text-align: center !important;
        width: auto !important;
        margin: 0 !important;
    }

    /* Реанимируем слово "или" — делаем его полноценным блоком */
    .interim-capture-block .ic-or {
        display: block !important;
        text-align: center !important;
        width: 100% !important;
        height: auto !important;
        visibility: visible !important;
        opacity: 0.6 !important; /* Делаем чуть приглушенным, в стиле сайта */
        color: var(--vto-text-main) !important;
        margin: 0 !important;
    }

    /* Кнопка Telegram на мобильном */
    .interim-capture-block .ic-btn { 
        display: block !important;
        width: 100% !important; 
        margin: 0 !important;
    }
}
/* Делаем ссылку-обертку блочной и задаем контролируемый отступ до текста */
.vto-f-logo {
    display: block;
    margin-bottom: 20px; /* Здесь регулируй расстояние от логотипа до текста */
}

/* Лечим растягивание SVG */
.vto-f-logo svg {
    width: 100%;
    max-width: 240px;    /* Ограничиваем максимальную ширину логотипа, чтобы он не был гигантским */
    height: auto !important; /* Сбрасываем жесткие height="100%" из HTML */
    display: block;
}
/* ==========================================================================
   ГЛОБАЛЬНОЕ РАСШИРЕНИЕ СЕТКИ САЙТА (ПЕРЕХОД С BOOTSTRAP НА CUSTOM GRID)
   ========================================================================== */

/* 1. Переопределяем старый бутстраповский контейнер по всему сайту */
@media (min-width: 1200px) {
    .container {
        width: 100% !important; /* Убираем жесткие 1170px */
        max-width: 1360px !important; /* Задаем новую, просторную премиум-ширину */
        padding-left: 25px !important;
        padding-right: 25px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* 2. Отдельно делаем еще более широкую и свободную сетку для ШАПКИ (Header) */
@media (min-width: 1200px) {
    .vto-main-header .container,
    .vto-header-top .container {
        max-width: 1600px !important; /* Шапка раскрывается шире, чтобы влезли все контакты и меню */
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}

/* 3. Безопасность для новой верстки (чтобы флексы и гриды адекватно распределяли простор) */
.vto-hero-internal .vto-hero-main-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

/* Корректируем пропорции первого экрана в новой широкой сетке */
@media (min-width: 1200px) {
    /* Левая текстовая часть */
    .vto-hero-internal .vto-hero-main-row > div:first-child {
        flex: 0 0 55%; /* Занимает 55% ширины */
        max-width: 55%;
    }
    
    /* Правая часть с видеоплеером */
    .vto-hero-internal .vto-hero-main-row > div:last-child {
        flex: 0 0 40%; /* Занимает 40% ширины */
        max-width: 40%;
    }
}
