/* op-single.css — purged blog-singular stack (rebuild: _tmp-single-css) */
/* op-single stack */
/* === assets/css/style-old.min.css === */
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

* {
    outline: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

::-webkit-scrollbar {
    width: 3px;
    height: 3px
}

::-webkit-scrollbar-track {
    background-color: #888
}

::-webkit-scrollbar-thumb {
    background-color: #2380eb
}

@-webkit-keyframes moveYear {
    0% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }
}

@keyframes moveYear {
    0% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    100% {
        -webkit-transform: translateX(-20px);
        transform: translateX(-20px)
    }
}

body,html {
    overflow-x: hidden
}

body {
    margin: 0;
    padding: 0;
    font-family: Gilroy,sans-serif;
    color: #131313
}

.h1,h1 {
    font-size: 52px;
    line-height: 68px;
    font-weight: 700
}

.h2,h2 {
    font-size: 42px;
    line-height: 50px;
    font-weight: 700
}

h1,h2,h3,li,ol,p,ul {
    margin: 0;
    padding: 0
}

img {
    max-width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

a {
    text-decoration: none
}

input {
    font-size: 18px;
    line-height: 34px;
    font-family: Gilroy,sans-serif;
    border-radius: 10px;
    border: solid 1px #d0d9e7;
    padding: 24px 30px;
    background: 0 0;
    background-color: #fff;
    display: block;
    width: 100%;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    color: #131313
}

input::-webkit-input-placeholder {
    color: #878c94;
    opacity: 1
}

input::-moz-placeholder {
    color: #878c94;
    opacity: 1
}

input:-ms-input-placeholder {
    color: #878c94;
    opacity: 1
}

input::-ms-input-placeholder {
    color: #878c94;
    opacity: 1
}

 input::-webkit-input-placeholder {
    color: #878c94;
    opacity: 1
}

 input::-moz-placeholder {
    color: #878c94;
    opacity: 1
}

 input:-ms-input-placeholder {
    color: #878c94;
    opacity: 1
}

 input::-ms-input-placeholder {
    color: #878c94;
    opacity: 1
}

input::placeholder {
    color: #878c94;
    opacity: 1
}

input:focus {
    border-color: #2380eb
}

.bread {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    overflow-x: auto;
    list-style-type: none;
    font-size: 16px;
    line-height: 30px;
    color: #0a2f9a;
    margin-bottom: 30px
}

.bread li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.bread li::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    margin: 0 10px;
    background: url(../img/main-old/bread.svg) no-repeat center center/cover
}

.bread li a {
    color: #131313;
    position: relative
}

.bread li a::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: #131313;
    position: absolute;
    left: 0;
    bottom: -1px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.bread li a:hover::after {
    width: 100%
}

.bread li a::after {
    bottom: 0
}

.bread li:last-child::after {
    display: none
}

.btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    border: solid 1px #2380eb;
    background: 0 0;
    background-color: #2380eb;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    cursor: pointer;
    border-radius: 100px;
    padding: 20px;
    text-align: center;
    font-size: 18px;
    line-height: 21px;
    font-weight: 700;
    color: #fff;
    font-family: Gilroy,sans-serif
}

.btn:hover {
    background-color: #0a2f9a;
    border-color: #0a2f9a
}

.btn svg {
    margin-left: 10px
}

.ttx {
    font-size: 18px;
    line-height: 30px
}

.ttx a {
    color: #0a2f9a;
    text-decoration: underline
}

.ttx a:hover {
    text-decoration: none
}

.ttx .btn,.ttx h1,.ttx h2,.ttx h3,.ttx img,.ttx li,.ttx ul {
    margin-bottom: 30px
}

.ttx ol,.ttx ul {
    padding-left: 15px
}

.ttx ol li,.ttx ul li {
    margin-bottom: 5px
}

.ttx ol li:last-child,.ttx ul li:last-child {
    margin-bottom: 0
}

.ttx blockquote {
    margin: 40px 0;
    padding: 30px 20px;
    position: relative;
    background: url(../img/main-old/bg-blockquote.png) no-repeat center center/cover;
    border-radius: 20px
}

.ttx blockquote::after,.ttx blockquote::before {
    content: "";
    display: block;
    width: 36px;
    height: 36px;
    position: absolute;
    left: 20px;
    top: -14px;
    background: url(../img/main-old/quote.svg) no-repeat center center/contain
}

.ttx blockquote::after {
    left: auto;
    top: auto;
    right: 14px;
    bottom: -14px;
    -webkit-transform: scale(-1,-1);
    -ms-transform: scale(-1,-1);
    transform: scale(-1,-1)
}

.ttx p {
    display: block;
    margin-bottom: 30px
}

.ttx p:last-child {
    margin-bottom: 0
}

.container {
    max-width: 1330px;
    margin: 0 auto;
    padding: 0 15px
}

.header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
    background-color: #fff;
    border-radius: 0 0 50px 50px;
    -webkit-box-shadow: 0 6.65px 5.32px 0 rgba(0,0,0,.0156862745);
    box-shadow: 0 6.65px 5.32px 0 rgba(0,0,0,.0156862745);
    -webkit-box-shadow: 0 22.34px 17.87px 0 rgba(0,0,0,.0235294118);
    box-shadow: 0 22.34px 17.87px 0 rgba(0,0,0,.0235294118);
    -webkit-box-shadow: 0 100px 80px 0 rgba(0,0,0,.0392156863);
    box-shadow: 0 100px 80px 0 rgba(0,0,0,.0392156863);
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.form {
    margin: 120px 0
}

.footer {
    background: url(../img/main-old/bg-footer.jpg) no-repeat center center/cover;
    color: #fff;
    border-radius: 50px 50px 0 0
}

.modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.7);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.modal-active {
    opacity: 1;
    visibility: visible
}

.modal-wrap {
    max-width: 600px;
    background-color: #fff;
    padding: 50px;
    max-height: 90vh;
    overflow-y: auto;
    width: 100%;
    border-radius: 25px;
    position: relative;
}

.modal-wrap .op-header-wrap__icon {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        width: 44px;
        height: 44px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-radius: 50%;
        cursor: pointer;
        background-color: #faf7f7;
        z-index: 2;
    }

.modal-wrap .op-header-wrap__icon--active svg:nth-child(2) {
        scale: 1;
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate(-50%, -50%) rotate(180deg);
        -ms-transform: translate(-50%, -50%) rotate(180deg);
        transform: translate(-50%, -50%) rotate(180deg);
    }

.modal-wrap .op-header-wrap__icon svg {
        position: absolute;
        left: 50%;
        top: 50%;
        margin-right: -50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }
.modal-wrap .op-header-wrap__icon--active svg {
        opacity: 0;
        visibility: hidden;
        scale: 0;
    }
.modal-wrap .op-header-wrap__icon {
        border-radius: 12px;
        background-color: #f0f4f9;
        border: solid 1px #086cdc;
    }
.modal-wrap .op-header-wrap__icon--active {
        border-color: #828282;
    }
@media (max-width: 640px) {
	.modal-wrap {	
		padding: 25px;
	}
}

.modal-wrap__close {
    cursor: pointer;
    text-align: right;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    font-weight: 700;
    font-size: 50px;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    position: absolute;
    right: 45px;
    top: 42px;
    -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
            transform: scale(0.8);
}

.modal-wrap__close:hover {
    color: #2380eb
}

.first {
    position: relative;
    z-index: 3
}

.main {
    border-radius: 0 0 50px 50px
}

.list {
    position: relative;
    z-index: 2;
    position: absolute;
    left: 50%;
    margin-right: -50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: -100px
}

.services {
    background: url(../img/main-old/bg-services.png) no-repeat left top #fff;
    border-radius: 0 0 50px 50px;
    position: relative;
    z-index: 2;
    position: relative
}

.for {
    background: url(../img/main-old/bg-for.jpg) no-repeat center center/cover;
    margin-top: -72px
}

.top-wrap {
    padding: 30px 0 96px
}

.top-wrap__title {
    margin-bottom: 20px
}

.top-wrap__text {
    font-size: 18px;
    line-height: 30px
}

.contacts {
    margin: 120px 0
}

.blog-wrap {
    margin: 120px 0
}

.blog-wrap__relative {
    position: relative
}

@media (max-width: 1100px) {
    .blog-wrap__move {
        margin-bottom: 8px;
    }
}

.blog-wrap__top {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding-bottom: 10px;
    margin-right: -15px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: -webkit-grab;
    cursor: grab
}

.blog-wrap__top::-webkit-scrollbar {
    display: none
}

.blog-wrap__top.is-dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.blog-wrap__top .op-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-right: 8px
}

.blog-wrap__top .item {
    display: block;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    color: #131313;
    padding: 10px 20px;
    border: solid 1px #e6ecf4;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    border-radius: 5px
}

.blog-wrap__top .active {
    background-color: #2380eb;
    color: #fff;
    border-color: #2380eb
}

.blog-wrap__category {
    margin: 50px 0
}

.blog-wrap__list {
    margin: 20px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.blog-wrap__list .item {
    width: 32.75%;
    border-radius: 20px;
    margin-right: .875%;
    background-color: #f8fafd;
    padding: 20px;
    margin-bottom: 15px
}

.blog-wrap__list .item-image {
    position: relative;
    width: calc(100% + 20px);
    margin-left: -10px;
    height: 281px
}

.blog-wrap__list .item-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 16px
}

.blog-wrap__list .item-image__date {
    font-size: 16px;
    line-height: 20px;
    color: #777;
    padding: 5px 8px;
    border-radius: 5px;
    background-color: #f8fafd;
    position: absolute;
    right: 15px;
    top: 15px
}

.blog-wrap__list .item-title {
    margin: 16px 0 20px;
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    height: 24px;
    overflow: hidden
}

.blog-wrap__list .item-text {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
    height: 48px;
    overflow: hidden
}

.blog-wrap__list .item .btn {
    padding: 17px 22px
}

.blog-wrap__list .item:nth-child(3n+3) {
    margin-right: 0
}

.article-wrap {
    margin: 80px 0 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.article-wrap__content {
    width: 100%;
    max-width: 956px;
    margin-right: 30px
}

.article-wrap__content--image {
    position: relative;
    width: 100%;
    height: 458px;
    margin-bottom: 40px
}

.article-wrap__content--image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 20px
}

.article-wrap__content--image-date {
    font-size: 16px;
    line-height: 20px;
    color: #777;
    padding: 5px 8px;
    border-radius: 5px;
    background-color: #f8fafd;
    position: absolute;
    right: 15px;
    top: 15px
}

.article-wrap__sidebar {
    position: sticky;
    top: 200px;
    width: 100%;
    max-width: 302px;
    background: url(../img/main-old/bg-article.png) no-repeat center center/cover;
    padding: 20px;
    border-radius: 20px
}

.article-wrap__sidebar--title {
    font-size: 20px;
    line-height: 30px;
    font-weight: 600;
    margin-bottom: 20px
}

.article-wrap__sidebar a {
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 30px;
    color: #000;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s
}

.article-wrap__sidebar a:hover {
    color: #2380eb;
    text-decoration: underline
}

.article-wrap__sidebar a:last-child {
    margin-bottom: 0
}

.article-wrap__list {
    width: 100%;
    max-width: 275px;
    position: sticky;
    top: 200px
}

.article-wrap__list--title {
    font-size: 20px;
    line-height: 30px;
    font-weight: 600;
    margin-bottom: 30px
}

.article-wrap__list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px;
    background-color: #f6f8fb;
    border-radius: 5px;
    padding: 10px;
    border-radius: 5px;
    color: #131313
}

.article-wrap__list .item-counter {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: #eaeff6;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    line-height: 30px;
    font-weight: 600
}

.article-wrap__list .item-title {
    width: 100%;
    max-width: calc(100% - 32px);
    padding-left: 10px;
    font-size: 16px
}

.service {
    border-radius: 0 0 50px 50px
}

.expert-wrap__flex--content-position {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 30px
}

.us {
    background: url(../img/main-old/bg-us.svg) no-repeat right top #f8fafd
}

.map {
    background-color: #f8fafd;
    border-radius: 0 0 50px 50px;
    margin: 120px 0;
    padding: 120px 0
}

.business {
    background: url(../img/main-old/bg-business.png) no-repeat right bottom #f6f7fb;
    border-radius: 0 0 50px 50px
}

.start {
    background: url(../img/main-old/bg-start.png) no-repeat right top #f6f7fb;
    padding: 120px 0 90px
}

.introduction-wrap__list .item-content__top--position {
    padding: 10px 15px;
    color: #fff;
    font-weight: 600;
    font-size: 18px;
    border-radius: 5px;
    background-color: #e62d5b
}

@media (max-width: 1800px) {
    .business {
        background-position-x:50%
    }
}

@media (max-width: 1550px) {
    .business {
        background-position-x:right;
        background-size: 100%
    }
}

@media (max-width: 1500px) {
    .main {
        border-radius:0
    }

    .list {
        position: relative;
        z-index: 3;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        left: auto;
        top: auto;
        bottom: auto;
        right: auto;
        margin: -30px 0 0;
        padding-top: 31px;
        background-color: #fff;
        border-radius: 50px 50px 0 0
    }
}

@media (max-width: 1300px) {
    .business {
        padding-bottom:300px;
        background-size: 1000px
    }
}

@media (max-width: 1024px) {

    .blog-wrap__list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .blog-wrap__list .item {
        width: 49%
    }

    .blog-wrap__list .item:nth-child(1n+1) {
        margin: 0 0 20px
    }

    .article-wrap__content {
        max-width: 100%;
        margin: 0
    }

    .article-wrap__list,.article-wrap__sidebar {
        display: none
    }
}

@media (max-width: 620px) {
    .blog-wrap {
        margin:60px 0
    }

    .blog-wrap__list .item {
        width: 100%
    }

    .blog-wrap__top .item {
        font-size: 16px;
        padding: 10px 30px
    }
}

@media (max-width: 550px) {
    input {
        padding:12px 15px;
        font-size: 14px;
        line-height: 34px
    }

    .h1,.h2,h1,h2 {
        font-size: 26px;
        line-height: 35px
    }

    .btn {
        font-size: 16px;
        line-height: 18px;
        padding: 20px
    }

    .header {
        border-radius: 0 0 20px 20px
    }

    .services {
        border-radius: 0 0 20px 20px
    }

    .form {
        margin: 60px 0
    }

    .footer {
        border-radius: 20px 20px 0 0
    }

    .top-wrap {
        padding: 30px 0 60px
    }

    .top-wrap__text {
        font-size: 16px;
        line-height: 24px
    }

    .contacts {
        margin: 60px 0
    }

    .article-wrap {
        margin: 60px 0
    }

    .article-wrap__content--image {
        height: 300px
    }

    .article-wrap__content--text {
        font-size: 16px;
        line-height: 24px
    }

    .service {
        border-radius: 0 0 20px 20px
    }

    .expert-wrap__flex--content-position {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 20px
    }

    .map {
        margin: 60px 0;
        padding: 60px 0
    }

    .business {
        background-size: 900px
    }

    .start {
        padding: 60px 0 50px
    }

    .introduction-wrap__list .item-content__top--position {
        font-size: 14px;
        line-height: 21px
    }

    .modal-wrap {
        margin-left: 15px;
        margin-right: 15px
    }
}

#modalConsultation .op-cf7-submit,
#modalCallback .op-cf7-submit,
#modalTwo .op-cf7-submit,
#modalOne .op-cf7-submit,
#modalGift .op-cf7-submit
{
	width: 200px;
}

@media (max-width: 640px) {
	#modalConsultation .op-cf7-submit,
	#modalCallback .op-cf7-submit,
	#modalTwo .op-cf7-submit,
	#modalOne .op-cf7-submit,
	#modalGift .op-cf7-submit
	{
		width: 100%;
	}
	.modal-wrap .wpcf7-list-item .wpcf7-list-item-label {
    	margin-top: 9px;
	}
}
/* === assets/css/style.min.css === */
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

* {
    outline: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.top-wrap__title {
	font-weight: 700;
    font-size: 52px;
    line-height: 68px;
}
.title-single-post {
	text-align: center;
    max-width: 100% !important;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 80px auto;
    background: url(../img/main-old/bg-article.png) no-repeat center center / cover;
    padding: 10px 20px;
    border-radius: 20px;
}
@media (max-width: 768px) {
	.title-single-post {
		margin: 60px auto;
	}
}
html {
    overflow: initial;
    zoom: 1 !important;
}
body {
    overflow-x: hidden;
    /* zoom: 1 !important; */
}
body {
    margin: 0;
    padding: 0;
    font-family: Gilroy, sans-serif;
    color: #131313;
}
.op-ttl:not(h2) {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    font-size: clamp(0.875rem, calc(0.7770376176rem + 0.0041797283 * 100vw), 1.125rem);
}
h1,
h2,
h3,
li,
ol,
p,
ul {
    margin: 0;
    padding: 0;
}

h1 {
    font-weight: 700;
    font-size: 52px;
    line-height: 68px;
}

h2 {
    font-weight: 700;
    font-size: clamp(1.75rem, calc(1.4071316614rem + 0.0146290491 * 100vw), 2.625rem);
}
img {
    max-width: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
a {
    text-decoration: none;
}
input {
    font-family: Gilroy, sans-serif;
    padding: 24px 30px;
    background: 0 0;
    background-color: #fff;
    border: solid 1px #d0d9e7;
    border-radius: 10px;
    display: block;
    width: 100%;
    color: #131313;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    font-size: clamp(1rem, calc(0.9510188088rem + 0.0020898642 * 100vw), 1.125rem);
}
input::-webkit-input-placeholder {
    opacity: 1;
    color: #878c94;
}
input::-moz-placeholder {
    opacity: 1;
    color: #878c94;
}
input:-ms-input-placeholder {
    opacity: 1;
    color: #878c94;
}
input::-ms-input-placeholder {
    opacity: 1;
    color: #878c94;
}
input::-webkit-input-placeholder {
    opacity: 1;
    color: #878c94;
}
input::-moz-placeholder {
    opacity: 1;
    color: #878c94;
}
input:-ms-input-placeholder {
    opacity: 1;
    color: #878c94;
}
input::-ms-input-placeholder {
    opacity: 1;
    color: #878c94;
}
input::placeholder {
    opacity: 1;
    color: #878c94;
}
input:focus {
    border-color: #2380eb;
}
@-webkit-keyframes swipeHint {
    0%,
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    50% {
        -webkit-transform: translateX(8px);
        transform: translateX(8px);
    }
}
@keyframes swipeHint {
    0%,
    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    50% {
        -webkit-transform: translateX(8px);
        transform: translateX(8px);
    }
}
@-webkit-keyframes phonePulse {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(8, 108, 220, 0.6);
        box-shadow: 0 0 0 0 rgba(8, 108, 220, 0.6);
    }
    70% {
        -webkit-box-shadow: 0 0 0 12px rgba(8, 108, 220, 0);
        box-shadow: 0 0 0 12px rgba(8, 108, 220, 0);
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(8, 108, 220, 0);
        box-shadow: 0 0 0 0 rgba(8, 108, 220, 0);
    }
}
@keyframes phonePulse {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(8, 108, 220, 0.6);
        box-shadow: 0 0 0 0 rgba(8, 108, 220, 0.6);
    }
    70% {
        -webkit-box-shadow: 0 0 0 12px rgba(8, 108, 220, 0);
        box-shadow: 0 0 0 12px rgba(8, 108, 220, 0);
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(8, 108, 220, 0);
        box-shadow: 0 0 0 0 rgba(8, 108, 220, 0);
    }
}
.op-custom-input .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}
.op-custom-input label input:checked + .wpcf7-list-item-label::after {
    background: url(../img/main/check-active.svg) no-repeat center center/cover;
}
.op-custom-input label .wpcf7-list-item-label {
    padding-left: 46px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 26px;
    position: relative;
    font-size: clamp(0.875rem, calc(0.8260188088rem + 0.0020898642 * 100vw), 1rem);
}
.op-custom-input label .wpcf7-list-item-label::after {
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: url(../img/main/check.svg) no-repeat center center/cover;
}
.op-custom-input label .wpcf7-list-item-label a {
    color: #e62d5b;
    text-decoration: underline;
}
.op-custom-input label .wpcf7-list-item-label a:hover {
    text-decoration: none;
}
.wpcf7-spinner {
    display: block;
}
.op-wrp {
    margin-bottom: 100px;
}
.op-ttx {
    font-size: 18px;
    line-height: 30px;
}
.op-ttx a:not(.op-btn) {
    color: #2380eb;
    text-decoration: underline;
}
.op-ttx a:not(.op-btn):hover {
    text-decoration: none;
}
.op-ttx p {
    display: block;
    margin-bottom: 20px;
    line-height: 24px;
    font-size: 18px;
}
.op-ttx p:last-child {
    margin-bottom: 0;
}
.op-ttx ul {
    list-style-type: none;
}
.op-ttx ul li {
    padding-left: 21px;
    position: relative;
    margin-bottom: 8px;
}
.op-ttx ul li::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #2380eb;
    position: absolute;
    left: 0;
    top: 10px;
}
.op-ttx ul li:last-child {
    margin-bottom: 0;
}
.op-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    font-family: Gilroy, sans-serif;
    border: none;
    background: 0 0;
    padding: 4px 7px 4px 20px;
    font-size: 16px;
    line-height: 1.5em;
    font-weight: 700;
    gap: 10px;
    border-radius: 50px;
    color: #fff;
    position: relative;
    z-index: 2;
    text-transform: uppercase;
    min-height: 56px;
}
.op-btn::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
    z-index: -1;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    border-radius: 50px;
}
.op-btn svg {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-btn svg * {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-btn:hover::after,
.op-btn:focus-visible::after,
.op-btn:active::after {
    opacity: 0.8;
}
.op-btn:hover svg,
.op-btn:focus-visible svg,
.op-btn:active svg {
    rotate: 90deg;
}
.op-container {
    max-width: 1332px;
    margin: 0 auto;
    padding: 0 15px;
}
.op-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
    background-color: #fff;
    border-radius: 0 0 20px 20px;
    -webkit-box-shadow:
        0 6.65px 5.32px 0 rgba(0, 0, 0, 0.0156862745),
        0 22.34px 17.87px 0 rgba(0, 0, 0, 0.0235294118),
        0 100px 80px 0 rgba(0, 0, 0, 0.0392156863);
    box-shadow:
        0 6.65px 5.32px 0 rgba(0, 0, 0, 0.0156862745),
        0 22.34px 17.87px 0 rgba(0, 0, 0, 0.0235294118),
        0 100px 80px 0 rgba(0, 0, 0, 0.0392156863);
}
.op-header-wrap {
    padding: 19px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 15px;
    position: relative;
}
.op-header-wrap__icon {
    display: none;
}
.op-header-wrap__logo {
    display: block;
    max-width: 242px;
}
.op-header-wrap__nav--socials,
.op-header-wrap__nav--top {
    display: none;
}
.op-header-wrap__nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 40px;
    list-style-type: none;
}
.op-header-wrap__nav ul .menu-item-has-children {
    position: relative;
}
.op-header-wrap__nav ul .menu-item-has-children a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
}
.op-header-wrap__nav ul .menu-item-has-children .op-dropdown {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    line-height: 0;
    color: #8b95a8;
    -webkit-text-fill-color: #8b95a8;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
}
.op-header-wrap__nav ul .menu-item-has-children .op-dropdown svg,
.op-header-wrap__nav ul .menu-item-has-children svg {
    display: block;
    width: 12px;
    height: 12px;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    -o-transition: -o-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease, -o-transform 0.2s ease;
}
.op-header-wrap__nav ul .menu-item-has-children .op-dropdown svg *,
.op-header-wrap__nav ul .menu-item-has-children > a > .op-dropdown svg * {
    fill: none !important;
    stroke: #8b95a8;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
    -webkit-transition: stroke 0.2s ease;
    -o-transition: stroke 0.2s ease;
    transition: stroke 0.2s ease;
}
.op-header-wrap__nav ul li {
    padding: 0 4px;
    position: relative;
}
.op-header-wrap__nav ul li::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: -1px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-header-wrap__nav ul li:hover::after {
    width: 100%;
}
.op-header-wrap__nav ul li a {
    color: #131313;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-header-wrap__nav ul li::after {
    height: 1px;
    bottom: -8px;
    background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
    max-width: calc(100% - 8px);
    left: 4px;
}
.op-header-wrap__nav ul li:hover a {
    background: -o-linear-gradient(bottom, #597BE6 0%, #030E30 100%);
    background: -webkit-gradient(linear, left bottom, left top, from(#597BE6), to(#030E30));
    background: linear-gradient(360deg, #597BE6 0%, #030E30 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.op-header-wrap__nav ul li:hover .op-dropdown,
.op-header-wrap__nav ul li.open > a .op-dropdown,
.op-header-wrap__nav ul li.is-mm-open > a .op-dropdown,
.op-header-wrap__nav ul li.oprmm-root.is-mm-open > a .op-dropdown {
    color: #2380eb;
    -webkit-text-fill-color: #2380eb;
}
.op-header-wrap__nav ul li:hover > a .op-dropdown svg *,
.op-header-wrap__nav ul li:hover .op-dropdown svg *,
.op-header-wrap__nav ul li.open > a .op-dropdown svg *,
.op-header-wrap__nav ul li.is-mm-open > a .op-dropdown svg *,
.op-header-wrap__nav ul li.oprmm-root.is-mm-open > a .op-dropdown svg * {
    stroke: #2380eb;
}
.op-header-wrap__nav ul li.open > a .op-dropdown svg,
.op-header-wrap__nav ul li.is-mm-open > a .op-dropdown svg,
.op-header-wrap__nav ul li.oprmm-root.is-mm-open > a .op-dropdown svg {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
/* oneplus-submenu-scroll */@media (min-width: 1101px){.op-header-wrap__nav > ul > .menu-item-has-children > .sub-menu{max-height:calc(100vh - 120px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}}.op-header-wrap__nav ul .sub-menu {
    padding: 25px;
    width: 368px;
    background-color: #fff;
    -webkit-box-shadow:
        0 6.65px 5.32px 0 rgba(0, 0, 0, 0.0156862745),
        0 22.34px 17.87px 0 rgba(0, 0, 0, 0.0235294118),
        0 100px 80px 0 rgba(0, 0, 0, 0.0392156863);
    box-shadow:
        0 6.65px 5.32px 0 rgba(0, 0, 0, 0.0156862745),
        0 22.34px 17.87px 0 rgba(0, 0, 0, 0.0235294118),
        0 100px 80px 0 rgba(0, 0, 0, 0.0392156863);
    border-radius: 10px;
    display: block;
    left: -50px;
    top: 50px;
    position: absolute;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    z-index: -1;
}
.op-header-wrap__nav ul .sub-menu .menu-item-has-children {
    padding-right: 15px;
    position: relative;
}
.op-header-wrap__nav ul .sub-menu .menu-item-has-children .op-dropdown {
    display: none;
}
.op-header-wrap__nav ul .sub-menu li {
    margin-bottom: 13px;
    padding-left: 25px;
    position: relative;
}
.op-header-wrap__nav .sub-menu .sub-menu li {
	padding-left: 15px;
}
.op-header-wrap__nav ul .sub-menu li::after {
    display: none;
}
.op-header-wrap__nav ul .sub-menu li::before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    background: url(/wp-content/uploads/2026/03/menu-icon-blue.svg) no-repeat center center/contain;
    position: absolute;
    left: 0;
    top: 3px;
}
.op-header-wrap__nav ul .sub-menu li.open-sub::before {
    background-image: url(/wp-content/uploads/2026/03/menu-icon-red.svg);
}
.op-header-wrap__nav ul .sub-menu li:last-child {
    margin-bottom: 0;
}
.op-header-wrap__nav ul .sub-menu li a {
    background: 0 0;
    -webkit-background-clip: inherit;
    -webkit-text-fill-color: inherit;
    color: #131313;
    text-shadow: none;
}
.op-header-wrap__nav ul .sub-menu li a:hover {
    color: #0a2f9a;
}
.op-header-wrap__nav ul .sub-menu .sub-menu {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: 0 0;
    border-radius: 0;
    padding: 0 0 0 15px;
    max-height: 0;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    z-index: auto;
    -webkit-transition:
        max-height 0.3s,
        padding 0.3s;
    -o-transition:
        max-height 0.3s,
        padding 0.3s;
    transition:
        max-height 0.3s,
        padding 0.3s;
}
.op-header-wrap__nav ul .sub-menu .sub-menu li {
    padding-left: 0;
}
.op-header-wrap__nav ul .sub-menu .sub-menu li::before {
    display: none;
}
.op-header-wrap__nav ul .sub-menu .sub-menu .sub-menu {
    display: none;
}
.op-header-wrap__nav ul .open .sub-menu {
    z-index: 2;
    opacity: 1;
    visibility: visible;
}
.op-header-wrap__nav ul .open-sub .sub-menu {
    padding-top: 5px;
}
.op-header-wrap__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
}
.op-header-wrap__meta--languages {
    width: 44px;
    height: 44px;
    position: relative;
    z-index: 50;
    overflow: visible;
    background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
    border-radius: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
}
.op-header-wrap__meta--languages::after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: url(../img/main/lang.svg) no-repeat center center/contain;
    position: absolute;
    right: 6px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.op-header-wrap__meta--languages ul {
    list-style-type: none;
}
.op-header-wrap__meta--languages ul ul {
    opacity: 1;
    visibility: visible;
    display: none;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    position: absolute;
    left: 0;
    top: 34px;
    background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
    border-radius: 0 0 10px 10px;
    padding: 14px 10px 6px;
    width: 100%;
    z-index: 51;
    pointer-events: auto;
}
.op-header-wrap__meta--languages ul ul li {
    margin-bottom: 5px;
}
.op-header-wrap__meta--languages ul ul li:last-child {
    margin-bottom: 0;
}
.op-header-wrap__meta--languages ul ul a {
    color: #fff;
    position: relative;
    z-index: 1;
    display: block;
    pointer-events: auto;
}
.op-header-wrap__meta .open ul ul,
.op-header-wrap__meta--languages.open ul ul {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
.op-header-wrap__meta--callback {
    width: 262px;
    position: relative;
    font-family: Gilroy, sans-serif;
}
.op-header-wrap__meta--callback-btn {
    width: 100%;
    padding: 11px 5px;
    min-height: 44px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: auto;
    white-space: nowrap;
    gap: 12px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    border-radius: 12px;
    position: relative;
    z-index: 2;
    overflow: hidden;
    animation: phonePulse 1.5s ease-in-out infinite;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
}
.op-header-wrap__meta--callback-btn::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
    z-index: -1;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-header-wrap__meta--callback-btn:hover::after {
    opacity: 0.85;
}
.op-header-wrap__meta--callback-list {
    width: 100%;
    min-width: 262px;
    position: absolute;
    left: 0;
    top: 44px;
    border: solid 2px #f0f4f9;
    background-color: #fff;
    border-radius: 0 0 12px 12px;
    margin-top: -5px;
    padding: 15px 10px 10px;
    font-family: Gilroy, sans-serif;
    display: none;
}
.op-header-wrap__meta--callback-list .op-current {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 3px;
    width: calc(100% + 6px);
}
.op-header-wrap__meta--callback-list .op-current svg {
    display: none;
}
.op-header-wrap__meta--callback-list a {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    color: #131313;
}
.op-header-wrap__meta--callback-list a:hover {
    color: #092b96;
}
.op-header-wrap__meta--callback-list ul {
    list-style-type: none;
    max-height: 500px;
    opacity: 1;
    padding-top: 10px;
    overflow: hidden;
}
.op-header-wrap__meta--callback-list ul li {
    margin-bottom: 10px;
}
.op-header-wrap__meta--callback-list ul li svg {
    display: none;
}
.op-header-wrap__meta--callback-list ul li:last-child {
    display: none;
    margin-bottom: 0;
}
/* .op-header-wrap__meta--callback:hover .op-header-wrap__meta--callback-list {
    display: block;
} */
.op-header-wrap__meta--search {
    min-width: 44px;
    min-height: 44px;
    height: 44px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    background-color: #f0f4f9;
    position: relative;
    border-radius: 10px;
	border: 1px solid #086CDC;
}
/* .op-header-wrap__meta--search::after {
    content: "";
    display: block;
    width: 46px;
    height: 46px;
    left: -1px;
    top: -1px;
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
    z-index: -1;
    border-radius: 10px;
    position: absolute;
} */
.op-header-wrap__meta--form {
    position: absolute;
    right: 55px;
    width: 0;
    max-width: calc(100% - 330px);
    z-index: 3;
    top: 25px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    opacity: 0;
    visibility: hidden;
}
.op-header-wrap__meta--form-open {
    opacity: 1;
    visibility: visible;
    width: 100%;
}
.op-header-wrap__meta--form svg {
    position: absolute;
    left: 14px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.op-header-wrap__meta--form input {
    padding: 5px 44px;
    background-color: #f0f4f9;
    border-radius: 10px;
    border: none;
    -webkit-box-shadow: 0 2px 0 0 #092b96;
    box-shadow: 0 2px 0 0 #092b96;
}
/* .op-hero-wrap__content--title br {
    display: none;
} */
.op-item-reviews .op-item-reviews__meta a {
	color: #fff;
}
.op-item-reviews__meta--count svg {
	width: 18px
}
@media  (max-width: 1100px) {
	.op-header-wrap__nav ul li:hover a {
		font-weight: 400;
	}
    .op-services-wrap__list {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        cursor: -webkit-grab;
        cursor: grab;
    }
    .op-services-wrap__list::-webkit-scrollbar {
        display: none;
    }
    .op-services-wrap__list.is-dragging {
        cursor: -webkit-grabbing;
        cursor: grabbing;
        -webkit-user-select: none;
        -moz-user-select: none;
         -ms-user-select: none;
             user-select: none;
    }
}
.op-item-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
}
.op-services {
	margin-top: 185px;
	padding-bottom: 125px;
	border-radius: 0 0 50px 50px;
	z-index: 2;
	position: relative;
	background: url(../img/main/bg-services.png) no-repeat left top #fff;
}
.op-services-wrap__move {
    display: none;
}
.op-services-wrap__title {
	line-height: 44px;
    text-align: center;
}
.op-services-wrap__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 55px;
}
.op-services-wrap__list .op-item {
    width: calc((100% - 60px) / 3);
    border-radius: 20px;
    background: -o-linear-gradient(left, #0b2f9a 0, #2481eb 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0, #0b2f9a), to(#2481eb));
    background: linear-gradient(90deg, #0b2f9a 0, #2481eb 100%);
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    /* overflow: hidden; */
    color: #fff;
    position: relative;
    z-index: 2;
	overflow: hidden!important;
}
.op-services-wrap__list .op-item-content {
    width: 100%;
}
.op-services-wrap__list .op-item-image {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    opacity: 0.22;
    transition: 0.3s;
    width: auto;
	    max-height: 298.5px;
    overflow: hidden;
}

.op-services-wrap__list .op-item-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 5px;
    width: 100%;
}
.op-services-wrap__list .op-item-top__title {
    font-size: 22px;
    line-height: 30px;
    font-weight: 700;
}
.op-services-wrap__list .op-item-top__icon {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-services-wrap__list .op-item-top__icon svg {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-services-wrap__list .op-item-text {
    line-height: 26px;
    margin-top: 11px;
    max-width: 312px;
    font-size: clamp(0.875rem, calc(0.8260188088rem + 0.0020898642 * 100vw), 1rem);
}
.op-services-wrap__list .op-item-price {
    padding: 4px 15px;
    font-size: 20px;
    font-weight: 700;
    color: #2483ed;
    border-radius: 29px;
    text-align: center;
    background-color: #fff;
    margin-top: 83px;
}
.op-services-wrap__list .op-item:hover::before {
    background-color: transparent;
}
.op-services-wrap__list .op-item:hover .op-item-top__icon svg {
        rotate: 90deg;
}
.op-services-wrap__list .op-item:hover .op-item-image {
    opacity: 1;
}
.op-services-wrap__more {
    margin-top: 65px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.op-services-wrap__more .op-btn {
    min-width: 209px;
    padding-left: 35px;
}
.page-id-238 .op-cf7-submit input.wpcf7-submit.has-spinner.btn {
	padding: 12px 0 12px 20px;
}

/* Убираем старые псевдо-элементы */

/* Новые реальные элементы */
/* .op-clients-wrap .op-container {
    max-width: 1460px;
} */
.op-faq {
	position: relative;
    background: #fff;
}

.op-faq .op-container {
	z-index: 2;
	position:relative;
}

@media (max-width: 1100px) {
	.op-faq:after,
	.op-faq:before {
		display: none;
	}
}
.op-faq-wrap__title {
    text-align: center;
    margin-bottom: 30px;
    line-height: 35px;
}
.op-faq-wrap__list {
    max-width: 956px;
    width: 100%;
    margin: 60px auto 0;
}

.op-faq-wrap__list .op-ttx p {
	font-size: 18px;
}
.op-faq-wrap__list .op-item {
    background-color: #fff;
    border: solid 1px #f0f2f5;
    border-radius: 20px;
    margin-bottom: 10px;
    padding: 28px 30px;
    position: relative;
    overflow: hidden;
}
.op-faq-wrap__list .op-item::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url(../img/main/faq.svg) no-repeat left top #f6f8fb;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-faq-wrap__list .op-item-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    cursor: pointer;
    position: relative;
    z-index: 3;
}
.op-faq-wrap__list .op-item-top__title {
    font-size: 20px;
    line-height: 24px;
    font-weight: 600;
    max-width: calc(100% - 30px);
}
.op-faq-wrap__list .op-item-top__icon svg {
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-faq-wrap__list .op-item-text {
    position: relative;
    z-index: 3;
    margin-top: 30px;
    line-height: 24px;
    display: none;
    font-size: clamp(0.875rem, calc(0.8260188088rem + 0.0020898642 * 100vw), 1rem);
}
.op-faq-wrap__list .op-item:last-child {
    margin-bottom: 0;
}
.op-faq-wrap__list .open::after {
    opacity: 1;
    visibility: visible;
}
.op-faq-wrap__list .open .op-item-top__icon svg {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}
.op-faq-second {
    margin-top: 100px;
}
.op-form-second {
    margin-bottom: 150px;
}
.op-form-wrap {
    border-radius: 50px;
    margin-top: 120px;
    background: url(../img/main/bg-form.png) no-repeat left top/cover #f6f8fb;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 30px;
    padding: 60px;
}
.op-form-wrap__content {
    width: 100%;
    max-width: 600px;
    margin-top: -10px;
}
.op-form-wrap__content--title {
    line-height: 100%;
    margin-bottom: 15px;
}
.op-form-wrap__content--text {
    line-height: 24px;
    margin-bottom: 38px;
    font-weight: 700;
    font-size: clamp(1rem, calc(0.8530564263rem + 0.0062695925 * 100vw), 1.375rem);
}
.op-form-wrap__content--subtitle {
    font-weight: 700;
    font-size: clamp(1rem, calc(0.8530564263rem + 0.0062695925 * 100vw), 1.375rem);
}
.op-form-wrap__content--phone {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: 700;
    color: #2380eb;
    gap: 12px;
    margin: 30px 0 38px;
    font-size: clamp(1.25rem, calc(0.8581504702rem + 0.0167189133 * 100vw), 2.25rem);
}
.op-form-wrap__content--phone span {
    max-width: calc(100% - 34px);
    position: relative;
}
.op-form-wrap__content--phone span::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: #2380eb;
    position: absolute;
    left: 0;
    bottom: -1px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-form-wrap__content--phone span:hover::after {
    width: 100%;
}
.op-form-wrap__content--phone span::after {
    height: 3px;
}
.op-form-wrap__content--phone span:hover::after {
    width: 0;
}
.op-form-wrap__content--phone:hover span::after {
    width: 100%;
}
.op-form-wrap__content--socials {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
}
.op-form-wrap__content--socials a {
    display: block;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.op-form-wrap__content--socials a:hover {
    opacity: 0.75;
}
.op-form-wrap__data {
    width: 100%;
    max-width: 550px;
}
.op-form-wrap__data .wpcf7-spinner {
    position: static;
    margin-top: 0;
}
.op-form-wrap__data--title {
    font-weight: 700;
    margin-bottom: 17px;
    font-size: clamp(1.5rem, calc(1.4020376176rem + 0.0041797283 * 100vw), 1.75rem);
}
.op-form-wrap__data--list {
    margin-bottom: 25px;
}
.op-form-wrap__data--list ul {
    list-style-type: none;
}
.op-form-wrap__data--list ul li {
	padding-top: 2px;
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    font-weight: 700;
    font-size: clamp(0.875rem, calc(0.7770376176rem + 0.0041797283 * 100vw), 1.125rem);
}
.op-form-wrap__data--list ul li:last-child {
    margin-bottom: 0;
}
.op-form-wrap__data--list ul li::after {
    content: "";
    display: block;
    width: 19px;
    height: 19px;
    position: absolute;
    left: 0;
    top: 2px;
    background: url(../img/main/li.svg) no-repeat center center/cover;
}
.op-form-wrap__data--row .op-btn {
    margin: 20px 0 28px;
    padding-left: 28px;
    gap: 21px;
}
/* Same geometry as old `0 3px 0 0 #2483ed` shadow: rounded plate peeking 3px under the card */
.op-contacts-wrap__content--form .wpcf7-spinner {
    position: static;
    margin-top: 0;
}
.op-team-wrap__list .op-item-content__top--position {
    padding: 6px 8px;
    text-align: center;
    color: #092b96;
    border: solid 1px rgba(36, 131, 237, 0.4);
    border-radius: 5px;
}
.op-team-popup__position {
    margin-top: 10px;
    color: #0b1220;
    font-size: 20px;
    font-weight: 700;
    text-transform: lowercase;
    font-family: 'Gilroy';
}

@media (max-width: 1300px) {
    .op-header-wrap__nav ul {
        gap: 20px;
    }
    .op-header-wrap__meta--form {
        max-width: calc(100% - 320px);
    }
}
@media (max-width: 1200px) {
    .op-header-wrap__logo {
        max-width: 175px;
    }
    .op-header-wrap__meta--form {
        top: 15px;
        max-width: calc(100% - 250px);
    }
}
@media (min-width:1100px) {
	.op-header-wrap__nav ul .sub-menu .sub-menu{
		width: 102%;
		left: -10px;
	}
	.op-header-wrap__nav ul .sub-menu.open .sub-menu {
		margin-top: 15px;
	}
	.op-header-wrap__nav ul .sub-menu .sub-menu li {
		position: relative;
        margin-bottom: 10px;
        border-bottom: 1px solid;
        padding-bottom: 5px;
	}
	.op-header-wrap__nav ul .open-sub .sub-menu {
		margin-top: 10px;
	}
	.op-header-wrap__nav ul .sub-menu .sub-menu li::before {
			content: "";
			display: block;
			position: absolute;
			top: 8px;
			left: 10px;
			width: 15px;
			height: 15px;
    }
	
	.op-header-wrap__nav ul .sub-menu .sub-menu li::before {
		background: url(/wp-content/uploads/2026/03/menu-icon-blue.svg) no-repeat center center / contain;
		left: -14px;
		width: 10px;
		height: 10px;
		top: 4px;
	}
	.current-menu-item::before {
		background-image: url(/wp-content/uploads/2026/03/menu-icon-red.svg)!important;
	}
	
}

@media (max-width: 1100px) {
    .op-container {
        padding: 0 40px;
    }
    .op-header {
        -webkit-box-shadow:
            0 6.65px 5.32px 0 rgba(0, 0, 0, 0.0156862745),
            0 22.34px 17.87px 0 rgba(0, 0, 0, 0.0235294118),
            0 100px 80px 0 rgba(0, 0, 0, 0.0392156863);
        box-shadow:
            0 6.65px 5.32px 0 rgba(0, 0, 0, 0.0156862745),
            0 22.34px 17.87px 0 rgba(0, 0, 0, 0.0235294118),
            0 100px 80px 0 rgba(0, 0, 0, 0.0392156863);
    }
    .op-header-wrap {
        padding: 13px 0;
    }
    .op-header-wrap__icon {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        width: 44px;
        height: 44px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-radius: 50%;
        cursor: pointer;
        background-color: #faf7f7;
        z-index: 2;
    }
    .op-header-wrap__icon svg {
        position: absolute;
        left: 50%;
        top: 50%;
        margin-right: -50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }
    .op-header-wrap__icon svg:nth-child(2) {
        opacity: 0;
        visibility: hidden;
        scale: 0;
    }
    .op-header-wrap__icon--active svg {
        opacity: 0;
        visibility: hidden;
        scale: 0;
    }
    .op-header-wrap__icon--active svg:nth-child(2) {
        scale: 1;
        opacity: 1;
        visibility: visible;
        -webkit-transform: translate(-50%, -50%) rotate(180deg);
        -ms-transform: translate(-50%, -50%) rotate(180deg);
        transform: translate(-50%, -50%) rotate(180deg);
    }
    .op-header-wrap__nav {
        position: fixed;
        right: -100%;
        top: 0;
        width: 100%;
        height: 100vh;
        overflow: hidden;
        padding: 60px 40px;
        background: url(../img/main/bg-nav__tab.png) no-repeat center center/cover red;
        z-index: -1;
        font-size: 22px;
        line-height: 130%;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }
    .op-header-wrap__nav .op-btn {
        width: 100%;
        text-transform: none;
        padding: 5px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        border-radius: 12px;
        min-height: 44px;
    }
    .op-header-wrap__nav .op-btn::after {
        border-radius: 12px;
    }
    .op-header-wrap__nav--top {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 12px;
        padding-top: 14px;
        margin-top: 14px;
        border-top: solid 1px #d6dde7;
        margin-bottom: 30px;
    }
    .op-header-wrap__nav--top .op-open-search {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .op-header-wrap__nav--top .open {
        border-color: #fff !important;
    }
    .op-header-wrap__nav--top .open ul {
        opacity: 1;
        visibility: visible;
    }
    .op-header-wrap__nav--top .op-header-wrap__meta--languages {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding-left: 5px;
        position: relative;
        z-index: 2;
        background: 0 0;
        border: solid 1px #828282;
        color: #131313;
    }
    .op-header-wrap__nav--top .op-header-wrap__meta--languages::after {
        background: url(../img/main/lang2.svg) no-repeat center center/contain;
    }
    .op-header-wrap__nav--top .op-header-wrap__meta--languages ul {
        overflow: inherit;
    }
    .op-header-wrap__nav--top .op-header-wrap__meta--languages ul ul {
        position: absolute;
        left: -5px;
        width: 44px;
        padding: 0;
        padding-top: 35px;
        background: 0 0;
        border: solid 1px #828282;
        top: -8px;
        border-radius: 10px;
		overflow: hidden;
    }
	.op-header-wrap__meta--form svg {
		position: absolute;
    left: 12px;
    top: 55.5%;
    -webkit-transform: translateY(-50%) scale(1.15);
        -ms-transform: translateY(-50%) scale(1.15);
            transform: translateY(-50%) scale(1.15);
	}
    .op-header-wrap__nav--top .op-header-wrap__meta--languages ul ul li {
        padding: 0 10px 5px;
        margin-bottom: 0;
        background: #fff;
    }
    .op-header-wrap__nav--top .op-header-wrap__meta--languages ul ul li a {
        color: #131313;
        padding: 0;
    }
    .op-header-wrap__nav--active {
        right: 0;
        opacity: 1;
        visibility: visible;
    }
    .op-header-wrap__nav ul {
        display: block;
        max-height: 70vh;
        overflow-y: auto;
    }
    .op-header-wrap__nav ul ul {
        max-height: inherit;
    }
    .op-header-wrap__nav ul li {
        width: 100%;
        margin-bottom: 10px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .op-header-wrap__nav ul li::after {
        display: none;
    }
    .op-header-wrap__nav ul li .op-dropdown {
        color: #8b95a8;
        -webkit-text-fill-color: #8b95a8;
    }
    .op-header-wrap__nav ul li .op-dropdown svg {
        width: 14px;
        height: 14px;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
    }
    .op-header-wrap__nav ul li .op-dropdown svg * {
        stroke: #8b95a8;
    }
    .op-header-wrap__nav ul li.open1 > a .op-dropdown,
    .op-header-wrap__nav ul li.open > a .op-dropdown {
        color: #2380eb;
        -webkit-text-fill-color: #2380eb;
    }
    .op-header-wrap__nav ul li.open1 .op-dropdown svg,
    .op-header-wrap__nav ul li.open1 > a .op-dropdown svg,
    .op-header-wrap__nav ul li.open > a .op-dropdown svg {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    .op-header-wrap__nav ul li.open1 > a .op-dropdown svg *,
    .op-header-wrap__nav ul li.open > a .op-dropdown svg * {
        stroke: #2380eb;
    }
	.op-current-lang {
		top: 1px;
	}
	.op-header-wrap__nav .op-current-lang ul li a {
		background-color: #fff !important;
	}
	.op-header-wrap__nav ul li:hover a {
		    background: inherit;
	}
    .op-header-wrap__nav ul li a {
                background-color: #f0f4f9 !important;
        border-radius: 12px;
        display: block;
        padding: 11px 16px;
        line-height: 100%;
        width: 100%;
        -webkit-background-clip: inherit !important;
        -webkit-text-fill-color: inherit !important;
        text-shadow: none !important;
    }
    .op-header-wrap__nav ul li:last-child {
        margin-bottom: 0;
    }
    .op-header-wrap__nav ul .sub-menu {
        width: 100%;
        position: static;
        opacity: 1;
        visibility: visible;
        padding: 0;
        background: 0 0;
        -webkit-box-shadow: none;
        box-shadow: none;
        display: none;
        border-radius: 0;
        font-size: 16px;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .op-header-wrap__nav ul .sub-menu li {
        border-bottom: solid 1px #d6dde7;
        padding-left: 36px;
        margin-bottom: 0;
    }
    .op-header-wrap__nav ul .sub-menu li::after {
        display: none !important;
    }
    .op-header-wrap__nav ul .sub-menu li::before,
	.op-header-wrap__nav ul .open1 .sub-menu .sub-menu li::before {
        content: "";
        display: block;
        position: absolute;
        top: 8px;
        left: 10px;
        width: 15px;
        height: 15px;
    }
	.op-header-wrap__nav ul .open1 .sub-menu .sub-menu li a {
		padding-left: 18px;
	}
	.op-header-wrap__nav ul .open1 .sub-menu .sub-menu li::before {
		background: url(/wp-content/uploads/2026/03/menu-icon-blue.svg) no-repeat center center / contain;
        left: 0;
        width: 10px;
        height: 10px;
        top: 11px;
	}
	.current-menu-item::before {
		    background-image: url(/wp-content/uploads/2026/03/menu-icon-red.svg)!important;
	}
    .op-header-wrap__nav ul .sub-menu li a {
        background: 0 0 !important;
        padding: 8px 0;
        color: #131313 !important;
    }
    .op-header-wrap__nav ul .sub-menu .sub-menu {
        display: none;
        border-top: solid 1px #d6dde7;
        padding-top: 5px;
    }
    .op-header-wrap__nav ul .sub-menu .sub-menu li::before {
        display: none;
    }
    .op-header-wrap__nav ul .sub-menu .sub-menu li:last-child {
        border-bottom: none;
    }
    .op-header-wrap__nav ul .open1 .op-dropdown {
        color: #2380eb !important;
        -webkit-text-fill-color: #2380eb !important;
    }
    .op-header-wrap__nav ul .open1 .op-dropdown svg * {
        stroke: #2380eb !important;
        fill: none !important;
    }
    .op-header-wrap__nav ul .open1::before {
/*         background: url(../img/main/sub2.png) no-repeat center center/cover !important; */
    }
    .op-header-wrap__nav ul .open1 .sub-menu {
        display: block;
    }
    .op-header-wrap__nav ul .open1 .sub-menu .sub-menu {
        display: none;
    }
    .op-header-wrap__nav ul .open1 .open1 .sub-menu {
        display: block;
		max-height: 100%!important;
    }
    .op-header-wrap__nav--socials {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 16px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 30px;
        padding-top: 30px;
        border-top: solid 1px #d6dde7;
    }
    .op-header-wrap__meta--languages ul {
        gap: 4px;
    }
    .op-header-wrap__meta--form {
        top: 10px;
    }
    .op-header-wrap__meta--languages,
    .op-header-wrap__meta--search {
        display: none;
    }
    .op-header-wrap__meta--callback {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
    .op-header-wrap__meta--callback-list {
        width: 252px;
        right: -56px;
        left: auto;
    }
    .op-header-wrap__meta--callback-btn {
        width: 44px;
        height: 44px;
        padding: 0;
        gpa: 0;
        display: block;
        font-size: 0;
        position: relative;
        border-radius: 50%;
        -webkit-animation: phonePulse 1.5s ease-in-out infinite;
        animation: phonePulse 1.5s ease-in-out infinite;
    }
    .op-header-wrap__meta--callback-btn svg {
        position: absolute;
        left: 50%;
        top: 50%;
        margin-right: -50%;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .op-header-wrap__meta--callback-list {
        margin-top: 30px;
        border: solid 1px #086cdc;
        padding: 6px 20px 12px;
        border-radius: 12px;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
        display: none;
    }
    .op-header-wrap__meta--callback-list .op-current {
        gap: 0;
    }
    .op-header-wrap__meta--callback-list .op-current svg {
        display: none;
    }
    .op-header-wrap__meta--callback-list ul {
        padding-top: 0;
        opacity: 1;
        visibility: visible;
        max-height: 500px;
    }
    .op-header-wrap__meta--callback-list ul a {
        background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
        background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
        padding: 9px 4px;
        color: #fff;
        border-radius: 12px;
        padding-left: 50px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        min-height: 42px;
        font-size: 0;
    }
    .op-header-wrap__meta--callback-phone {
        background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
        background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
        padding: 9px 4px;
        color: #fff!important;
        border-radius: 12px;
        padding-left: 50px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        min-height: 42px;
        font-size: 16px;
        margin-bottom: 10px;
    }
    .op-header-wrap__meta--callback-phone svg {
        position: absolute;
        left: 4px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .op-header-wrap__meta--callback-phone:hover {
        color: #fff;
        opacity: 0.92;
    }
    .op-header-wrap__meta--callback-list ul a span {
        font-size: 16px;
    }
    .op-header-wrap__meta--callback-list ul a svg {
        position: absolute;
        left: 4px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .op-header-wrap__meta--callback-list ul li:last-child {
        display: block;
    }
    .op-header-wrap__meta--callback .open {
        opacity: 1;
        visibility: visible;
        display: block;
    }
    .op-services {
        margin-top: 97px;
    }
	.op-services-wrap__title {
		line-height: 36px;
	}
    .op-services-wrap__list {
        margin-top: 27px;
        gap: 30px;
    }
    .op-services-wrap__list .op-item {
        width: calc((100% - 30px) / 2);
    }
	.op-item-content__text {
		text-align: left;
	}
    .op-faq-wrap__list {
        margin-top: 28px;
    }
    .op-form-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: 47px;
        margin-top: 75px;
        border-radius: 50px;
    }
    .op-form-wrap__content,
    .op-form-wrap__data {
        width: 100%;
        max-width: 100%;
    }
}

.compensation-wrap__slider--list.slick-initialized.slick-slider {
	padding-bottom: 80px;
}

.postid-328 .compensation-wrap__slider--list.slick-initialized.slick-slider {
	padding-bottom: 0px;
}
@media (max-width: 668px) {
    .op-container {
        padding: 0 15px;
    }
}

@media (max-width: 1100px) and (min-width: 640px) {
	.op-form form {
		max-width: 50%;
	}
}

@media (max-width: 550px) {
    input {
        padding: 8px 20px;
        min-height: 50px;
    }
    .op-header-wrap__nav {
        padding-left: 15px;
        padding-right: 15px;
    }
    .op-header-wrap__icon {
        border-radius: 12px;
        background-color: #f0f4f9;
        border: solid 1px #086cdc;
    }
    .op-header-wrap__icon--active {
        border-color: #828282;
    }
    .op-header-wrap__logo {
        max-width: 167px;
    }
    .op-header-wrap__meta {
        gap: 12px;
    }
    .op-header-wrap__meta--form {
        max-width: calc(100% + 2px);
        top: 85px;
        right: auto;
        left: 0;
    }
    .op-header-wrap__meta--form input {
        min-height: 46px;
    }
    .op-services {
        margin-top: 58px;
        padding-bottom: 75px;
        border-radius: 0 0 50px 50px;
    }
    .op-services-wrap__list {
        display: block;
        margin-top: 16px;
    }
    .op-services-wrap__list .slick-track {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .op-services-wrap__list .op-item {
        height: inherit;
        padding-top: 17px;
    }
    .op-services-wrap__list .op-item-top__title {
        max-width: 191px;
    }
    .op-services-wrap__list .op-item-text {
        margin-top: 7px;
    }
    .op-services-wrap__list .op-item-price {
        margin-top: 31px;
    }
    .op-services-wrap__move {
        display: block;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto;
        margin-top: 16px;
        width: 41px;
        height: 26px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-color: #f9f9f9;
        border-radius: 5px;
    }
    .op-services-wrap__more {
        margin-top: 40px;
    }
    .op-faq-wrap__title {
        margin-bottom: 20px;
    }
    .op-faq-wrap__list {
        margin-top: 36px;
    }
    .op-faq-wrap__list .op-item {
        border-radius: 20px;
        padding: 15px;
    }
    .op-faq-wrap__list .op-item-text {
        margin-top: 15px;
    }
    .op-form-wrap {
        padding: 35px 18px;
        border-radius: 20px;
        gap: 25px;
    }
    .op-form-wrap__content--title {
        margin-bottom: 12px;
    }
    .op-form-wrap__content--text {
        margin-bottom: 20px;
    }
    .op-form-wrap__content--phone {
        margin: 18px 0 28px;
    }
    .op-form-wrap__content--socials .op-item svg {
        max-width: 43px;
        max-height: 43px;
    }
    .op-form-wrap__data--title {
        margin-bottom: 17px;
    }
    .op-form-wrap__data .op-btn {
        text-align: left;
        font-size: 14px;
    }
/*     .op-top-wrap .op-bread {
        display: none;
    } */
    .op-form-second {
        margin-bottom: 50px;
    }
    .op-faq-second {
        margin-top: 42px;
    }
	.services-template-template-parts .compensation-wrap__slider--list.slick-initialized.slick-slider {
		padding-bottom: 0;
	}
}

.ttx ol, .ttx ul {
  list-style: none; 
}

.ttx ol {
	padding-left: 0;
	margin-bottom: 30px;
}

.ttx ul li::before {
  position: absolute;
  content: "•"; 
  color: #09339f; 
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}

.ttx ol li::before {
  counter-increment: item;
  content: counter(item) ". ";
  color: #09339f;
  font-weight: bold;
}

.ttx ol {
  counter-reset: item;
}
/* Services list: explicit split between tablet and mobile to prevent overrides */
@media  (max-width: 1100px) {
    .op-services-wrap__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        cursor: -webkit-grab;
        cursor: grab;
        margin-right: -40px;
    }
    .op-services-wrap__list::-webkit-scrollbar {
        display: none;
    }
    .op-services-wrap__list .op-item {
        width: calc((100% - 30px) / 2);
        -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 30px) / 2);
        flex: 0 0 calc((100% - 88px) / 2);
    }
    .op-services-wrap__list.is-dragging {
        cursor: -webkit-grabbing;
        cursor: grabbing;
        -webkit-user-select: none;
        -moz-user-select: none;
         -ms-user-select: none;
             user-select: none;
    }
}
@media (max-width: 550px) {
    .op-services-wrap__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        overflow: scroll;
        cursor: default;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    }
    .op-services-wrap__list .op-item {
        -webkit-box-flex: initial;
        -ms-flex: initial;
        flex: initial;
        min-width: 320px;
        overflow: visible;
    }
}
@media (max-width: 550px) {
	.op-form-wrap__data .op-form-wrap__data--title {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
	}
	
	.op-services-wrap__list {
		margin-right: -15px;
	}
}
/* History slider: native smooth horizontal scroll */
/* Reviews: Slick на десктопе (≥1101px); нативный скролл ≤1100px */
/* CF7 submit: как .op-btn — градиент ::before, иконка ::after + rotate(90deg); без смены background у input (не прыгает) */
.op-cf7-submit {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    z-index: 2;
    max-width: 100%;
    vertical-align: middle;
    border-radius: 50px;
}
.op-cf7-submit::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 50px;
    background: -o-linear-gradient(358.09deg, #092b96 0, #086cdc 100%);
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%);
    z-index: 0;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
}
.op-cf7-submit:hover:not(:has(input:disabled))::before {
    opacity: 0.8;
}
.op-cf7-submit::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 48px;
    height: 48px;
    z-index: 2;
    pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' fill='none' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='24' r='21' fill='%23fff'/%3E%3Ccircle cx='24' cy='24' r='22.5' stroke='%23fff' stroke-opacity='0.31' stroke-width='3'/%3E%3Cpath stroke='%23092B96' d='M19.1568 28.8432L28.098 19.902M28.098 19.902H21.0728M28.098 19.902V26.2885'/%3E%3C/svg%3E") no-repeat center;
    background-size: contain;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
}
.op-cf7-submit:hover:not(:has(input:disabled))::after {
    -webkit-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}
.op-cf7-submit:has(input:disabled) {
    opacity: 0.55;
}
.op-cf7-submit input#submit-consultation.wpcf7-submit,
.op-cf7-submit input.wpcf7-submit.has-spinner.btn {
    display: inline-block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    cursor: pointer;
    font-family: Gilroy, sans-serif;
    font-size: 16px;
    line-height: 1.5em;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    border: none;
    border-radius: 50px;
    min-height: 56px;
    padding: 12px 0px 12px 28px;
    gap: 20px;
    background: none !important;
    background-image: none !important;
    position: relative;
    z-index: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
}
.op-cf7-submit input#submit-consultation.wpcf7-submit:disabled,
.op-cf7-submit input.wpcf7-submit.has-spinner.btn:disabled {
    cursor: not-allowed;
}
@media (max-width: 550px) {
    .op-cf7-submit::after {
        right: 6px;
        width: 44px;
        height: 44px;
    }
    .op-cf7-submit input#submit-consultation.wpcf7-submit,
    .op-cf7-submit input.wpcf7-submit.has-spinner.btn {
        font-size: 14px;
        padding-right: 56px;
    }
}
/* Team + About: native horizontal swipe (tablet only; ≤550 Slick + display:block) */

.wpcf7-list-item label {
    margin-top: 20px;
}

.op-form-wrap .wpcf7-list-item label {
	margin-top: 18px;
}

.op-header-wrap__meta--callback-hours {
	margin-top: 8px;
}

@media (max-width: 1100px) {
	.op-header-wrap__meta--callback.is-open #op-header-callback-panel {
        margin-top: 30px;
        border: solid 1px #086cdc;
        padding: 6px 20px 12px;
        border-radius: 12px;
        opacity: 1;
        visibility: visible;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
        display: block;
	}
}

@media (max-width: 640px) {
	
	.op-faq-wrap__list .op-item-top__title {
        font-size: 18px;
        line-height: 24px;
        max-width: 85%!important;
    }
	.op-faq-wrap__list .op-ttx p {
		font-size: 16px;
	}
	.modal-wrap__form .cf7-buttons .btn {
		max-width: 100%!important;
  	}
	.wpcf7-list-item .wpcf7-list-item-label::after {
		    top: 7px!important;
	}
}

@media (max-width: 1100px) {
    .op-team-popup__position {
        font-size: 22px;
    }
}

.reason .op-cf7-submit input#submit-consultation.wpcf7-submit, 
.reason .op-cf7-submit input.wpcf7-submit.has-spinner.btn {
	padding: 12px 70px 12px 28px;
}

.op-header-wrap__meta--callback-phone svg {
	width: 34px;
	height: 34px;
}

@media (max-width: 767px) {
	.top-wrap__title {
		        font-size: 26px;
        line-height: 35px;
	}
    .op-team-popup__position {
        margin-top: 8px;
        font-size: 16px;
    }
	.op-item-reviews .op-item-reviews__meta a {
		color: #131313;
	}
}
@media (max-width: 640px) {
	.op-services-wrap__more .op-btn {
		min-width: auto;
		padding-left: 20px;
	}
	/* Match hero .op-btn: no SVG padding (it offset transform-origin / looked like a jump on tap+rotate) */
	.op-cf7-submit input#submit-consultation.wpcf7-submit, .op-cf7-submit input.wpcf7-submit.has-spinner.btn {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		padding-right: 0;
	}
	.modal-wrap .iti--allow-dropdown input.iti__tel-input, .iti--allow-dropdown input.iti__tel-input[type=tel] {
		    padding-left: 52px!important;
	}
	.modal-wrap .cf7-title {
		max-width: 85%;
	}
	.modal-wrap__form .choices__inner {
		font-size: 16px;
		padding: 15px 10px!important;
		margin-bottom: 15px;
	}
	.modal-wrap__form input, .modal-wrap__form select, .modal-wrap__form textarea {
		font-size: 16px;
		padding: 15px 10px!important;
	}
	    .op-cf7-submit {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
	.modal-wrap__form .cf7-buttons {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		margin-top: 30px;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		position: relative;
		width: 100%;
		gap: 16px;
	}
	.article-wrap__content--text h4 {
		margin-bottom: 12px;
	}
}

@media (min-width: 640px) and (max-width: 1024px) {
	.op-form-wrap__content--title {
		margin: 0 auto;
		text-align: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		width: 88%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 0 10px;
	}
	.op-form-wrap__content {
		    display: -webkit-box;
		    display: -ms-flexbox;
		    display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	.op-form-wrap__data {
		width: 100%;
		max-width: 54%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		margin: 0 auto;
	}
	.op-form form {
        max-width: 100%!important;
    }
	.wpcf7-list-item-label p {
		font-size: 15px;
	}
	.op-cf7-submit {
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		position: relative;
		z-index: 2;
		max-width: 100%;
		vertical-align: middle;
		border-radius: 50px;
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
	}
}

/* .article-wrap__content--text li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
} */

/* op-single-hero-natural-height-20260909 */
.article-wrap__content--image{height:auto!important}
.article-wrap__content--image img{display:block;width:100%;height:auto;max-width:100%;object-fit:initial;-o-object-fit:initial;border-radius:20px}

/* Business registration cards already use a custom check icon via ::after. */

/* op-mobile-header-lock-20260910 */@media (max-width:1100px){.op-wrp{margin-bottom:70px}.op-header-wrap__logo img,.op-header-logo{display:block;width:100%;height:auto;max-width:100%;aspect-ratio:300/77}}@media (max-width:550px){.op-header-wrap__logo{max-width:167px}}

/* === assets/css/footer.css === */
/**
 * ONE PLUS footer — single stylesheet (desktop + tablet + mobile).
 * Stage 2: all footer CSS lives here; removed from style.css / style.min.css.
 * Rollback: see _backup-footer-stage2-* / STAGE2.md
 *
 * Load order inside this file:
 *   1) Shell (bg, back-to-top, funding plaques, bottom bar, legacy base)
 *   2) Unified cards + mobile/tablet overrides (wins by cascade)
 */

/* ==========================================================================
   1) Footer shell (from former style.css / style.min.css)
   ========================================================================== */

:root {
    --ft-mnav-grad-from: #092B96;
    --ft-mnav-grad-to: #086CDC;
    /* Desktop menu plaques: floor = RU content width (measured), other langs match RU */
    --ft-menu-card-min: 322px;
}

.op-footer {
    max-width: 1920px;
    margin: 88px auto 0;
    background: url(../img/main/bg-footer.png) no-repeat right top/100%;
    border-radius: 50px 0 50px 50px;
    position: relative;
}

.op-footer-top {
    position: absolute;
    right: 15px;
    top: 3px;
    width: 16%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    padding: 26px;
    font-size: 18px;
    color: #000;
    font-weight: 700;
    border-radius: 14px;
    background: #F6F8FB;
}

.op-footer-top svg {
    -webkit-animation: bounceArrow 2s ease-in-out infinite;
    animation: bounceArrow 2s ease-in-out infinite;
}

@-webkit-keyframes bounceArrow {
    0%,
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    50% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
        background-color: #f6f8fb;
    }
}

@keyframes bounceArrow {
    0%,
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
    50% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px);
        background-color: #f6f8fb;
    }
}

.op-footer-top span {
    position: relative;
}

.op-footer-top span::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: -1px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.op-footer-top span:hover::after {
    width: 100%;
}

.op-footer-top span:hover::after {
    width: 0;
}

.op-footer-top:hover span::after {
    width: 100%;
}

.op-footer::after {
    content: "";
    display: block;
    width: 100%;
    height: 70%;
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #f6f8fb;
    border-radius: 0 0 50px 50px;
}

.op-footer-wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1300px;
    padding: 20px 0 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.op-footer-wrap__top {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.op-footer-wrap__nav {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.op-footer-wrap__nav--legal {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
    max-width: 100%;
    width: 100%;
}

.op-footer-wrap__nav--legal .op-footer-wrap__nav--menu-title {
    display: none;
}

.op-footer-wrap__bottom {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.op-footer-wrap__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 5px;
    padding-right: 10%;
    margin-bottom: 45px;
}

.op-footer-wrap__top--logo {
    display: block;
    max-width: 176px;
    padding-top: 3px;
}

.op-footer-wrap__top--logo img {
    width: 176px;
    max-width: 100%;
    height: auto;
    display: block;
}

.op-footer-wrap__top--gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 7px;
}

.op-footer-wrap__top--gallery .op-item {
    width: 100%;
    max-width: 173px;
    height: 58px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    border-radius: 10px;
    padding: 15px;
	-webkit-filter: saturate(0);
	        filter: saturate(0);
	-webkit-transition: all ease 0.3s;
	-o-transition: all ease 0.3s;
	transition: all ease 0.3s;
}

.op-footer-wrap__top--gallery .op-item:first-child img,
.op-footer-wrap__top--gallery .op-item:nth-child(2) img,
.op-footer-wrap__top--gallery .op-item:nth-child(3) img {
	-webkit-transform: scale(1.3);
	    -ms-transform: scale(1.3);
	        transform: scale(1.3);
}

.op-footer-wrap__top--gallery .op-item:hover {
	-webkit-filter: saturate(1);
	        filter: saturate(1);
	cursor: pointer;
}

.op-footer-wrap__top--gallery .op-item img {
    max-height: 35px;
    width: auto;
}

.op-footer-wrap__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 15px;
    padding-right: 10%;
    margin-bottom: 36px;
}

.op-footer-wrap__nav--contacts {
    width: 100%;
    max-width: 250px;
}

.op-footer-wrap__nav--contacts .op-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    color: #667085;
    margin-bottom: 20px;
}

.op-footer-wrap__nav--contacts .op-item svg {
    min-width: 22px;
}

.op-footer-wrap__nav--contacts .op-item-text {
    font-weight: 700;
    font-size: clamp(0.875rem, calc(0.8260188088rem + 0.0020898642 * 100vw), 1rem);
    max-width: calc(100% - 22px);
}

.op-footer-wrap__nav--contacts .op-item:first-child {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.op-footer-wrap__nav--contacts .op-item:first-child .op-item-text {
    font-weight: 400;
}

.op-footer-wrap__nav--contacts .op-item:first-child .op-item-text strong {
    font-weight: 700;
}

.op-footer-wrap__nav--contacts a.op-item .op-item-text {
    position: relative;
}

.op-footer-wrap__nav--contacts a.op-item .op-item-text::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: #667085;
    position: absolute;
    left: 0;
    bottom: 1px;
    -webkit-transition: width 0.28s ease;
    -o-transition: width 0.28s ease;
    transition: width 0.28s ease;
}

.op-footer-wrap__nav--contacts a.op-item .op-item-text:hover::after {
    width: 100%;
}

.op-footer-wrap__nav--contacts a.op-item .op-item-text:hover::after {
    width: 0;
}

.op-footer-wrap__nav--contacts a.op-item:hover .op-item-text::after {
    width: 100%;
}

.op-footer-wrap__nav--contacts-title {
    margin: 48px 0 14px;
    font-weight: 700;
    font-size: clamp(0.875rem, calc(0.8260188088rem + 0.0020898642 * 100vw), 1rem);
}

.op-footer-wrap__nav--contacts-socials {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.op-footer-wrap__nav--contacts-socials .op-item {
    display: block;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    margin-bottom: 0;
}

.op-footer-wrap__nav--contacts-socials .op-item:hover {
    opacity: 0.75;
}

.op-footer-wrap__nav--menu {
    max-width: 241px;
}

.op-footer-wrap__nav--menu.op-footer-wrap__nav--legal {
    max-width: 100%;
    width: 100%;
}

.op-footer-wrap__nav--menu-icon {
    display: none;
}

.op-footer-mnav-icon,
.op-footer-mnav-chevron {
    display: none;
}

.op-footer-wrap__nav--menu-title {
    font-weight: 700;
    margin-bottom: 28px;
    font-size: clamp(1rem, calc(0.9510188088rem + 0.0020898642 * 100vw), 1.125rem);
}

.op-footer-wrap__nav--menu ul {
    list-style-type: none;
}

.op-footer-wrap__nav--menu ul li {
    margin-bottom: 13px;
}

.op-footer-wrap__nav--menu ul li:last-child {
    margin-bottom: 0;
}

.op-footer-wrap__nav--menu ul li a {
    color: #667085;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.op-footer-wrap__nav--menu ul li a:hover {
    color: #2483ed;
}

.op-footer-wrap__bottom {
    padding: 13px 0;
    border-top: solid 1px #dfdfdf;
    border-bottom: solid 1px #dfdfdf;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 15px;
    font-size: 12px;
}

.op-footer-wrap__bottom ul {
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.op-footer-wrap__bottom ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.op-footer-wrap__bottom ul li::after {
    content: "";
    display: block;
    width: 1px;
    height: 24px;
    margin: 0 18px;
    background-color: #30343a;
}

.op-footer-wrap__bottom ul li a {
    color: #000;
    position: relative;
}

.op-footer-wrap__bottom ul li a::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: -1px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.op-footer-wrap__bottom ul li a:hover::after {
    width: 100%;
}

.op-footer-wrap__bottom ul li a::after {
    width: 100%;
}

.op-footer-wrap__bottom ul li a:hover::after {
    width: 0;
}

.op-footer-wrap__bottom ul li:last-child::after {
    display: none;
}

.op-footer-wrap__notice {
    margin-top: 10px;
    font-size: 11px;
    line-height: 16px;
    color: #667085;
    padding-bottom: 5px;
}

.op-footer-wrap__nav--legal .op-footer-wrap__notice {
    margin-top: 10px;
}

@media (max-width: 1700px) {
.op-footer-wrap__top {
        padding-right: 20%;
    }
}

@media (max-width: 1500px) {
.op-footer-top {
        padding: 20px;
    }
}

@media (max-width: 1400px) {
.op-footer-top {
        padding: 15px;
    }
}

@media (max-width: 1200px) {
.op-footer {
        background: #f6f8fb;
        border-radius: 20px;
    }

.op-footer-top {
        display: none;
    }

.op-footer-wrap {
        padding-top: 32px;
    }

.op-footer-wrap__top {
        padding-right: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 25px;
    }

.op-footer-wrap__nav {
        display: block;
        margin-bottom: 0;
        padding-right: 0;
    }

.op-footer-wrap__nav--contacts {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 15px;
        max-width: 100%;
        width: 100%;
        padding-bottom: 51px;
        border-bottom: solid 1px #d6d6d6;
        margin-bottom: 20px;
    }

.op-footer-wrap__nav--contacts-title {
        margin-top: 0;
    }
}

@media (max-width: 1100px) {
.op-footer-wrap__nav--menu {
        width: 100%;
        max-width: 100%;
        margin-bottom: 12px;
        padding: 14px 16px;
        border: 1px solid #d7e6f7;
        border-radius: 20px;
        background: #fff;
        -webkit-box-shadow: 0 6px 18px rgba(10, 47, 154, 0.07);
        box-shadow: 0 6px 18px rgba(10, 47, 154, 0.07);
    }

.op-footer-wrap__nav--menu ul {
        display: none;
        margin-top: 14px;
        padding-top: 4px;
        overflow: hidden;
        list-style: none;
    }

.op-footer-wrap__nav--menu ul li {
        margin-bottom: 0;
        border-top: 1px solid #e6eef8;
    }

.op-footer-wrap__nav--menu ul li:first-child {
        border-top: none;
    }

.op-footer-wrap__nav--menu ul li a,
    .op-footer-wrap__nav--menu ul li a.op-footer-mnav-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 12px;
        min-height: 56px;
        padding: 8px 4px 8px 0;
        color: #475467;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.3;
        text-decoration: none;
        position: relative;
        -webkit-transition: color 0.2s ease;
        -o-transition: color 0.2s ease;
        transition: color 0.2s ease;
    }

.op-footer-wrap__nav--menu ul li a:hover,
    .op-footer-wrap__nav--menu ul li a:focus-visible {
        color: #0a2f9a;
    }

.op-footer-mnav-icon {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 50%;
        color: #667085;
        background: #eef1f6;
        background-image: none;
        -webkit-transition: background 0.2s ease, color 0.2s ease;
        -o-transition: background 0.2s ease, color 0.2s ease;
        transition: background 0.2s ease, color 0.2s ease;
    }

.op-footer-mnav-icon svg {
        display: block;
        width: 20px;
        height: 20px;
        color: inherit;
    }

/* Default: muted gray strokes (same as desktop); blue gradient on hover */
.op-footer-mnav-icon svg * {
        stroke: #667085 !important;
        -webkit-transition: stroke 0.2s ease;
        -o-transition: stroke 0.2s ease;
        transition: stroke 0.2s ease;
    }

.op-footer-mnav-icon[data-op-icon="ukraine"] svg * {
        stroke: none !important;
    }

.op-footer-wrap__nav--menu ul li a:hover .op-footer-mnav-icon,
    .op-footer-wrap__nav--menu ul li a:focus-visible .op-footer-mnav-icon {
        background: #e7f1fb;
        background-image: linear-gradient(145deg, #f3f8fd 0%, #e0edfa 100%);
        color: #086cdc;
    }

.op-footer-wrap__nav--menu ul li a:hover .op-footer-mnav-icon svg *,
    .op-footer-wrap__nav--menu ul li a:focus-visible .op-footer-mnav-icon svg * {
        stroke: url(#ft_mnav_grad) !important;
    }

.op-footer-wrap__nav--menu ul li a:hover .op-footer-mnav-icon[data-op-icon="ukraine"] svg *,
    .op-footer-wrap__nav--menu ul li a:focus-visible .op-footer-mnav-icon[data-op-icon="ukraine"] svg * {
        stroke: none !important;
    }

.op-footer-mnav-label {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        min-width: 0;
        color: #475467;
        -webkit-text-fill-color: #475467;
        background: none;
        -webkit-background-clip: border-box;
        background-clip: border-box;
        -webkit-transition: color 0.2s ease, -webkit-text-fill-color 0.2s ease;
        -o-transition: color 0.2s ease;
        transition: color 0.2s ease, -webkit-text-fill-color 0.2s ease;
    }

.op-footer-wrap__nav--menu ul li a:hover .op-footer-mnav-label,
    .op-footer-wrap__nav--menu ul li a:focus-visible .op-footer-mnav-label {
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

.op-footer-mnav-chevron {
        display: block;
        width: 10px;
        height: 10px;
        min-width: 10px;
        margin-left: auto;
        border-right: 2px solid #98a2b3;
        border-bottom: 2px solid #98a2b3;
        border-image: none;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        opacity: 0.95;
        -webkit-transition: border-color 0.2s ease;
        -o-transition: border-color 0.2s ease;
        transition: border-color 0.2s ease;
    }

.op-footer-wrap__nav--menu ul li a:hover .op-footer-mnav-chevron,
    .op-footer-wrap__nav--menu ul li a:focus-visible .op-footer-mnav-chevron {
        border-right-color: transparent;
        border-bottom-color: transparent;
        border-image: linear-gradient(135deg, var(--ft-mnav-grad-from, #092B96), var(--ft-mnav-grad-to, #086CDC)) 1;
        opacity: 0.95;
    }

.op-footer-wrap__nav--menu-title {
        margin-bottom: 0;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 12px;
        min-height: 46px;
        padding-right: 36px;
        cursor: pointer;
        -webkit-user-select: none;
        -ms-user-select: none;
        user-select: none;
        font-weight: 700;
        font-size: 18px;
        line-height: 1.25;
        color: inherit;
        -webkit-text-fill-color: inherit;
        background: none;
        -webkit-background-clip: border-box;
        background-clip: border-box;
    }

.op-footer-wrap__nav--menu-icon {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        min-width: 46px;
        border-radius: 50%;
        background: #e7f1fb;
    }

.op-footer-wrap__nav--menu-icon svg {
        display: block;
        width: 22px;
        height: 22px;
    }

/* Section titles (Навигация / Услуги / Другие услуги): keep blue gradient */
.op-footer-wrap__nav--menu-text {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        min-width: 0;
        display: inline-block;
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

.op-footer-wrap__nav--menu-title::after {
        content: "";
        display: block;
        width: 20px;
        height: 12px;
        background: linear-gradient(90deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-mask: url(../img/main/arrow-footer.svg) no-repeat center center / contain;
        mask: url(../img/main/arrow-footer.svg) no-repeat center center / contain;
        position: absolute;
        right: 2px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        -o-transition: transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
    }

.op-footer-wrap__nav .open .op-footer-wrap__nav--menu-title::after,
    .op-footer-wrap__nav--menu.open .op-footer-wrap__nav--menu-title::after {
        -webkit-transform: translateY(-50%) rotate(180deg);
        -ms-transform: translateY(-50%) rotate(180deg);
        transform: translateY(-50%) rotate(180deg);
    }

.op-footer-wrap__nav--legal {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin-bottom: 12px;
        padding: 14px 16px;
        border: 1px solid #d7e6f7;
        border-radius: 20px;
        background: #fff;
        -webkit-box-shadow: 0 6px 18px rgba(10, 47, 154, 0.07);
        box-shadow: 0 6px 18px rgba(10, 47, 154, 0.07);
    }

.op-footer-wrap__nav--legal .op-footer-wrap__nav--menu-title {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

.op-footer-wrap__nav--legal .op-footer-wrap__notice {
        display: none;
        margin-top: 14px;
        overflow: hidden;
        font-size: 12px;
        line-height: 1.45;
        color: #667085;
        font-weight: 400;
    }

.op-footer-wrap__bottom {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
        border-top: none;
        padding-top: 8px;
    }

.op-footer-wrap__bottom--nav {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 100%;
    }

.op-footer-wrap__bottom--copyright {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
}

@media (max-width: 720px) {
.op-footer-wrap__nav--contacts {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 21px 15px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

.op-footer-wrap__nav--contacts .op-item:first-child {
        width: calc((100% - 15px) / 2);
    }

.op-footer-wrap__nav--contacts-row {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        max-width: calc((100% - 15px) / 2);
    }

.op-footer-wrap__nav--contacts-row:last-child {
        text-align: center;
    }

.op-footer-wrap__nav--contacts-row .op-item:nth-child(1n + 1) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

.op-footer-wrap__nav--contacts-socials {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

.op-footer-wrap__nav--contacts-socials .op-item:nth-child(1n + 1) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }
}

@media (max-width: 668px) {
.op-footer-wrap__bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

.op-footer-wrap__bottom--nav {
        width: 100%;
        padding-bottom: 13px;
        border-bottom: solid 1px #d6d6d6;
    }

.op-footer-wrap__bottom--copyright {
        width: 100%;
        max-width: 100%;
        border-bottom: none;
        padding-bottom: 0;
        padding-top: 0;
    }
}

@media (max-width: 550px) {
.op-footer {
        margin-top: 50px;
    }

.op-footer-wrap {
        padding: 34px 6px;
    }

.op-footer-wrap__top {
        gap: 24px;
    }

.op-footer-wrap__top--logo {
        max-width: 176px;
    }

.op-footer-wrap__top--gallery {
        gap: 5px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

.op-footer-wrap__top--gallery .op-item {
        width: calc((100% - 5px) / 2);
    }

.op-footer-wrap__nav--menu {
        padding: 14px 16px;
        margin-bottom: 12px;
    }

.op-footer-wrap__nav--contacts {
        padding-bottom: 33px;
    }

.op-footer-wrap__nav--contacts-row:last-child {
        margin-top: -20px;
    }

.op-footer-wrap__bottom--nav {
        width: 100%;
    }

.op-footer-wrap__bottom--nav ul {
        gap: 5px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

.op-footer-wrap__bottom--nav ul li::after {
        display: none;
    }
}

/* ==========================================================================
   2) Unified cards + mobile/tablet (active layout)
   ========================================================================== */

/* --- Desktop defaults: wrappers transparent; hide mobile-only chrome --- */
.footer-mobile-brand,
.footer-mobile-funding {
    display: contents;
}

.footer-mobile-brand__tagline,
.footer-mobile-funding__label,
.footer-mobile-divider,
.footer-mobile-contact-card__hours,
.footer-mobile-company-card,
.footer-mobile-contact-card {
    display: none !important;
}

.footer-desktop-contact-card {
    display: flex;
    flex-direction: column;
}

.footer-mobile-icon {
    display: contents;
}

.footer-mobile-icon > svg {
    display: block;
    min-width: 22px;
}

/* Email reveal — keep readable on desktop too (matches pre-redesign button look) */
.op-footer-email-reveal {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    font: inherit;
    font-weight: 700;
    font-size: clamp(0.875rem, calc(0.8260188088rem + 0.0020898642 * 100vw), 1rem);
    color: #667085;
    cursor: pointer;
    text-align: left;
    position: relative;
}

.op-footer-email-reveal:focus-visible {
    outline: 2px solid #086cdc;
    outline-offset: 3px;
    border-radius: 4px;
}

.op-footer-email-link {
    font-weight: 700;
    color: #0a2f9a;
    word-break: break-all;
}

/* --- Mobile / tablet upper footer --- */
@media (max-width: 1024px) {
    .footer-desktop-contact-card {
        display: none !important;
    }

    .footer-mobile-company-card {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }

    .footer-mobile-contact-card {
        display: flex !important;
    }
    .op-footer-wrap {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 28px;
        padding-bottom: 24px;
    }

    .op-footer-wrap__top {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 24px;
        padding-right: 0;
        margin-bottom: 24px;
        width: 100%;
    }

    .footer-mobile-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        width: 100%;
        text-align: center;
    }

    .footer-mobile-brand .op-footer-wrap__top--logo {
        max-width: 260px;
        padding-top: 0;
    }

    .footer-mobile-brand .op-footer-wrap__top--logo img {
        width: 240px;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .footer-mobile-brand__tagline {
        display: block;
        margin: 0;
        max-width: 28rem;
        color: #5b6b8c;
        font-size: 15px;
        line-height: 1.4;
        font-weight: 500;
    }

    .footer-mobile-funding {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        width: 100%;
        padding: 14px 16px 16px;
        border-radius: 20px;
        border: 1px solid #e4eef8;
        background: #f7fafc;
        box-sizing: border-box;
    }

    .footer-mobile-funding__label {
        display: block;
        margin: 0;
        width: 100%;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        font-size: 12px;
        font-weight: 700;
        color: #6b7a99;
        line-height: 1.3;
    }

    .op-footer-wrap__top--gallery.footer-mobile-funding__grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
        max-width: none;
    }

    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item {
        max-width: none !important;
        width: 100% !important;
        height: 58px;
        padding: 10px 12px;
        border-radius: 16px;
        border: 1px solid #d7e6f7;
        background: #fff;
        box-shadow: 0 4px 12px rgba(10, 47, 154, 0.05);
        /* Same muted → full-color interaction as desktop gallery */
        -webkit-filter: saturate(0);
        filter: saturate(0);
        -webkit-transition: filter 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
        -o-transition: filter 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
        transition: filter 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
        box-sizing: border-box;
        cursor: pointer;
    }

    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item:hover,
    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item:focus-visible,
    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item:active {
        -webkit-filter: saturate(1);
        filter: saturate(1);
        border-color: #b8d4f0;
        box-shadow: 0 6px 16px rgba(10, 47, 154, 0.12);
    }

    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item:first-child img,
    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item:nth-child(2) img,
    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item:nth-child(3) img {
        transform: none;
        -webkit-transform: none;
        -ms-transform: none;
    }

    .op-footer-wrap__top--gallery.footer-mobile-funding__grid .op-item img {
        max-height: 34px;
        max-width: 100%;
        width: auto;
        object-fit: contain;
    }

    .op-footer-wrap__nav {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding-right: 0;
        margin-bottom: 0;
        width: 100%;
    }

    /*
     * Kill legacy ≤720px half-width rules from style.min.css:
     *   .op-item:first-child { width: calc((100%-15px)/2) }
     *   .contacts-row { max-width: calc((100%-15px)/2) }
     */
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100% !important;
        max-width: 100% !important;
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
        /* Match Navigation ↔ Services plaque gap (.op-footer-wrap__nav--menu { margin-bottom: 12px }) */
        margin-bottom: 12px !important;
        align-items: stretch;
        justify-content: stretch;
        flex-wrap: nowrap;
        box-sizing: border-box;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-company-card,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-contact-card,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .op-item:first-child,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .op-footer-wrap__nav--contacts-row {
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        min-height: 0;
        height: auto;
        box-sizing: border-box;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-company-card,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-contact-card {
        margin: 0;
        padding: 12px 10px;
        border-radius: 18px;
        border: 1px solid #d7e6f7;
        background: #fff;
        box-shadow: 0 6px 18px rgba(10, 47, 154, 0.07);
        color: #667085;
    }

    /*
     * Office card: [icon] text — icon top-aligned with first text line
     * (not centered against full card height when grid stretches cards).
     */
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-company-card.op-item {
        display: flex !important;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        gap: 8px;
    }

    .footer-mobile-company-card__body,
    .footer-mobile-company-card .op-item-text {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        min-width: 0;
        max-width: none !important;
        width: auto;
        font-size: 12px;
        line-height: 1.35;
    }

    /* Name sits on the same vertical centerline as the location icon badge */
    .footer-mobile-company-card__name {
        position: relative;
        display: flex;
        align-items: center;
        min-height: 34px;
        padding-bottom: 2px;
        box-sizing: border-box;
        font-size: 11.5px;
        font-weight: 700;
        color: #0a2f9a;
        line-height: 1.15;
        letter-spacing: -0.035em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
        text-decoration: none !important;
        cursor: pointer;
    }

    /* L→R underline — thin 1px, close to text (width anim keeps thickness stable) */
    a.footer-mobile-company-card__name::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        right: auto !important;
        bottom: 1px !important;
        width: 0 !important;
        max-width: none !important;
        height: 1px !important;
        background: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
        background-image: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
        -webkit-background-clip: border-box !important;
        background-clip: border-box !important;
        -webkit-transform: none !important;
        transform: none !important;
        -webkit-transition: width 0.28s ease !important;
        -o-transition: width 0.28s ease !important;
        transition: width 0.28s ease !important;
        pointer-events: none;
    }

    a.footer-mobile-company-card__name:hover,
    a.footer-mobile-company-card__name:focus-visible {
        color: #086cdc;
        text-decoration: none !important;
    }

    a.footer-mobile-company-card__name:hover::after,
    a.footer-mobile-company-card__name:focus-visible::after {
        width: 100% !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    .footer-mobile-company-card__line {
        color: #667085;
        font-weight: 400;
        font-size: 12px;
        line-height: 1.35;
    }

    .footer-mobile-company-card__regs {
        display: block;
        width: 100%;
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid #e6eef8;
        font-size: 11px;
        line-height: 1.4;
        color: #5b6b8c;
    }

    .footer-mobile-company-card__regs b {
        font-weight: 700;
        color: #0a2f9a;
    }

    .footer-mobile-icon {
        display: inline-flex !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        min-width: 34px;
        border-radius: 50%;
        background: #e7f1fb;
    }

    .footer-mobile-icon > svg {
        width: 17px;
        height: 17px;
        min-width: 17px;
    }

    /* Contact card: stretch rows to fill equal-height card (space between phone / email / hours) */
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-contact-card {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: space-between;
        gap: 0;
        height: 100%;
        min-height: 100%;
        box-sizing: border-box;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid .footer-mobile-contact-card .op-item {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 0;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0;
        color: #667085;
    }

    .footer-mobile-contact-card .op-item-text {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        min-width: 0;
        max-width: 100%;
        width: auto;
        font-size: 12px;
        line-height: 1.35;
    }

    .footer-mobile-contact-card__phone {
        align-items: center !important;
        text-decoration: none !important;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item
    .op-item-text {
        position: relative;
        flex: 0 0 auto !important;
        width: max-content;
        max-width: 100%;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        color: #092b96 !important;
        white-space: nowrap;
        letter-spacing: -0.015em;
        -webkit-font-smoothing: antialiased;
        text-rendering: geometricPrecision;
        text-decoration: none !important;
    }

    /* L→R underline via width (stable 1px; scaleX looked thicker mid-animation) */
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item
    .op-item-text::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        right: auto !important;
        bottom: 1px !important;
        width: 0 !important;
        max-width: none !important;
        height: 1px !important;
        background: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
        background-image: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
        -webkit-background-clip: border-box !important;
        background-clip: border-box !important;
        -webkit-transform: none !important;
        transform: none !important;
        -webkit-transition: width 0.28s ease !important;
        -o-transition: width 0.28s ease !important;
        transition: width 0.28s ease !important;
        pointer-events: none;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item:hover
    .op-item-text,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item:focus-visible
    .op-item-text {
        text-decoration: none !important;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item:hover
    .op-item-text::after,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item:focus-visible
    .op-item-text::after {
        width: 100% !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    .footer-mobile-contact-card__email {
        align-items: center !important;
    }

    .footer-mobile-contact-card__email .op-footer-email-reveal {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        max-width: 100%;
        min-width: 0;
        min-height: 28px;
        padding: 3px 10px;
        border: 1.5px solid #0a2f9a;
        border-radius: 999px;
        color: #0a2f9a;
        font-size: 10.5px;
        font-weight: 700;
        line-height: 1.1;
        background: #fff;
        white-space: nowrap;
        text-align: center;
        box-sizing: border-box;
        text-decoration: none !important;
    }

    .footer-mobile-contact-card__email .op-footer-email-reveal:hover,
    .footer-mobile-contact-card__email .op-footer-email-reveal:focus-visible {
        background: #f3f8fd;
    }

    .footer-mobile-contact-card__email .op-footer-email-link {
        position: relative;
        display: inline-block;
        flex: 0 0 auto !important;
        width: max-content;
        max-width: 100%;
        min-width: 0;
        font-size: 12px;
        font-weight: 700;
        color: #0a2f9a;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-decoration: none !important;
    }

    .footer-mobile-contact-card__email .op-footer-email-link::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        right: auto !important;
        bottom: 1px !important;
        width: 0 !important;
        max-width: none !important;
        height: 1px !important;
        background: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
        -webkit-background-clip: border-box !important;
        background-clip: border-box !important;
        -webkit-transform: none !important;
        transform: none !important;
        -webkit-transition: width 0.28s ease !important;
        transition: width 0.28s ease !important;
        pointer-events: none;
    }

    .footer-mobile-contact-card__email .op-footer-email-link:hover,
    .footer-mobile-contact-card__email .op-footer-email-link:focus-visible {
        text-decoration: none !important;
    }

    .footer-mobile-contact-card__email .op-footer-email-link:hover::after,
    .footer-mobile-contact-card__email .op-footer-email-link:focus-visible::after {
        width: 100% !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    .footer-mobile-contact-card__hours {
        display: flex !important;
        align-items: flex-start !important;
    }

    .footer-mobile-contact-card__hours-text {
        display: flex;
        flex-direction: column;
        gap: 1px;
        min-width: 0;
        max-width: 100%;
        line-height: 1.25;
    }

    .footer-mobile-contact-card__hours-days {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #0a2f9a;
        line-height: 1.25;
    }

    .footer-mobile-contact-card__hours-time {
        display: block;
        font-size: 12px;
        font-weight: 500;
        color: #667085;
        line-height: 1.3;
    }

    /*
     * Socials card (full-width under office/contact cards):
     * same white plaque language as company/contact cards.
     * Title hidden — icons only (matches desktop).
     */
    .footer-mobile-socials,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-socials {
        grid-column: 1 / -1;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 14px 12px;
        border-radius: 18px;
        border: 1px solid #d7e6f7;
        background: #fff;
        box-shadow: 0 6px 18px rgba(10, 47, 154, 0.07);
        box-sizing: border-box;
        text-align: center;
        color: #667085;
    }

    .footer-mobile-socials__title,
    .op-footer-wrap__nav--contacts-title.footer-mobile-socials__title {
        display: none !important;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 10px;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item {
        width: 42px !important;
        height: 42px;
        min-width: 42px;
        max-width: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;
        border-radius: 50%;
        flex: 0 0 auto;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item:hover,
    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item:focus-visible {
        opacity: 1;
        transform: translateY(-1px);
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item svg {
        width: 42px;
        height: 42px;
        display: block;
    }

    /* Spacer kept in markup; base rule has display:none !important — leave hidden */
    .footer-mobile-divider {
        display: none !important;
        margin: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .op-footer-wrap__nav > .op-footer-wrap__nav--menu:first-of-type {
        margin-top: 0 !important;
    }
}

/* Keep two columns on all mobile widths; tighten density on very narrow screens */
@media (max-width: 375px) {
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-company-card,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-contact-card {
        padding: 10px 8px;
    }

    .footer-mobile-company-card__name {
        font-size: 10.5px;
        letter-spacing: -0.04em;
        min-height: 32px;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item
    .op-item-text {
        font-size: 11.5px !important;
        letter-spacing: -0.02em;
    }

    .footer-mobile-icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }

    .footer-mobile-icon > svg {
        width: 16px;
        height: 16px;
        min-width: 16px;
    }

    .footer-mobile-contact-card__email .op-footer-email-reveal {
        min-height: 26px;
        padding: 2px 9px;
        font-size: 10px;
    }

    .footer-mobile-brand .op-footer-wrap__top--logo img {
        width: 200px;
    }

    .footer-mobile-socials,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-socials {
        padding: 12px 10px;
        gap: 0;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials {
        gap: 8px;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item,
    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item svg {
        width: 38px;
        height: 38px;
        min-width: 38px;
        max-width: 38px;
    }
}

@media (min-width: 376px) and (max-width: 430px) {
    .footer-mobile-brand .op-footer-wrap__top--logo img {
        width: 220px;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item,
    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item svg {
        width: 40px;
        height: 40px;
        min-width: 40px;
        max-width: 40px;
    }
}

/* Tablet: roomier 2-col — card type ~+3px vs previous tablet sizes */
@media (min-width: 768px) and (max-width: 1024px) {
    .footer-mobile-brand .op-footer-wrap__top--logo img {
        width: 280px;
    }

    .footer-mobile-funding {
        max-width: 560px;
        padding: 16px 18px 18px;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid {
        gap: 14px;
        /* Same 12px as menu plaques — not larger than Navigation ↔ Services */
        margin-bottom: 12px !important;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-company-card,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-contact-card {
        padding: 16px 14px;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-company-card {
        gap: 12px;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-contact-card {
        gap: 0;
        justify-content: space-between;
    }

    .footer-mobile-company-card__name {
        font-size: 21px;
        letter-spacing: -0.02em;
        min-height: 44px;
    }

    .footer-mobile-company-card__line,
    .footer-mobile-company-card .op-item-text {
        font-size: 16px;
        line-height: 1.4;
    }

    .footer-mobile-company-card__regs {
        font-size: 14px;
        line-height: 1.45;
        margin-top: 10px;
        padding-top: 10px;
    }

    .footer-mobile-contact-card .op-item-text {
        font-size: 15px;
        line-height: 1.4;
    }

    .op-footer-wrap__nav--contacts.footer-mobile-company-grid
    .footer-mobile-contact-card__phone.op-item
    .op-item-text {
        font-size: 22px !important;
        font-weight: 700 !important;
        letter-spacing: -0.01em;
    }

    .footer-mobile-contact-card__hours-days {
        font-size: 17px;
    }

    .footer-mobile-contact-card__hours-time {
        font-size: 16px;
    }

    .footer-mobile-contact-card__email .op-footer-email-reveal {
        font-size: 19.5px;
        min-height: 40px;
        padding: 7px 16px;
    }

    .footer-mobile-contact-card__email .op-footer-email-link {
        font-size: 20px;
    }

    .footer-mobile-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
    }

    .footer-mobile-icon > svg {
        width: 22px;
        height: 22px;
        min-width: 22px;
    }

    .footer-mobile-socials,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-socials {
        padding: 16px 14px;
        gap: 0;
        border-radius: 20px;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials {
        gap: 16px;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item,
    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item svg {
        width: 48px;
        height: 48px;
        min-width: 48px;
        max-width: 48px;
    }
}

/* 721–1024: same row as Privacy/Terms (not under them), copyright stays one line */
@media (min-width: 721px) and (max-width: 1024px) {
    .op-footer-wrap__bottom {
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important;
        -webkit-box-align: center !important;
        -ms-flex-align: center !important;
        align-items: center !important;
        -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        gap: 10px;
    }

    .op-footer-wrap__bottom--copyright {
        -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
        order: 1 !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto !important;
        max-width: none !important;
        white-space: nowrap !important;
        font-size: 11px;
        line-height: 1.3;
        letter-spacing: -0.015em;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: none !important;
    }

    .op-footer-wrap__bottom--nav {
        -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
        order: 2 !important;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
        padding-bottom: 0 !important;
        border-bottom: none !important;
    }

    .op-footer-wrap__bottom--nav ul {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        gap: 0;
    }

    .op-footer-wrap__bottom--nav ul li::after {
        margin: 0 10px;
    }
}

/* ==========================================================================
   Desktop ≥1025 — card layout (contact / menus / socials)
   Funding logos + back-to-top + bottom legal bar: keep existing style.css look.
   ========================================================================== */
@media (min-width: 1025px) {
    /* Logo in its own white card (funding + back-to-top untouched) */
    .footer-mobile-brand {
        display: inline-flex !important;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 0;
        padding: 16px 20px;
        margin: 0;
        background: #fff !important;
        border: 0;
        border-radius: 18px;
        box-shadow: none;
        box-sizing: border-box;
    }

    .footer-mobile-brand .op-footer-wrap__top--logo {
        display: block;
        max-width: 176px;
        padding: 0;
    }

    .footer-mobile-brand .op-footer-wrap__top--logo img {
        width: 160px;
        max-width: 100%;
        height: auto;
        display: block;
    }

    .footer-mobile-brand__tagline {
        display: none !important;
    }

    /* Keep cards clear of the footer's top-left radius */
    .op-footer-wrap {
        padding-top: 28px;
        padding-bottom: 14px; /* tighter under privacy notice */
    }

    .op-footer-wrap__top {
        margin-bottom: 20px;
    }

    /* Contact = content width; 3 menu cards equal, floor = RU width (--ft-menu-card-min) */
    .op-footer-wrap__nav {
        display: grid;
        grid-template-columns: max-content repeat(3, minmax(var(--ft-menu-card-min), 1fr));
        gap: 16px;
        align-items: start;
        width: max-content;
        max-width: 100%;
        padding-right: 0;
        margin-top: 22px;
        margin-bottom: 0; /* legal/bottom are inside nav — no extra gap under privacy */
        justify-content: start;
    }

    .op-footer-wrap__nav--contacts,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid {
        width: max-content;
        max-width: 100%;
        display: grid;
        grid-template-columns: max-content;
        justify-content: start;
        justify-items: stretch;
        gap: 14px;
    }

    /* Shared card surface — flat like funding plaques (no glow / no edge line) */
    .footer-desktop-contact-card,
    .footer-mobile-socials,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) {
        background: #fff;
        border: 0;
        border-radius: 18px;
        box-shadow: none;
        box-sizing: border-box;
    }

    /* --- Contact card: shrink to content width --- */
    .footer-desktop-contact-card {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 18px 65px 16px 18px;
        width: max-content;
        max-width: 100%;
        margin: 0;
        box-sizing: border-box;
    }

    .footer-desktop-contact-card__title {
        display: none !important;
    }

    .footer-desktop-contact-card__row {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin: 0;
        text-decoration: none;
        color: inherit;
    }

    .footer-desktop-contact-card__row--phone {
        align-items: center;
    }

    .footer-desktop-contact-card__row--email {
        align-items: center;
    }

    .footer-desktop-contact-card__icon {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        min-width: 34px;
        border-radius: 50%;
        background: #e7f1fb;
    }

    .footer-desktop-contact-card__icon svg {
        width: 17px;
        height: 17px;
        display: block;
    }

    .footer-desktop-contact-card__body {
        display: flex;
        flex-direction: column;
        gap: 3px;
        min-width: 0;
        font-size: 15.5px;
        line-height: 1.4;
        color: #667085;
    }

    .footer-desktop-contact-card__company {
        position: relative;
        display: inline-block;
        width: max-content;
        max-width: 100%;
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
        line-height: 1.3;
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    /* Underline as separate layer — background-clip:text would hide a painted ::after otherwise */
    .footer-desktop-contact-card__company::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 1px;
        width: 0;
        height: 1px;
        background-color: #086CDC;
        background-image: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%);
        -webkit-background-clip: border-box !important;
        background-clip: border-box !important;
        -webkit-text-fill-color: initial;
        -webkit-transition: width 0.28s ease;
        transition: width 0.28s ease;
        pointer-events: none;
        z-index: 1;
    }

    .footer-desktop-contact-card__company:hover,
    .footer-desktop-contact-card__company:focus-visible {
        text-decoration: none;
    }

    .footer-desktop-contact-card__company:hover::after,
    .footer-desktop-contact-card__company:focus-visible::after {
        width: 100%;
    }

    .footer-desktop-contact-card__line {
        display: block;
        font-size: 15px;
        font-weight: 400;
        color: #667085;
        line-height: 1.4;
    }

    .footer-desktop-contact-card__phone {
        position: relative;
        display: inline-block;
        font-size: 17px;
        font-weight: 700;
        letter-spacing: -0.01em;
        white-space: nowrap;
        text-decoration: none;
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    /* Underline as separate layer — background-clip:text on parent would hide a painted ::after otherwise */
    .footer-desktop-contact-card__phone::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 1px;
        width: 0;
        height: 1px;
        background-color: #086CDC;
        background-image: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%);
        -webkit-background-clip: border-box !important;
        background-clip: border-box !important;
        -webkit-text-fill-color: initial;
        -webkit-transition: width 0.28s ease;
        transition: width 0.28s ease;
        pointer-events: none;
        z-index: 1;
    }

    .footer-desktop-contact-card__row--phone:hover .footer-desktop-contact-card__phone,
    .footer-desktop-contact-card__row--phone:focus-visible .footer-desktop-contact-card__phone {
        text-decoration: none;
    }

    .footer-desktop-contact-card__row--phone:hover .footer-desktop-contact-card__phone::after,
    .footer-desktop-contact-card__row--phone:focus-visible .footer-desktop-contact-card__phone::after {
        width: 100%;
    }

    .footer-desktop-contact-card .op-footer-email-link {
        position: relative;
        display: inline-block;
        font-size: 15.5px;
        font-weight: 700;
        word-break: break-word;
        text-decoration: none !important;
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    .footer-desktop-contact-card .op-footer-email-link::after {
        content: "" !important;
        display: block !important;
        position: absolute;
        left: 0;
        bottom: 1px;
        width: 0 !important;
        height: 1px;
        background-color: #086CDC;
        background-image: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%);
        -webkit-background-clip: border-box !important;
        background-clip: border-box !important;
        -webkit-transition: width 0.28s ease;
        transition: width 0.28s ease;
        pointer-events: none;
        z-index: 1;
    }

    .footer-desktop-contact-card .op-footer-email-link:hover::after,
    .footer-desktop-contact-card .op-footer-email-link:focus-visible::after {
        width: 100% !important;
    }

    .footer-desktop-contact-card .op-footer-email-reveal {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 30px;
        padding: 3px 15px;
        border: 1.5px solid transparent;
        border-radius: 999px;
        font-size: 14.5px;
        font-weight: 700;
        line-height: 1.1;
        white-space: nowrap;
        text-decoration: none !important;
        color: transparent;
        -webkit-text-fill-color: transparent;
        background-image:
            linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%),
            linear-gradient(#fff, #fff),
            linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        background-origin: border-box;
        background-clip: text, padding-box, border-box;
    }

    .footer-desktop-contact-card .op-footer-email-reveal:hover,
    .footer-desktop-contact-card .op-footer-email-reveal:focus-visible {
        filter: brightness(1.06);
    }

    .footer-desktop-contact-card__hours {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

    .footer-desktop-contact-card__hours-days {
        font-size: 15.5px;
        font-weight: 700;
        line-height: 1.25;
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    .footer-desktop-contact-card__hours-time {
        font-size: 15px;
        font-weight: 500;
        color: #667085;
        line-height: 1.3;
    }

    .footer-desktop-contact-card__regs {
        display: flex;
        flex-direction: column;
        gap: 4px;
        margin-top: 4px;
        padding-top: 12px;
        border-top: 1px solid #e6eef8;
        font-size: 13px;
        line-height: 1.35;
        color: #5b6b8c;
    }

    .footer-desktop-contact-card__regs b {
        font-weight: 700;
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    /* --- Social card: same width as contact card --- */
    .footer-mobile-socials,
    .op-footer-wrap__nav--contacts.footer-mobile-company-grid > .footer-mobile-socials {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        /* Match contact width: don't expand the column beyond contact */
        width: 0 !important;
        min-width: 100%;
        max-width: none !important;
        margin: 0;
        padding: 14px 12px;
        text-align: center;
        grid-column: auto;
        justify-self: stretch;
        box-sizing: border-box;
    }

    .footer-mobile-socials__title,
    .op-footer-wrap__nav--contacts-title.footer-mobile-socials__title {
        display: none !important;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials {
        display: flex;
        justify-content: center;
        flex-wrap: nowrap;
        gap: 8px;
        width: 100%;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item,
    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item svg {
        width: 30px;
        height: 30px;
        min-width: 30px;
        max-width: 30px;
    }

    /* Same as funding logos: muted gray idle → full color on hover (desktop only) */
    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item {
        -webkit-filter: saturate(0);
        filter: saturate(0);
        opacity: 1;
        -webkit-transition: -webkit-filter 0.3s ease, filter 0.3s ease, -webkit-transform 0.2s ease;
        transition: filter 0.3s ease, transform 0.2s ease;
    }

    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item:hover,
    .footer-mobile-socials .op-footer-wrap__nav--contacts-socials .op-item:focus-visible {
        -webkit-filter: saturate(1);
        filter: saturate(1);
        opacity: 1;
        cursor: pointer;
    }

    /* --- Menu cards: equal width; min = RU plaque width, grow if lang text is longer --- */
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) {
        max-width: none;
        width: 100%;
        min-width: var(--ft-menu-card-min);
        padding: 18px 24px 16px 18px;
        margin: 0;
        box-sizing: border-box;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-wrap__nav--menu-title {
        display: block;
        margin: 0 0 14px;
        font-size: 17px;
        font-weight: 700;
        letter-spacing: -0.01em;
        line-height: 1.25;
        color: inherit;
        -webkit-text-fill-color: inherit;
        background: none;
        -webkit-background-clip: border-box;
        background-clip: border-box;
    }

    /* Gradient on the text node itself (clip on the wrapper does not paint through the span) */
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-wrap__nav--menu-text {
        display: inline-block;
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    /* Title plaque icons stay hidden on desktop (screenshot: text-only card titles) */
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-wrap__nav--menu-icon {
        display: none !important;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li {
        margin: 0;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a.op-footer-mnav-link {
        display: flex;
        align-items: center;
        gap: 9px;
        min-height: 34px;
        padding: 4px 0;
        color: #475467;
        font-size: 14.5px;
        font-weight: 600;
        line-height: 1.25;
        text-decoration: none;
        transition: color 0.2s ease;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:hover,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:focus-visible {
        color: #0a2f9a;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-mnav-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        min-width: 28px;
        border-radius: 50%;
        background: #eef1f6;
        background-image: none;
        color: #667085;
        transition: background 0.2s ease, color 0.2s ease;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-mnav-icon svg {
        display: block;
        width: 14px;
        height: 14px;
    }

    /* Default: muted gray strokes; blue gradient on hover */
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-mnav-icon svg * {
        stroke: #667085 !important;
        transition: stroke 0.2s ease;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-mnav-icon[data-op-icon="ukraine"] svg * {
        stroke: none !important;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:hover .op-footer-mnav-icon,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:focus-visible .op-footer-mnav-icon {
        background: #e7f1fb;
        background-image: linear-gradient(145deg, #f3f8fd 0%, #e0edfa 100%);
        color: #086cdc;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:hover .op-footer-mnav-icon svg *,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:focus-visible .op-footer-mnav-icon svg * {
        stroke: url(#ft_mnav_grad) !important;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:hover .op-footer-mnav-icon[data-op-icon="ukraine"] svg *,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:focus-visible .op-footer-mnav-icon[data-op-icon="ukraine"] svg * {
        stroke: none !important;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-mnav-label {
        flex: 1 1 auto;
        min-width: 0;
        margin-right: 40px; /* space text → chevron; chevron stays at card edge */
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #475467;
        -webkit-text-fill-color: #475467;
        background: none;
        -webkit-background-clip: border-box;
        background-clip: border-box;
        transition: color 0.2s ease, -webkit-text-fill-color 0.2s ease;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:hover .op-footer-mnav-label,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:focus-visible .op-footer-mnav-label {
        background: linear-gradient(91.91deg, var(--ft-mnav-grad-from, #092B96) 0%, var(--ft-mnav-grad-to, #086CDC) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) .op-footer-mnav-chevron {
        display: inline-block;
        flex: 0 0 auto;
        width: 7px;
        height: 7px;
        margin-left: 0;
        margin-right: 0;
        border-right: 2px solid #98a2b3;
        border-bottom: 2px solid #98a2b3;
        border-image: none;
        transform: rotate(-45deg);
        opacity: 0.95;
        transition: border-color 0.2s ease;
    }

    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:hover .op-footer-mnav-chevron,
    .op-footer-wrap__nav--menu:not(.op-footer-wrap__nav--legal) ul li a:focus-visible .op-footer-mnav-chevron {
        border-right-color: transparent;
        border-bottom-color: transparent;
        border-image: linear-gradient(135deg, var(--ft-mnav-grad-from, #092B96), var(--ft-mnav-grad-to, #086CDC)) 1;
        opacity: 0.95;
    }

    /* Legal notice + bottom bar: same width as plaques row.
       width:0 + min-width:100% so spanning text does NOT expand max-content grid. */
    .op-footer-wrap__nav--menu.op-footer-wrap__nav--legal,
    .op-footer-wrap__bottom {
        grid-column: 1 / -1;
        width: 0;
        min-width: 100%;
        max-width: 100%;
        justify-self: stretch;
        box-sizing: border-box;
    }

    .op-footer-wrap__nav--menu.op-footer-wrap__nav--legal {
        background: transparent;
        border: 0;
        box-shadow: none;
        padding: 0;
    }

    .op-footer-wrap__nav--legal .op-footer-wrap__notice {
        margin-top: 10px;
        padding-bottom: 0;
    }

    .op-footer-wrap__bottom {
        margin-top: 12px; /* with grid gap 16px ≈ previous 28px nav margin */
    }
}

/* === assets/css/footer-form.css === */
/* Footer form — brand gradient accents (blue elements only) */

.op-form-wrap__content--title span,
.op-form-wrap__data--title span {
  background: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.op-form-wrap__content--phone {
  color: #131313;
  transition: color 0.3s ease;
}

.op-form-wrap__content--phone svg {
  flex-shrink: 0;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.op-form-wrap__content--phone span {
  background: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.op-form-wrap__content--phone span::after {
  background: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
  background-color: transparent !important;
}

.op-form-wrap__content--phone:hover svg,
.op-form-wrap__content--phone:focus-visible svg {
  transform: rotate(8deg) scale(1.06);
  filter: drop-shadow(0 6px 12px rgba(8, 108, 220, 0.28));
}

/* Footer contact email UI lives in assets/css/footer.css (stage 2).
   This file keeps CF7 / modal form validation styles only. */

/* -------------------------------------------------------------------------- */
/* CF7 visual errors — footer (.op-form) + #notariusz modal                   */
/* -------------------------------------------------------------------------- */

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .visually-hidden,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-not-valid-tip,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-response-output,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .screen-reader-response {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) form.wpcf7-form.invalid .wpcf7-response-output,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) form.wpcf7-form.unaccepted .wpcf7-response-output,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) form.wpcf7-form.failed .wpcf7-response-output,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) form.wpcf7-form.spam .wpcf7-response-output {
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap {
  position: relative;
  display: block;
}

/* Generic text / email / date / textarea */
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error > input.wpcf7-form-control:not(.real-phone):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error > textarea.wpcf7-form-control,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.wpcf7-not-valid) > input.wpcf7-form-control:not(.real-phone):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.wpcf7-not-valid) > textarea.wpcf7-form-control {
  border-color: #e62d5b !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  background-color: #fff !important;
  box-shadow: none !important;
  outline: none;
  padding-right: 44px !important;
  transition: border-color 0.2s ease;
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:not(:has(.iti)):not(:has(.choices)):not(:has(.wpcf7-checkbox)):not(:has(.wpcf7-acceptance)):not(:has(.wpcf7-radio))::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(> .wpcf7-not-valid):not(:has(.iti)):not(:has(.choices)):not(:has(.wpcf7-checkbox)):not(:has(.wpcf7-acceptance)):not(:has(.wpcf7-radio))::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(input:not([type="checkbox"]):not([type="radio"]):not(.real-phone)):not(:has(textarea)):not(:has(.iti))::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(input.wpcf7-not-valid):not(:has(textarea)):not(:has(.iti))::before {
  content: "!";
  position: absolute;
  right: 14px;
  top: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e62d5b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  pointer-events: none;
  transform: translateY(-50%);
}

/* Phone / intl-tel-input */
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.iti).op-form-field--error .iti::after,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.iti):has(.wpcf7-not-valid) .iti::after {
  content: "!";
  position: absolute;
  right: 14px;
  top: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e62d5b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  pointer-events: none;
  transform: translateY(-50%);
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.iti).op-form-field--error .iti,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.iti):has(.wpcf7-not-valid) .iti {
  border: 1.5px solid #e62d5b;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  box-sizing: border-box;
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.iti).op-form-field--error .iti .iti__tel-input,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.iti):has(.wpcf7-not-valid) .iti .iti__tel-input {
  border-color: transparent !important;
  border-width: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  outline: none;
  padding-right: 44px !important;
}

/* Choices selects */
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error .choices__inner,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(select.wpcf7-not-valid) .choices__inner {
  border: 1.5px solid #e62d5b !important;
  box-shadow: none !important;
  background: #fff !important;
  padding-right: 52px !important;
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(.choices)::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(select.wpcf7-not-valid):has(.choices)::before {
  content: "!";
  position: absolute;
  right: 36px;
  top: 50%;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e62d5b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
}

/* Checkbox / acceptance / radio groups */
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(.wpcf7-checkbox) .wpcf7-list-item-label::after,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(.wpcf7-acceptance) .wpcf7-list-item-label::after,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.wpcf7-checkbox .wpcf7-not-valid) .wpcf7-list-item-label::after,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.wpcf7-acceptance .wpcf7-not-valid) .wpcf7-list-item-label::after {
  border-color: #e62d5b;
  border-width: 1.5px;
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(.wpcf7-checkbox)::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(.wpcf7-acceptance)::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.wpcf7-checkbox .wpcf7-not-valid)::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.wpcf7-acceptance .wpcf7-not-valid)::before {
  content: "!";
  position: absolute;
  right: 0;
  top: 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e62d5b;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  pointer-events: none;
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap[data-name="checkbox-626"].op-form-field--error::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap[data-name="checkbox-626"]:has(.wpcf7-not-valid)::before {
  top: 50%;
  transform: translateY(-50%);
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(.wpcf7-checkbox) .wpcf7-list-item-label,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(.wpcf7-acceptance) .wpcf7-list-item-label {
  padding-right: 28px;
}

/* Notariusz: scrollable modal (do NOT use overflow:visible — hides Next) */
#modalNotariusz.modal,
.service5-notariusz-modal.modal {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  align-items: flex-start;
  padding: 24px 12px;
  box-sizing: border-box;
}

#modalNotariusz .modal-wrap,
.service5-notariusz-modal .modal-wrap {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: min(90vh, 972px);
  margin: auto;
}

#modalNotariusz .choices,
.service5-notariusz-modal .choices {
  overflow: visible;
}

#modalNotariusz .choices__list--dropdown,
.service5-notariusz-modal .choices__list--dropdown {
  z-index: 1400;
}

@media (max-width: 767px) {
  :is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error::before,
  :is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(.iti).op-form-field--error .iti::after {
    width: 18px;
    height: 18px;
    font-size: 11px;
  }
}

:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap.op-form-field--error:has(> textarea)::before,
:is(.op-form, .modal, #modalNotariusz, #modalCallback, #modalConsultation, #modalGift, #modalOne, #modalTwo, .service5-notariusz-modal, .op-contacts-wrap__content--form, .op-contacts) .wpcf7-form-control-wrap:has(> textarea.wpcf7-not-valid)::before {
  top: 18px;
  transform: none;
}

/* Phone: readable spacing after dial code while typing */
.op-form .iti--allow-dropdown input.iti__tel-input,
.op-form input.phone,
.modal .iti--allow-dropdown input.iti__tel-input,
.modal input.phone,
#modalNotariusz .iti--allow-dropdown input.iti__tel-input,
#modalNotariusz input.phone,
.op-contacts-wrap__content--form .iti--allow-dropdown input.iti__tel-input,
.op-contacts-wrap__content--form input.phone {
  letter-spacing: 0.01em;
}

/* Button spacing: do NOT force 20/28 on .op-cf7-submit — that made
   gaps above/below the CTA larger than the pre-2026-09-10 footer form.
   Keep theme/CF7 defaults (as in form-space-mask backup). */

/* op-form-errors-20260910-btn-space-revert */

/* === assets/css/oneplus-tables.css === */
/**
 * ONE PLUS — universal content tables
 * Scoped to main content wrappers only (not wp-admin / plugin UIs).
 */

.article-wrap__content--text .oneplus-table-wrap,
.ttx .oneplus-table-wrap,
.blog-wrap .oneplus-table-wrap,
.entry-content .oneplus-table-wrap,
.op-blog-content .oneplus-table-wrap,
.site-main .oneplus-table-wrap {
  --op-table-blue: #086cdc;
  --op-table-blue-deep: #092b96;
  --op-table-text: #1a2438;
  --op-table-muted: #5b6475;
  --op-table-line: #d9e6f7;
  --op-table-head: #eef5ff;
  --op-table-icon-bg: #e8f1ff;
  --op-table-radius: 16px;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 24px;
  padding: 0;
  border: 1px solid var(--op-table-line);
  border-radius: var(--op-table-radius);
  background: #fff;
  box-shadow: 0 10px 28px rgba(9, 43, 150, 0.06);
  overflow: hidden;
  box-sizing: border-box;
}

.article-wrap__content--text .oneplus-table-wrap--scroll,
.ttx .oneplus-table-wrap--scroll,
.blog-wrap .oneplus-table-wrap--scroll,
.entry-content .oneplus-table-wrap--scroll,
.op-blog-content .oneplus-table-wrap--scroll,
.site-main .oneplus-table-wrap--scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.article-wrap__content--text table.oneplus-table,
.ttx table.oneplus-table,
.blog-wrap table.oneplus-table,
.entry-content table.oneplus-table,
.op-blog-content table.oneplus-table,
.site-main table.oneplus-table {
  width: 100% !important;
  max-width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  color: var(--op-table-text);
  table-layout: auto;
}

.article-wrap__content--text table.oneplus-table th,
.article-wrap__content--text table.oneplus-table td,
.ttx table.oneplus-table th,
.ttx table.oneplus-table td,
.blog-wrap table.oneplus-table th,
.blog-wrap table.oneplus-table td,
.entry-content table.oneplus-table th,
.entry-content table.oneplus-table td,
.op-blog-content table.oneplus-table th,
.op-blog-content table.oneplus-table td,
.site-main table.oneplus-table th,
.site-main table.oneplus-table td {
  border: 0 !important;
  border-bottom: 1px solid var(--op-table-line) !important;
  border-right: 1px solid var(--op-table-line) !important;
  padding: 16px 18px !important;
  vertical-align: middle !important;
  font-size: 15px;
  line-height: 1.45;
  color: var(--op-table-text);
  word-break: normal;
  overflow-wrap: break-word;
  background: #fff;
  width: auto !important; /* ignore broken editor % widths that sum >100% */
}

.article-wrap__content--text table.oneplus-table th:last-child,
.article-wrap__content--text table.oneplus-table td:last-child,
.ttx table.oneplus-table th:last-child,
.ttx table.oneplus-table td:last-child,
.blog-wrap table.oneplus-table th:last-child,
.blog-wrap table.oneplus-table td:last-child,
.entry-content table.oneplus-table th:last-child,
.entry-content table.oneplus-table td:last-child,
.op-blog-content table.oneplus-table th:last-child,
.op-blog-content table.oneplus-table td:last-child,
.site-main table.oneplus-table th:last-child,
.site-main table.oneplus-table td:last-child {
  border-right: 0 !important;
}

.article-wrap__content--text table.oneplus-table tr:last-child > *,
.ttx table.oneplus-table tr:last-child > *,
.blog-wrap table.oneplus-table tr:last-child > *,
.entry-content table.oneplus-table tr:last-child > *,
.op-blog-content table.oneplus-table tr:last-child > *,
.site-main table.oneplus-table tr:last-child > * {
  border-bottom: 0 !important;
}

.article-wrap__content--text table.oneplus-table thead th,
.article-wrap__content--text table.oneplus-table tr.oneplus-table__head th,
.ttx table.oneplus-table thead th,
.ttx table.oneplus-table tr.oneplus-table__head th,
.blog-wrap table.oneplus-table thead th,
.blog-wrap table.oneplus-table tr.oneplus-table__head th,
.entry-content table.oneplus-table thead th,
.entry-content table.oneplus-table tr.oneplus-table__head th,
.op-blog-content table.oneplus-table thead th,
.op-blog-content table.oneplus-table tr.oneplus-table__head th,
.site-main table.oneplus-table thead th,
.site-main table.oneplus-table tr.oneplus-table__head th {
  background: var(--op-table-head) !important;
  color: #131313;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.01em;
}

/* First / label column: fluid by content — wrap, never overflow.
   Do NOT use nowrap here (long Parameter labels must wrap inside the cell). */
.article-wrap__content--text table.oneplus-table--cols-3 th:first-child,
.article-wrap__content--text table.oneplus-table--cols-3 td:first-child,
.article-wrap__content--text table.oneplus-table--cols-4 th:first-child,
.article-wrap__content--text table.oneplus-table--cols-4 td:first-child,
.ttx table.oneplus-table--cols-3 th:first-child,
.ttx table.oneplus-table--cols-3 td:first-child,
.ttx table.oneplus-table--cols-4 th:first-child,
.ttx table.oneplus-table--cols-4 td:first-child,
.blog-wrap table.oneplus-table--cols-3 th:first-child,
.blog-wrap table.oneplus-table--cols-3 td:first-child,
.blog-wrap table.oneplus-table--cols-4 th:first-child,
.blog-wrap table.oneplus-table--cols-4 td:first-child,
.entry-content table.oneplus-table--cols-3 th:first-child,
.entry-content table.oneplus-table--cols-3 td:first-child,
.entry-content table.oneplus-table--cols-4 th:first-child,
.entry-content table.oneplus-table--cols-4 td:first-child,
.site-main table.oneplus-table--cols-3 th:first-child,
.site-main table.oneplus-table--cols-3 td:first-child,
.site-main table.oneplus-table--cols-4 th:first-child,
.site-main table.oneplus-table--cols-4 td:first-child {
  width: auto;
  min-width: 6.5em;
  max-width: 42%;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}

/* Remaining columns share space fluidly */
.article-wrap__content--text table.oneplus-table--cols-3 th:not(:first-child),
.article-wrap__content--text table.oneplus-table--cols-3 td:not(:first-child),
.article-wrap__content--text table.oneplus-table--cols-4 th:not(:first-child),
.article-wrap__content--text table.oneplus-table--cols-4 td:not(:first-child),
.ttx table.oneplus-table--cols-3 th:not(:first-child),
.ttx table.oneplus-table--cols-3 td:not(:first-child),
.ttx table.oneplus-table--cols-4 th:not(:first-child),
.ttx table.oneplus-table--cols-4 td:not(:first-child),
.blog-wrap table.oneplus-table--cols-3 th:not(:first-child),
.blog-wrap table.oneplus-table--cols-3 td:not(:first-child),
.blog-wrap table.oneplus-table--cols-4 th:not(:first-child),
.blog-wrap table.oneplus-table--cols-4 td:not(:first-child),
.entry-content table.oneplus-table--cols-3 th:not(:first-child),
.entry-content table.oneplus-table--cols-3 td:not(:first-child),
.entry-content table.oneplus-table--cols-4 th:not(:first-child),
.entry-content table.oneplus-table--cols-4 td:not(:first-child),
.site-main table.oneplus-table--cols-3 th:not(:first-child),
.site-main table.oneplus-table--cols-3 td:not(:first-child),
.site-main table.oneplus-table--cols-4 th:not(:first-child),
.site-main table.oneplus-table--cols-4 td:not(:first-child) {
  width: auto;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
}

/* 2-col (service / price): first column can grow with content, still wraps */
.article-wrap__content--text table.oneplus-table--cols-2 td:first-child,
.article-wrap__content--text table.oneplus-table--cols-2 th:first-child,
.ttx table.oneplus-table--cols-2 td:first-child,
.ttx table.oneplus-table--cols-2 th:first-child,
.blog-wrap table.oneplus-table--cols-2 td:first-child,
.blog-wrap table.oneplus-table--cols-2 th:first-child,
.entry-content table.oneplus-table--cols-2 td:first-child,
.entry-content table.oneplus-table--cols-2 th:first-child,
.site-main table.oneplus-table--cols-2 td:first-child,
.site-main table.oneplus-table--cols-2 th:first-child {
  width: auto;
  max-width: 70%;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}

/* Exception: first column is row numbers (No. / 1 2 3…) — keep it compact */
.article-wrap__content--text table.oneplus-table.oneplus-table--index-first th:first-child,
.article-wrap__content--text table.oneplus-table.oneplus-table--index-first td:first-child,
.ttx table.oneplus-table.oneplus-table--index-first th:first-child,
.ttx table.oneplus-table.oneplus-table--index-first td:first-child,
.blog-wrap table.oneplus-table.oneplus-table--index-first th:first-child,
.blog-wrap table.oneplus-table.oneplus-table--index-first td:first-child,
.entry-content table.oneplus-table.oneplus-table--index-first th:first-child,
.entry-content table.oneplus-table.oneplus-table--index-first td:first-child,
.site-main table.oneplus-table.oneplus-table--index-first th:first-child,
.site-main table.oneplus-table.oneplus-table--index-first td:first-child {
  width: 1% !important;
  max-width: 92px !important;
  padding-left: 12px !important;
  padding-right: 10px !important;
  white-space: nowrap;
  vertical-align: middle !important;
  text-align: center;
}

.article-wrap__content--text table.oneplus-table.oneplus-table--index-first .oneplus-table__label,
.ttx table.oneplus-table.oneplus-table--index-first .oneplus-table__label,
.blog-wrap table.oneplus-table.oneplus-table--index-first .oneplus-table__label,
.entry-content table.oneplus-table.oneplus-table--index-first .oneplus-table__label,
.site-main table.oneplus-table.oneplus-table--index-first .oneplus-table__label {
  justify-content: center;
  gap: 8px;
  min-height: 32px;
  width: auto;
}

.article-wrap__content--text table.oneplus-table.oneplus-table--index-first .oneplus-table__ico,
.ttx table.oneplus-table.oneplus-table--index-first .oneplus-table__ico,
.blog-wrap table.oneplus-table.oneplus-table--index-first .oneplus-table__ico,
.entry-content table.oneplus-table.oneplus-table--index-first .oneplus-table__ico,
.site-main table.oneplus-table.oneplus-table--index-first .oneplus-table__ico {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

.article-wrap__content--text table.oneplus-table.oneplus-table--index-first .oneplus-table__ico svg,
.ttx table.oneplus-table.oneplus-table--index-first .oneplus-table__ico svg,
.blog-wrap table.oneplus-table.oneplus-table--index-first .oneplus-table__ico svg,
.entry-content table.oneplus-table.oneplus-table--index-first .oneplus-table__ico svg,
.site-main table.oneplus-table.oneplus-table--index-first .oneplus-table__ico svg {
  width: 16px;
  height: 16px;
}

.article-wrap__content--text table.oneplus-table.oneplus-table--index-first .oneplus-table__text,
.ttx table.oneplus-table.oneplus-table--index-first .oneplus-table__text,
.blog-wrap table.oneplus-table.oneplus-table--index-first .oneplus-table__text,
.entry-content table.oneplus-table.oneplus-table--index-first .oneplus-table__text,
.site-main table.oneplus-table.oneplus-table--index-first .oneplus-table__text {
  flex: 0 0 auto;
  font-weight: 700;
  color: var(--op-table-blue-deep);
}

.article-wrap__content--text table.oneplus-table td.oneplus-table__cell--price,
.ttx table.oneplus-table td.oneplus-table__cell--price,
.blog-wrap table.oneplus-table td.oneplus-table__cell--price,
.entry-content table.oneplus-table td.oneplus-table__cell--price,
.site-main table.oneplus-table td.oneplus-table__cell--price {
  color: var(--op-table-text);
  font-weight: 400;
  text-align: right;
  white-space: nowrap;
}

.article-wrap__content--text table.oneplus-table td.oneplus-table__cell--price strong,
.ttx table.oneplus-table td.oneplus-table__cell--price strong,
.blog-wrap table.oneplus-table td.oneplus-table__cell--price strong,
.entry-content table.oneplus-table td.oneplus-table__cell--price strong,
.site-main table.oneplus-table td.oneplus-table__cell--price strong {
  color: inherit;
  font-weight: inherit;
}

.article-wrap__content--text table.oneplus-table th.oneplus-table__cell--price,
.ttx table.oneplus-table th.oneplus-table__cell--price,
.blog-wrap table.oneplus-table th.oneplus-table__cell--price,
.entry-content table.oneplus-table th.oneplus-table__cell--price,
.site-main table.oneplus-table th.oneplus-table__cell--price {
  text-align: right;
}

.article-wrap__content--text table.oneplus-table td.oneplus-table__cell--free,
.ttx table.oneplus-table td.oneplus-table__cell--free,
.blog-wrap table.oneplus-table td.oneplus-table__cell--free,
.entry-content table.oneplus-table td.oneplus-table__cell--free,
.site-main table.oneplus-table td.oneplus-table__cell--free {
  color: #17835a;
  font-weight: 700;
}

/* Icon + service name: always vertically centered to each other (all tables, all langs) */
.article-wrap__content--text table.oneplus-table .oneplus-table__label,
.ttx table.oneplus-table .oneplus-table__label,
.blog-wrap table.oneplus-table .oneplus-table__label,
.entry-content table.oneplus-table .oneplus-table__label,
.site-main table.oneplus-table .oneplus-table__label {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 36px;
  box-sizing: border-box;
  white-space: normal !important;
  flex-wrap: nowrap;
}

.article-wrap__content--text table.oneplus-table .oneplus-table__ico,
.ttx table.oneplus-table .oneplus-table__ico,
.blog-wrap table.oneplus-table .oneplus-table__ico,
.entry-content table.oneplus-table .oneplus-table__ico,
.site-main table.oneplus-table .oneplus-table__ico {
  flex: 0 0 auto;
  align-self: center !important;
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--op-table-icon-bg);
  color: var(--op-table-blue);
}

.article-wrap__content--text table.oneplus-table .oneplus-table__ico svg,
.ttx table.oneplus-table .oneplus-table__ico svg,
.blog-wrap table.oneplus-table .oneplus-table__ico svg,
.entry-content table.oneplus-table .oneplus-table__ico svg,
.site-main table.oneplus-table .oneplus-table__ico svg {
  width: 20px;
  height: 20px;
  display: block;
}

.article-wrap__content--text table.oneplus-table .oneplus-table__text,
.ttx table.oneplus-table .oneplus-table__text,
.blog-wrap table.oneplus-table .oneplus-table__text,
.entry-content table.oneplus-table .oneplus-table__text,
.site-main table.oneplus-table .oneplus-table__text {
  min-width: 0;
  flex: 1 1 auto;
  align-self: center !important;
  display: block;
  line-height: 1.35;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: manual;
}

.article-wrap__content--text table.oneplus-table .oneplus-table__text > *:first-child,
.ttx table.oneplus-table .oneplus-table__text > *:first-child,
.blog-wrap table.oneplus-table .oneplus-table__text > *:first-child,
.entry-content table.oneplus-table .oneplus-table__text > *:first-child,
.site-main table.oneplus-table .oneplus-table__text > *:first-child {
  margin-top: 0;
}

.article-wrap__content--text table.oneplus-table .oneplus-table__text > *:last-child,
.ttx table.oneplus-table .oneplus-table__text > *:last-child,
.blog-wrap table.oneplus-table .oneplus-table__text > *:last-child,
.entry-content table.oneplus-table .oneplus-table__text > *:last-child,
.site-main table.oneplus-table .oneplus-table__text > *:last-child {
  margin-bottom: 0;
}

/* Keep every column (1–5 / wide) vertically middle in the row */
.article-wrap__content--text table.oneplus-table td.oneplus-table__cell--price,
.article-wrap__content--text table.oneplus-table td.oneplus-table__cell--term,
.article-wrap__content--text table.oneplus-table td.oneplus-table__cell--free,
.ttx table.oneplus-table td.oneplus-table__cell--price,
.ttx table.oneplus-table td.oneplus-table__cell--term,
.ttx table.oneplus-table td.oneplus-table__cell--free,
.blog-wrap table.oneplus-table td.oneplus-table__cell--price,
.blog-wrap table.oneplus-table td.oneplus-table__cell--term,
.blog-wrap table.oneplus-table td.oneplus-table__cell--free,
.entry-content table.oneplus-table td.oneplus-table__cell--price,
.entry-content table.oneplus-table td.oneplus-table__cell--term,
.entry-content table.oneplus-table td.oneplus-table__cell--free,
.site-main table.oneplus-table td.oneplus-table__cell--price,
.site-main table.oneplus-table td.oneplus-table__cell--term,
.site-main table.oneplus-table td.oneplus-table__cell--free {
  vertical-align: middle !important;
}

.article-wrap__content--text table.oneplus-table a,
.ttx table.oneplus-table a,
.blog-wrap table.oneplus-table a,
.entry-content table.oneplus-table a,
.site-main table.oneplus-table a {
  color: var(--op-table-blue-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.article-wrap__content--text table.oneplus-table a:focus-visible,
.ttx table.oneplus-table a:focus-visible,
.blog-wrap table.oneplus-table a:focus-visible,
.entry-content table.oneplus-table a:focus-visible,
.site-main table.oneplus-table a:focus-visible {
  outline: 2px solid var(--op-table-blue);
  outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
  .article-wrap__content--text table.oneplus-table tbody tr:hover > td,
  .ttx table.oneplus-table tbody tr:hover > td,
  .blog-wrap table.oneplus-table tbody tr:hover > td,
  .entry-content table.oneplus-table tbody tr:hover > td,
  .site-main table.oneplus-table tbody tr:hover > td {
    background: #f8fbff !important;
  }
}

/* Mobile card layout for simple 2–4 col tables */
@media (max-width: 720px) {
  .article-wrap__content--text .oneplus-table-wrap:not(.oneplus-table-wrap--complex):not(.oneplus-table-wrap--wide),
  .ttx .oneplus-table-wrap:not(.oneplus-table-wrap--complex):not(.oneplus-table-wrap--wide),
  .blog-wrap .oneplus-table-wrap:not(.oneplus-table-wrap--complex):not(.oneplus-table-wrap--wide),
  .entry-content .oneplus-table-wrap:not(.oneplus-table-wrap--complex):not(.oneplus-table-wrap--wide),
  .site-main .oneplus-table-wrap:not(.oneplus-table-wrap--complex):not(.oneplus-table-wrap--wide) {
    border: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    margin-bottom: 24px;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide),
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide),
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide),
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide),
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) {
    display: block;
    width: 100% !important;
  }

  /* Hide header row on mobile cards. Prefer display:none — the old
     position:absolute + width:1px pattern lost to `tr { width:100% !important }`
     when RU tables use tr.oneplus-table__head (no <thead>), causing a ~14–390px
     horizontal page overflow (white strip on the right). */
  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) thead,
  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr.oneplus-table__head,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) thead,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr.oneplus-table__head,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) thead,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr.oneplus-table__head,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) thead,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr.oneplus-table__head,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) thead,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr.oneplus-table__head {
    display: none !important;
    position: static;
    width: auto !important;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    clip: auto;
    white-space: normal;
    border: 0;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody,
  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr:not(.oneplus-table__head),
  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr:not(.oneplus-table__head),
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr:not(.oneplus-table__head),
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr:not(.oneplus-table__head),
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tr:not(.oneplus-table__head),
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td {
    display: block;
    width: 100% !important;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr {
    margin: 0 0 12px;
    padding: 14px 16px;
    border: 1px solid var(--op-table-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(9, 43, 150, 0.05);
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr:last-child,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr:last-child,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr:last-child,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr:last-child,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) tbody tr:last-child {
    margin-bottom: 0;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td {
    border: 0 !important;
    border-bottom: 1px solid #eef2f7 !important;
    padding: 10px 0 !important;
    text-align: left !important;
    white-space: normal;
    /* Drop desktop column caps — cards are stacked full-width */
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: manual;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child {
    max-width: none !important;
    width: 100% !important;
    padding-top: 0 !important;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__label,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__label,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__label,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__label,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__label {
    width: 100%;
    max-width: 100%;
    align-items: flex-start !important;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__text,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__text,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__text,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__text,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) .oneplus-table__text {
    flex: 1 1 auto;
    width: auto;
    max-width: 100%;
    font-weight: 600;
    line-height: 1.4;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:last-child,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:last-child,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:last-child,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:last-child,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td::before,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td::before,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td::before,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td::before,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td::before {
    content: attr(data-label);
    display: block;
    margin: 0 0 4px;
    color: var(--op-table-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
  }

  .article-wrap__content--text table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child::before,
  .ttx table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child::before,
  .blog-wrap table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child::before,
  .entry-content table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child::before,
  .site-main table.oneplus-table:not(.oneplus-table--complex):not(.oneplus-table--cols-wide) td:first-child::before {
    display: none;
  }

  .article-wrap__content--text table.oneplus-table .oneplus-table__ico,
  .ttx table.oneplus-table .oneplus-table__ico,
  .blog-wrap table.oneplus-table .oneplus-table__ico,
  .entry-content table.oneplus-table .oneplus-table__ico,
  .site-main table.oneplus-table .oneplus-table__ico {
    width: 32px;
    height: 32px;
  }

  .article-wrap__content--text table.oneplus-table .oneplus-table__ico svg,
  .ttx table.oneplus-table .oneplus-table__ico svg,
  .blog-wrap table.oneplus-table .oneplus-table__ico svg,
  .entry-content table.oneplus-table .oneplus-table__ico svg,
  .site-main table.oneplus-table .oneplus-table__ico svg {
    width: 18px;
    height: 18px;
  }
}

/* === assets/css/blog.css === */
/* Blog hub — gradient controls + slider layout. Cards keep the theme's original static look. */

:root {
    --blog-gradient: linear-gradient(91.91deg, #092b96 0%, #086cdc 100%);
}

/* Category filters — active pill uses the brand gradient, no animation */
.blog-wrap__top .item {
    position: relative;
    border-radius: 100px;
    border: 1px solid #dce6f2;
    background: #fff;
    color: #131313;
}

.blog-wrap__top .item.active {
    border-color: transparent;
    color: #fff !important;
    background: var(--blog-gradient) !important;
}

/* Section header */
.blog-wrap__head {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    flex: 1 1 auto;
}

.blog-wrap__head .blog-wrap__title,
.blog-wrap__head h2 {
    margin: 0;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 700;
}

.blog-wrap__nav {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    margin-left: auto;
}

.blog-wrap__nav.is-hidden,
.blog-wrap__arrow.is-hidden {
    display: none;
}

.blog-wrap__see-all {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 6px;
    min-height: 40px;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
}

/* Slider arrows — round, gradient */
.blog-wrap__arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: var(--blog-gradient);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transform: none !important;
}

.blog-wrap__arrow svg {
    transform: none !important;
}

.blog-wrap__arrow.slick-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* See-all + card buttons — expert "О компании" style with shine slash */
.blog-wrap__flex > .btn,
.blog-wrap__see-all.btn,
.blog-wrap__list .item .btn,
.loadMoreBtn {
    position: relative;
    overflow: hidden;
    z-index: 0;
    border: 0 !important;
    color: #fff !important;
    background: linear-gradient(145deg, #2a8ef0 0%, #2380eb 45%, #092b96 100%) !important;
    box-shadow: 0 10px 24px rgba(35, 128, 235, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease, color 0.28s ease;
}

.blog-wrap__flex > .btn::before,
.blog-wrap__see-all.btn::before,
.blog-wrap__list .item .btn::before {
    content: none;
    display: none;
}

.blog-wrap__flex > .btn::after,
.blog-wrap__see-all.btn::after,
.blog-wrap__list .item .btn::after,
.loadMoreBtn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.34) 48%, transparent 100%);
    transform: translateX(-130%);
    transition: transform 0.55s ease;
    pointer-events: none;
}

.blog-wrap__flex > .btn:hover::after,
.blog-wrap__flex > .btn:focus-visible::after,
.blog-wrap__see-all.btn:hover::after,
.blog-wrap__see-all.btn:focus-visible::after,
.blog-wrap__list .item .btn:hover::after,
.blog-wrap__list .item .btn:focus-visible::after,
.loadMoreBtn:hover::after,
.loadMoreBtn:focus-visible::after {
    transform: translateX(130%);
}

.blog-wrap__flex > .btn:hover,
.blog-wrap__flex > .btn:focus-visible,
.blog-wrap__see-all.btn:hover,
.blog-wrap__see-all.btn:focus-visible,
.blog-wrap__list .item .btn:hover,
.blog-wrap__list .item .btn:focus-visible,
.loadMoreBtn:hover,
.loadMoreBtn:focus-visible {
    background: linear-gradient(145deg, #3b9af5 0%, #2a8ef0 45%, #0a349f 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(35, 128, 235, 0.34), 0 0 0 4px rgba(35, 128, 235, 0.16);
}

.blog-wrap__list .item .btn svg {
    position: relative;
    z-index: 1;
}

/* Load more — compact pill that never stretches into a card, even as a flex item */
.loadMoreBtn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto !important;
    align-self: center !important;
    margin: 40px auto 0 !important;
    min-width: 0 !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    max-width: 320px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 16px 36px !important;
    border-radius: 999px !important;
    font-weight: 700;
}

/* Force the button onto its own full-width row so it centers below the cards */
.blog-wrap__list--flex > .loadMoreBtn,
.blog-wrap__list > .loadMoreBtn {
    order: 999;
}

.blog-wrap__list--flex::after {
    content: "";
    flex-basis: 100%;
    height: 0;
    order: 998;
}

/* Date badge — gradient */
.blog-wrap__list .item-image__date {
    color: #fff;
    background: var(--blog-gradient);
}

/* Slider layout only — no card animation. Each card sits inside a .blog-slide
   wrapper so the gutter (padding) shows between cards instead of merging them. */
.blog-wrap__slider {
    margin-top: 20px;
}

.blog-wrap__list--slider {
    display: block;
    margin: 20px 0 0;
}

.blog-wrap__list--slider:not(.slick-initialized) {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    margin: 20px -8px 0;
}

.blog-wrap__list--slider:not(.slick-initialized)::-webkit-scrollbar {
    display: none;
}

.blog-wrap__list--slider:not(.slick-initialized) > .blog-slide {
    flex: 0 0 33.333%;
}

.blog-wrap__list--slider .slick-list {
    margin: 0 -8px;
}

.blog-wrap__list--slider .slick-track {
    display: flex;
    align-items: stretch;
}

.blog-wrap__list--slider .slick-slide {
    height: auto;
}

.blog-wrap__list--slider .item {
    width: 100%;
    margin: 0;
    height: 100%;
}

@media (max-width: 1100px) {
    .blog-wrap__head .blog-wrap__title,
    .blog-wrap__head h2 {
        font-size: 26px;
    }

    .blog-wrap__arrow {
        width: 36px;
        height: 36px;
    }

    .blog-wrap__list--slider:not(.slick-initialized) > .blog-slide {
        flex-basis: 50%;
    }
}

@media (max-width: 640px) {
    .blog-wrap__flex {
        flex-wrap: wrap;
        gap: 12px;
    }

    .blog-wrap__head {
        width: 100%;
        justify-content: space-between;
    }

    .blog-wrap__flex > .btn {
        width: 100%;
        text-align: center;
    }

    .blog-wrap__list--slider:not(.slick-initialized) > .blog-slide {
        flex-basis: 88%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .blog-wrap__flex > .btn,
    .blog-wrap__list .item .btn,
    .blog-wrap__flex > .btn::after,
    .blog-wrap__list .item .btn::after,
    .loadMoreBtn,
    .loadMoreBtn::after {
        transition: none;
    }

    .blog-wrap__flex > .btn:hover,
    .blog-wrap__list .item .btn:hover,
    .loadMoreBtn:hover {
        transform: none;
    }
}

/* Blog single — centered interactive rating plaque (like cases sidebar, but centered) */
.op-blog-rating {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 420px;
    margin: 28px auto 8px;
    padding: 22px 24px 20px;
    box-sizing: border-box;
    border-radius: 18px;
    border: 1px solid #e6ecf4;
    background-color: #fff;
    background-image: url("../img/main-old/bg-article.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-shadow: 0 10px 28px rgba(9, 43, 150, 0.07);
    text-align: center;
    overflow: hidden;
}

.op-blog-rating__title {
    position: relative;
    z-index: 1;
    margin: 0 0 14px;
    color: #131313;
    font-size: 20px;
    line-height: 30px;
    font-weight: 600;
    text-align: center;
}

.op-blog-rating__stars {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    margin: 0 0 10px;
}

.op-blog-rating__stars .yasr-visitor-votes {
    width: 100%;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center !important;
}

.op-blog-rating__stars .yasr-vv-second-row-container {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.op-blog-rating__stars .yasr-visitor-votes,
.op-blog-rating__stars .yasr-vv-second-row-container,
.op-blog-rating__stars .yasr-rater-stars-vv {
    margin: 0 auto !important;
    float: none !important;
}

.op-blog-rating__stars .yasr-rater-stars-vv,
.op-blog-rating__stars .yasr-star-rating {
    cursor: pointer;
    pointer-events: auto !important;
}

.op-blog-rating .yasr-custom-text-vv-before,
.op-blog-rating .yasr-custom-text-vv-after,
.op-blog-rating .yasr-vv-stats-text-container,
.op-blog-rating .yasr-vv-bottom-container,
.op-blog-rating .yasr-vv-container-loader {
    display: none !important;
}

.op-blog-rating__count,
.op-blog-rating .rating-count {
    margin: 0;
    text-align: center;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 600;
    color: #131313;
}

@media (max-width: 767px) {
    .op-blog-rating {
        max-width: 100%;
        margin-top: 22px;
        padding: 18px 16px 16px;
    }

    .op-blog-rating__title {
        font-size: 18px;
        line-height: 26px;
        margin-bottom: 12px;
    }
}

/* === assets/css/single-author.css === */
.op-single-author {
    max-width: 980px; /* was 820px — ~+20% wider plate */
    width: 100%;
    margin: 34px auto 0;
    padding: 28px 30px;
    display: flex;
    /* Top-align: longer bio no longer vertically re-centers the avatar (CLS) */
    align-items: flex-start;
    gap: 28px;
    border: 1px solid #e6ecf4;
    border-radius: 20px;
    background-color: #fff;
    background-image: url("../img/main-old/bg-article.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    text-align: left;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}

.op-single-author__avatar {
    position: relative;
    z-index: 1;
    flex: 0 0 128px;
    width: 128px;
    height: 128px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    background: #eef3f9;
    box-shadow: 0 8px 22px rgba(9, 43, 150, 0.12);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    /* Reserve space even before image paints */
    contain: layout size;
}

.op-single-author__avatar:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(35, 128, 235, 0.2);
}

.op-single-author__avatar img {
    display: block;
    width: 128px;
    height: 128px;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.op-single-author__content {
    position: relative;
    z-index: 1;
    min-width: 0;
    flex: 1 1 auto;
    /* Optical align with circular avatar when top-aligned */
    padding-top: 4px;
}

/* Hero H1 style: dark blue → light blue shimmer */
.op-single-author__eyebrow {
    margin-bottom: 8px;
    font-family: Gilroy, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: linear-gradient(90deg, #092b96 0%, #086cdc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.op-single-author__name {
    display: inline-block;
    color: #131313;
    font-family: Gilroy, sans-serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: color 0.2s ease;
}

.op-single-author__name:hover {
    color: #2380eb;
}

.op-single-author__role {
    margin-top: 6px;
    color: #667285;
    font-family: Gilroy, sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.op-single-author__text {
    margin-top: 10px;
    color: #303846;
    font-family: Gilroy, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
}

/* Same pattern as blog "Zobacz więcej" (.blog-wrap__see-all.btn) */
.op-single-author__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    z-index: 0;
    width: fit-content;
    max-width: 100%;
    margin-top: 16px;
    min-height: 44px;
    padding: 10px 18px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(145deg, #2a8ef0 0%, #2380eb 45%, #092b96 100%);
    color: #fff !important;
    font-family: Gilroy, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(35, 128, 235, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
    -webkit-tap-highlight-color: transparent;
}

.op-single-author__link::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.34) 48%, transparent 100%);
    transform: translateX(-130%);
    transition: transform 0.55s ease;
    pointer-events: none;
}

.op-single-author__link:hover,
.op-single-author__link:focus-visible {
    color: #fff !important;
    background: linear-gradient(145deg, #3b9af5 0%, #2a8ef0 45%, #0a349f 100%);
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(35, 128, 235, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    outline: none;
}

.op-single-author__link:hover::after,
.op-single-author__link:focus-visible::after {
    transform: translateX(130%);
}

/* Tablet / large phone: keep row but tighten */
@media (max-width: 900px) {
    .op-single-author {
        max-width: 100%;
        padding: 24px;
        gap: 22px;
    }

    .op-single-author__avatar {
        flex-basis: 112px;
        width: 112px;
        height: 112px;
    }

    .op-single-author__avatar img {
        width: 112px;
        height: 112px;
    }

    .op-single-author__name {
        font-size: 24px;
    }
}

/* Phone: stack for readability + touch */
@media (max-width: 668px) {
    .op-single-author {
        margin-top: 24px;
        padding: 20px 18px 22px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 16px;
        border-radius: 18px;
    }

    .op-single-author__avatar {
        flex: 0 0 120px;
        width: 120px;
        height: 120px;
    }

    .op-single-author__avatar img {
        width: 120px;
        height: 120px;
    }

    .op-single-author__avatar:hover {
        transform: none;
    }

    .op-single-author__content {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .op-single-author__eyebrow {
        font-size: 12px;
        margin-bottom: 6px;
    }

    .op-single-author__name {
        font-size: 22px;
    }

    .op-single-author__role {
        font-size: 14px;
        max-width: 34em;
    }

    .op-single-author__text {
        font-size: 15px;
        line-height: 1.5;
        max-width: 36em;
    }

    .op-single-author__link {
        width: 100%;
        max-width: 320px;
        margin-top: 16px;
        min-height: 48px;
        padding: 12px 20px;
        font-size: 15px;
    }

    .op-single-author__link:hover,
    .op-single-author__link:focus-visible {
        transform: none;
    }
}

@media (max-width: 380px) {
    .op-single-author {
        padding: 18px 14px 20px;
    }

    .op-single-author__avatar {
        flex-basis: 108px;
        width: 108px;
        height: 108px;
    }

    .op-single-author__avatar img {
        width: 108px;
        height: 108px;
    }

    .op-single-author__name {
        font-size: 20px;
    }

    .op-single-author__link {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .op-single-author__avatar,
    .op-single-author__link,
    .op-single-author__link::after {
        transition: none;
    }
}

/* Blog auto-FAQ sits right under the author card — keep clear separation */
.op-blog-faq {
    margin-top: 56px;
    padding-top: 48px;
    padding-bottom: 72px;
    clear: both;
}

@media (max-width: 668px) {
    .op-blog-faq {
        margin-top: 36px;
        padding-top: 32px;
        padding-bottom: 48px;
    }
}

/* === assets/css/sidebar-contacts.css === */
/* Contacts pills (same design as services/blog). Own wrapper — not .article-wrap__sidebar. */
.op-cases-contacts {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 22px 18px 20px;
  border-radius: 18px;
  background: #f4f6fa;
  box-sizing: border-box;
}

.op-cases-contacts__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
}

.op-cases-contacts__title {
  margin: 0;
  color: #131313;
  font-size: 20px;
  line-height: 30px;
  font-weight: 600;
  flex: 1 1 auto;
  min-width: 0;
}

.op-cases-contacts__toggle {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #2380eb;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(9, 43, 150, 0.18);
  transition: transform 0.2s ease, background 0.2s ease;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  text-indent: 0;
}

.op-cases-contacts__toggle:hover,
.op-cases-contacts__toggle:focus-visible {
  background: #0a3aad;
  outline: none;
}

.op-cases-contacts__toggle-icon {
  position: relative;
  display: block;
  width: 14px;
  height: 14px;
}

.op-cases-contacts__toggle-icon::before,
.op-cases-contacts__toggle-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  border-radius: 1px;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.op-cases-contacts__toggle-icon::before {
  width: 14px;
  height: 2px;
}

.op-cases-contacts__toggle-icon::after {
  width: 2px;
  height: 14px;
}

.op-cases-contacts.is-open .op-cases-contacts__toggle-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.op-cases-contacts .op-service-contact-btns--sidebar {
  margin: 0;
  max-width: 100%;
  width: 100%;
}

.op-cases-contacts .op-service-contact-btns__grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100%;
  max-width: 100%;
}

.op-cases-contacts__extra {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}

.op-cases-contacts__extra[hidden] {
  display: none !important;
}

.op-cases-contacts a.op-service-contact-btns__btn,
.op-cases-contacts .op-service-contact-btns__btn {
  position: relative;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  overflow: hidden !important;
  z-index: 0;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 10px 16px 10px 12px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(145deg, #2a8ef0 0%, #2380eb 45%, #092b96 100%) !important;
  color: #fff !important;
  font-size: inherit !important;
  line-height: normal !important;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(9, 43, 150, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
  transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}

.op-cases-contacts a.op-service-contact-btns__btn:hover,
.op-cases-contacts a.op-service-contact-btns__btn:focus-visible,
.op-cases-contacts .op-service-contact-btns__btn:hover,
.op-cases-contacts .op-service-contact-btns__btn:focus-visible {
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(9, 43, 150, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  background: linear-gradient(145deg, #3a98f5 0%, #2a8ef0 40%, #0a3aad 100%) !important;
}

.op-cases-contacts .op-service-contact-btns__icon {
  position: relative !important;
  display: block !important;
  z-index: 1;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
  overflow: hidden;
}

.op-cases-contacts .op-service-contact-btns__icon::after {
  content: "" !important;
  position: absolute !important;
  inset: auto !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

.op-cases-contacts .op-service-contact-btns__btn--office .op-service-contact-btns__icon::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7.5 4.8c.5-1 1.6-1.3 2.5-.8l1.5.8c.8.4 1.1 1.4.7 2.2l-.7 1.4c-.2.5-.1 1 .2 1.4 1 1.3 2.3 2.5 3.7 3.4.4.3 1 .3 1.4.1l1.5-.7c.8-.4 1.8-.1 2.2.7l.8 1.5c.5.9.2 2-.8 2.5-1.2.6-2.7.8-4.1.3-3.2-1.2-6-3.9-7.1-.6-1.4-.5-3 .2-4.3Z' stroke='%23fff' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.op-cases-contacts .op-service-contact-btns__btn--email .op-service-contact-btns__icon::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7.5A2.5 2.5 0 0 1 6.5 5h11A2.5 2.5 0 0 1 20 7.5v9A2.5 2.5 0 0 1 17.5 19h-11A2.5 2.5 0 0 1 4 16.5v-9Z' stroke='%23fff' stroke-width='1.8'/%3E%3Cpath d='m5.5 7.5 6.5 5 6.5-5' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.op-cases-contacts .op-service-contact-btns__btn--viber .op-service-contact-btns__icon::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M11.4 2.1c-4.8.1-8.7 3.9-8.9 8.7-.1 2.3.7 4.4 2.1 6l-.7 3.3 3.4-.7c1.5 1 3.3 1.5 5.1 1.5h.2c4.9-.1 8.8-4.1 8.8-9 0-4.8-4-8.7-10-8.8Zm4.9 12.3c-.2.5-1.1.9-1.5 1-.4.1-.8.3-2.6-.6-2.2-1.1-3.6-3.5-3.7-3.7-.1-.2-.9-1.2-.9-2.3 0-1.1.6-1.6.8-1.8.2-.2.4-.3.6-.3h.4c.1 0 .3 0 .4.3.2.4.5 1.3.6 1.4.1.1.1.3 0 .4l-.3.4c-.1.1-.2.3-.1.5.1.2.5.8 1.1 1.3.7.7 1.3 1 1.5 1.1.2.1.3.1.5 0l.6-.7c.1-.2.3-.2.5-.1.2.1 1.2.6 1.4.7.2.1.3.2.4.3.1.1.1.6-.1 1.1Z'/%3E%3C/svg%3E") !important;
}

.op-cases-contacts .op-service-contact-btns__btn--telegram .op-service-contact-btns__icon::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M21.5 4.3 3.9 11.1c-1.2.5-1.2 1.1-.2 1.4l4.5 1.4 1.7 5.3c.2.6.1.8.7.8.5 0 .7-.2 1-.5l2.3-2.2 4.8 3.5c.9.5 1.5.2 1.7-.8L22.9 5.5c.3-1.2-.5-1.7-1.4-1.2ZM9.6 14.3l8.8-5.5c.4-.3.8-.1.5.2l-7.1 6.4-.3 3.1-1.9-4.2Z'/%3E%3C/svg%3E") !important;
}

.op-cases-contacts .op-service-contact-btns__btn--whatsapp .op-service-contact-btns__icon::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12.04 2c-5.46 0-9.91 4.43-9.91 9.88 0 1.74.46 3.44 1.33 4.94L2 22l5.35-1.4a9.93 9.93 0 0 0 4.69 1.19h.01c5.46 0 9.91-4.43 9.91-9.88C21.96 6.43 17.5 2 12.04 2Zm0 18.07h-.01a8.2 8.2 0 0 1-4.18-1.15l-.3-.18-3.17.83.85-3.09-.2-.32a8.14 8.14 0 0 1-1.25-4.36c0-4.5 3.68-8.16 8.2-8.16 4.52 0 8.2 3.66 8.2 8.16 0 4.5-3.68 8.16-8.14 8.16Zm4.5-6.12c-.25-.12-1.46-.72-1.69-.8-.23-.09-.39-.12-.56.12-.17.25-.64.8-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-2-1.23-.74-.66-1.24-1.47-1.38-1.72-.15-.25-.02-.39.11-.51.11-.11.25-.29.37-.43.12-.14.17-.25.25-.41.09-.17.04-.31-.02-.43-.06-.12-.56-1.35-.77-1.85-.2-.48-.41-.42-.56-.42h-.48c-.17 0-.43.06-.66.31-.23.25-.87.85-.87 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.24 3.74 1.49.64 1.91.65 2.6.55.42-.06 1.46-.6 1.67-1.17.21-.58.21-1.07.14-1.17-.06-.1-.23-.17-.48-.29Z'/%3E%3C/svg%3E") !important;
}

.op-cases-contacts .op-service-contact-btns__meta {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

.op-cases-contacts .op-service-contact-btns__label {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.op-cases-contacts .op-service-contact-btns__value {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 1.25 !important;
  word-break: break-word;
}

/* Blog single: sticky sidebar (related + contacts) — desktop only */
.op-blog-sidebar-col {
  position: sticky;
  top: 200px;
  width: 100%;
  max-width: 302px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 0 0 302px;
  align-self: flex-start;
}
.op-blog-sidebar-col .article-wrap__sidebar {
  position: static;
  top: auto;
  max-width: 100%;
  width: 100%;
}

/* Mobile duplicate: under article, before rating */
.op-blog-contacts-mobile {
  display: none;
  width: 100%;
  max-width: 980px;
  margin: 28px auto 0;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  /* No room in the column layout — hide entire sticky sidebar */
  .op-blog-sidebar-col {
    display: none !important;
  }
  .op-blog-contacts-mobile {
    display: block;
    margin: 32px 0 0;
    max-width: 100%;
  }
  .op-blog-contacts-mobile .op-cases-contacts {
    margin: 0;
  }
  .op-blog-rating {
    margin-top: 28px;
  }
}

/* === assets/css/service-order-cta.css === */
/* =========================================================
 * Service mid-article order CTA (KRK / clearance certificate)
 * ========================================================= */

.op-service-order-cta {
    --op-cta-blue: #2380eb;
    --op-cta-navy: #092b96;
    --op-cta-sky: #086cdc;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 28px 0 32px;
    box-sizing: border-box;
    border-radius: 22px;
    background: transparent;
    /* Soft shadow on the outer shell so it follows the radius
       without creating a rectangular plate under the corners */
    box-shadow: 0 12px 28px rgba(9, 43, 150, 0.1);
}

.op-service-order-cta__inner {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    padding: 28px 28px 26px;
    border-radius: 22px;
    border: 1px solid rgba(35, 128, 235, 0.18);
    background-color: #f7faff;
    background-image:
        radial-gradient(120% 90% at 100% 0%, rgba(35, 128, 235, 0.16) 0%, rgba(35, 128, 235, 0) 55%),
        linear-gradient(145deg, #f7faff 0%, #eef5ff 48%, #f8fafd 100%);
    background-repeat: no-repeat;
    background-origin: border-box;
    background-clip: border-box;
    /* Inset highlight only — drop-shadow lives on the outer shell */
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.op-service-order-cta__inner::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    bottom: 18px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--op-cta-navy) 0%, var(--op-cta-sky) 100%);
}

.op-service-order-cta__copy {
    position: relative;
    z-index: 1;
    padding-left: 10px;
}

.op-service-order-cta__eyebrow {
    margin: 0 0 8px;
    font-family: Gilroy, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    background: linear-gradient(90deg, #092b96 0%, #086cdc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.op-service-order-cta__title {
    margin: 0 0 10px;
    color: #131313;
    font-family: Gilroy, sans-serif;
    font-size: clamp(22px, 2.4vw, 28px);
    font-weight: 700;
    line-height: 1.25;
}

.op-service-order-cta__note {
    margin: 0;
    max-width: 42em;
    color: #405066;
    font-family: Gilroy, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
}

/* Desktop: let RU lead sit on one line (was wrapping on «ценам.» at 42em) */
@media (min-width: 1101px) {
    .op-service-order-cta__note {
        max-width: min(100%, 58em);
    }
}

.op-service-order-cta__channels {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 20px 0 0;
    padding: 0 0 0 10px;
    list-style: none !important;
}

.op-service-order-cta__channel {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Kill global .ttx ul li::before bullet dots inside this CTA */
.ttx .op-service-order-cta__channels,
.article-wrap__content--text.ttx .op-service-order-cta__channels,
.ttx ul.op-service-order-cta__channels,
.article-wrap__content--text.ttx ul.op-service-order-cta__channels {
    list-style: none !important;
    padding-left: 10px !important;
    margin-left: 0 !important;
}

.ttx .op-service-order-cta__channel,
.article-wrap__content--text.ttx .op-service-order-cta__channel,
.ttx .op-service-order-cta__channels > li,
.article-wrap__content--text.ttx .op-service-order-cta__channels > li {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    position: relative;
}

.ttx .op-service-order-cta__channel::before,
.ttx .op-service-order-cta__channel::after,
.ttx .op-service-order-cta__channels > li::before,
.ttx .op-service-order-cta__channels > li::after,
.article-wrap__content--text.ttx .op-service-order-cta__channel::before,
.article-wrap__content--text.ttx .op-service-order-cta__channel::after,
.article-wrap__content--text.ttx .op-service-order-cta__channels > li::before,
.article-wrap__content--text.ttx .op-service-order-cta__channels > li::after,
.ttx .op-service-order-cta__channel::marker,
.article-wrap__content--text.ttx .op-service-order-cta__channel::marker {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    background: none !important;
    box-shadow: none !important;
}

.op-service-order-cta__channel-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid #dce7f5;
    background: rgba(255, 255, 255, 0.92);
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(9, 43, 150, 0.05);
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    -webkit-tap-highlight-color: transparent;
}

.op-service-order-cta__channel-link:hover,
.op-service-order-cta__channel-link:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(35, 128, 235, 0.45);
    box-shadow: 0 10px 24px rgba(35, 128, 235, 0.16);
    outline: none;
}

.op-service-order-cta__icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background-color: #2380eb;
    background-image: linear-gradient(145deg, #2a8ef0 0%, #2380eb 45%, #092b96 100%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    box-shadow: 0 8px 18px rgba(35, 128, 235, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    position: relative;
}

.op-service-order-cta__icon::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.op-service-order-cta__channel--email .op-service-order-cta__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7.5A2.5 2.5 0 0 1 6.5 5h11A2.5 2.5 0 0 1 20 7.5v9A2.5 2.5 0 0 1 17.5 19h-11A2.5 2.5 0 0 1 4 16.5v-9Z' stroke='%23fff' stroke-width='1.8'/%3E%3Cpath d='m5.5 7.5 6.5 5 6.5-5' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.op-service-order-cta__channel--whatsapp .op-service-order-cta__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12.04 2c-5.46 0-9.91 4.43-9.91 9.88 0 1.74.46 3.44 1.33 4.94L2 22l5.35-1.4a9.93 9.93 0 0 0 4.69 1.19h.01c5.46 0 9.91-4.43 9.91-9.88C21.96 6.43 17.5 2 12.04 2Zm0 18.07h-.01a8.2 8.2 0 0 1-4.18-1.15l-.3-.18-3.17.83.85-3.09-.2-.32a8.14 8.14 0 0 1-1.25-4.36c0-4.5 3.68-8.16 8.2-8.16 4.52 0 8.2 3.66 8.2 8.16 0 4.5-3.68 8.16-8.14 8.16Zm4.5-6.12c-.25-.12-1.46-.72-1.69-.8-.23-.09-.39-.12-.56.12-.17.25-.64.8-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-2-1.23-.74-.66-1.24-1.47-1.38-1.72-.15-.25-.02-.39.11-.51.11-.11.25-.29.37-.43.12-.14.17-.25.25-.41.09-.17.04-.31-.02-.43-.06-.12-.56-1.35-.77-1.85-.2-.48-.41-.42-.56-.42h-.48c-.17 0-.43.06-.66.31-.23.25-.87.85-.87 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.24 3.74 1.49.64 1.91.65 2.6.55.42-.06 1.46-.6 1.67-1.17.21-.58.21-1.07.14-1.17-.06-.1-.23-.17-.48-.29Z'/%3E%3C/svg%3E");
}

.op-service-order-cta__channel--viber .op-service-order-cta__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M11.4 2.1c-4.8.1-8.7 3.9-8.9 8.7-.1 2.3.7 4.4 2.1 6l-.7 3.3 3.4-.7c1.5 1 3.3 1.5 5.1 1.5h.2c4.9-.1 8.8-4.1 8.8-9 0-4.8-4-8.7-10-8.8Zm4.9 12.3c-.2.5-1.1.9-1.5 1-.4.1-.8.3-2.6-.6-2.2-1.1-3.6-3.5-3.7-3.7-.1-.2-.9-1.2-.9-2.3 0-1.1.6-1.6.8-1.8.2-.2.4-.3.6-.3h.4c.1 0 .3 0 .4.3.2.4.5 1.3.6 1.4.1.1.1.3 0 .4l-.3.4c-.1.1-.2.3-.1.5.1.2.5.8 1.1 1.3.7.7 1.3 1 1.5 1.1.2.1.3.1.5 0l.6-.7c.1-.2.3-.2.5-.1.2.1 1.2.6 1.4.7.2.1.3.2.4.3.1.1.1.6-.1 1.1Z'/%3E%3C/svg%3E");
}

.op-service-order-cta__channel--telegram .op-service-order-cta__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M21.5 4.3 3.9 11.1c-1.2.5-1.2 1.1-.2 1.4l4.5 1.4 1.7 5.3c.2.6.1.8.7.8.5 0 .7-.2 1-.5l2.3-2.2 4.8 3.5c.9.5 1.5.2 1.7-.8L22.9 5.5c.3-1.2-.5-1.7-1.4-1.2ZM9.6 14.3l8.8-5.5c.4-.3.8-.1.5.2l-7.1 6.4-.3 3.1-1.9-4.2Z'/%3E%3C/svg%3E");
}

.op-service-order-cta__channel--messenger .op-service-order-cta__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 2C6.5 2 2 6.1 2 11.2c0 2.9 1.4 5.4 3.7 7.1V22l3.4-1.9c.9.3 1.9.4 2.9.4 5.5 0 10-4.1 10-9.3S17.5 2 12 2Zm1.1 12.5-2.5-2.7-4.9 2.7 5.4-5.7 2.6 2.7 4.8-2.7-5.4 5.7Z'/%3E%3C/svg%3E");
}

.op-service-order-cta__channel--office .op-service-order-cta__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7.5 4.8c.5-1 1.6-1.3 2.5-.8l1.5.8c.8.4 1.1 1.4.7 2.2l-.7 1.4c-.2.5-.1 1 .2 1.4 1 1.3 2.3 2.5 3.7 3.4.4.3 1 .3 1.4.1l1.5-.7c.8-.4 1.8-.1 2.2.7l.8 1.5c.5.9.2 2-.8 2.5-1.2.6-2.7.8-4.1.3-3.2-1.2-6-3.9-7.5-7.1-.6-1.4-.5-3 .2-4.3Z' stroke='%23fff' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.op-service-order-cta__meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.op-service-order-cta__label {
    color: #667285;
    font-family: Gilroy, sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.op-service-order-cta__value {
    color: #131313;
    font-family: Gilroy, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    word-break: break-word;
}

.op-service-order-cta__actions {
    position: relative;
    z-index: 1;
    margin-top: 18px;
    padding-left: 10px;
}

.op-service-order-cta__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    z-index: 0;
    width: fit-content;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(145deg, #2a8ef0 0%, #2380eb 45%, #092b96 100%);
    color: #fff !important;
    font-family: Gilroy, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(35, 128, 235, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}

.op-service-order-cta__btn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.34) 48%, transparent 100%);
    transform: translateX(-130%);
    transition: transform 0.55s ease;
    pointer-events: none;
}

.op-service-order-cta__btn:hover,
.op-service-order-cta__btn:focus-visible {
    color: #fff !important;
    background: linear-gradient(145deg, #3b9af5 0%, #2a8ef0 45%, #0a349f 100%);
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(35, 128, 235, 0.36), inset 0 1px 0 rgba(255, 255, 255, 0.24);
    outline: none;
}

.op-service-order-cta__btn:hover::after,
.op-service-order-cta__btn:focus-visible::after {
    transform: translateX(130%);
}

/* Dark article surfaces: keep the card readable */
.article-wrap__content--text.ttx .op-service-order-cta,
.ttx .op-service-order-cta,
.article-wrap__content--text.ttx .op-service-order-cta p,
.ttx .op-service-order-cta p,
.article-wrap__content--text.ttx .op-service-order-cta h3,
.ttx .op-service-order-cta h3 {
    color: #131313;
}

.article-wrap__content--text.ttx .op-service-order-cta__eyebrow,
.ttx .op-service-order-cta__eyebrow {
    background: linear-gradient(90deg, #092b96 0%, #086cdc 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.article-wrap__content--text.ttx .op-service-order-cta__note,
.ttx .op-service-order-cta__note,
.article-wrap__content--text.ttx .op-service-order-cta__label,
.ttx .op-service-order-cta__label {
    color: #667285;
    -webkit-text-fill-color: #667285;
}

.article-wrap__content--text.ttx .op-service-order-cta__value,
.ttx .op-service-order-cta__value,
.article-wrap__content--text.ttx .op-service-order-cta__title,
.ttx .op-service-order-cta__title {
    color: #131313;
    -webkit-text-fill-color: #131313;
}

.article-wrap__content--text.ttx .op-service-order-cta a,
.ttx .op-service-order-cta a {
    text-decoration: none;
    color: inherit;
}

.article-wrap__content--text.ttx .op-service-order-cta__btn,
.ttx .op-service-order-cta__btn {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
}

@media (min-width: 901px) {
    .op-service-order-cta__channels {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .op-service-order-cta__channel--office {
        grid-column: span 1;
    }
}

@media (max-width: 668px) {
    .op-service-order-cta {
        margin: 22px 0 26px;
        border-radius: 18px;
    }

    .op-service-order-cta__inner {
        padding: 22px 16px 20px;
        border-radius: 18px;
    }

    .op-service-order-cta__inner::before {
        top: 14px;
        bottom: 14px;
        width: 3px;
    }

    .op-service-order-cta__copy,
    .op-service-order-cta__channels,
    .op-service-order-cta__actions {
        padding-left: 8px;
    }

    .op-service-order-cta__title {
        font-size: 21px;
    }

    .op-service-order-cta__note {
        font-size: 15px;
    }

    .op-service-order-cta__channels {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 16px;
    }

    .op-service-order-cta__channel-link {
        min-height: 58px;
        padding: 11px 12px;
    }

    .op-service-order-cta__icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .op-service-order-cta__value {
        font-size: 14px;
    }

    .op-service-order-cta__btn {
        width: 100%;
        min-height: 50px;
        margin-top: 2px;
    }

    .op-service-order-cta__btn:hover,
    .op-service-order-cta__btn:focus-visible {
        transform: none;
    }
}

@media (max-width: 380px) {
    .op-service-order-cta__inner {
        padding: 18px 14px 18px;
    }

    .op-service-order-cta__title {
        font-size: 19px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .op-service-order-cta__channel-link,
    .op-service-order-cta__btn,
    .op-service-order-cta__btn::after,
    .op-service-contact-btns__btn,
    .op-service-contact-btns__btn::after {
        transition: none;
    }
}

/* End-of-article contact pills (Get Consultation style).
   Width = content; all pills share the widest button's size. */
.op-service-contact-btns {
    margin: 28px 0 36px;
    width: fit-content;
    max-width: 100%;
}

.op-service-contact-btns__title {
    margin: 0 0 16px;
    color: #131313;
    font-family: Gilroy, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
}

.op-service-contact-btns__grid {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    width: max-content;
    max-width: 100%;
    gap: 12px;
}

.op-service-contact-btns__btn {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    overflow: hidden;
    z-index: 0;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 58px;
    padding: 10px 22px 10px 12px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(145deg, #2a8ef0 0%, #2380eb 45%, #092b96 100%);
    color: #fff !important;
    text-decoration: none !important;
    /* Soft depth only — large blue blur stacks into a trail between pills */
    box-shadow: 0 4px 10px rgba(9, 43, 150, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22);
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}

/* Sidebar (Cases etc.): same equal-width column, capped by parent */
.op-service-contact-btns--sidebar {
    width: 100%;
    max-width: 100%;
}

.op-service-contact-btns--sidebar .op-service-contact-btns__grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
}

.op-service-contact-btns--sidebar .op-service-contact-btns__btn {
    width: 100%;
    max-width: 100%;
}

.op-service-contact-btns__btn::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.34) 48%, transparent 100%);
    transform: translateX(-130%);
    transition: transform 0.55s ease;
    pointer-events: none;
}

.op-service-contact-btns__btn:hover,
.op-service-contact-btns__btn:focus-visible {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(9, 43, 150, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.28);
    background: linear-gradient(145deg, #3a98f5 0%, #2a8ef0 40%, #0a3aad 100%);
}

.op-service-contact-btns__btn:hover::after,
.op-service-contact-btns__btn:focus-visible::after {
    transform: translateX(130%);
}

.op-service-contact-btns__icon {
    position: relative;
    z-index: 1;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.op-service-contact-btns__icon::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.op-service-contact-btns__btn--email .op-service-contact-btns__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7.5A2.5 2.5 0 0 1 6.5 5h11A2.5 2.5 0 0 1 20 7.5v9A2.5 2.5 0 0 1 17.5 19h-11A2.5 2.5 0 0 1 4 16.5v-9Z' stroke='%23fff' stroke-width='1.8'/%3E%3Cpath d='m5.5 7.5 6.5 5 6.5-5' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.op-service-contact-btns__btn--whatsapp .op-service-contact-btns__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12.04 2c-5.46 0-9.91 4.43-9.91 9.88 0 1.74.46 3.44 1.33 4.94L2 22l5.35-1.4a9.93 9.93 0 0 0 4.69 1.19h.01c5.46 0 9.91-4.43 9.91-9.88C21.96 6.43 17.5 2 12.04 2Zm0 18.07h-.01a8.2 8.2 0 0 1-4.18-1.15l-.3-.18-3.17.83.85-3.09-.2-.32a8.14 8.14 0 0 1-1.25-4.36c0-4.5 3.68-8.16 8.2-8.16 4.52 0 8.2 3.66 8.2 8.16 0 4.5-3.68 8.16-8.14 8.16Zm4.5-6.12c-.25-.12-1.46-.72-1.69-.8-.23-.09-.39-.12-.56.12-.17.25-.64.8-.79.97-.14.17-.29.19-.54.06-.25-.12-1.05-.39-2-1.23-.74-.66-1.24-1.47-1.38-1.72-.15-.25-.02-.39.11-.51.11-.11.25-.29.37-.43.12-.14.17-.25.25-.41.09-.17.04-.31-.02-.43-.06-.12-.56-1.35-.77-1.85-.2-.48-.41-.42-.56-.42h-.48c-.17 0-.43.06-.66.31-.23.25-.87.85-.87 2.07 0 1.22.89 2.4 1.01 2.56.12.17 1.75 2.67 4.24 3.74 1.49.64 1.91.65 2.6.55.42-.06 1.46-.6 1.67-1.17.21-.58.21-1.07.14-1.17-.06-.1-.23-.17-.48-.29Z'/%3E%3C/svg%3E");
}

.op-service-contact-btns__btn--viber .op-service-contact-btns__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M11.4 2.1c-4.8.1-8.7 3.9-8.9 8.7-.1 2.3.7 4.4 2.1 6l-.7 3.3 3.4-.7c1.5 1 3.3 1.5 5.1 1.5h.2c4.9-.1 8.8-4.1 8.8-9 0-4.8-4-8.7-10-8.8Zm4.9 12.3c-.2.5-1.1.9-1.5 1-.4.1-.8.3-2.6-.6-2.2-1.1-3.6-3.5-3.7-3.7-.1-.2-.9-1.2-.9-2.3 0-1.1.6-1.6.8-1.8.2-.2.4-.3.6-.3h.4c.1 0 .3 0 .4.3.2.4.5 1.3.6 1.4.1.1.1.3 0 .4l-.3.4c-.1.1-.2.3-.1.5.1.2.5.8 1.1 1.3.7.7 1.3 1 1.5 1.1.2.1.3.1.5 0l.6-.7c.1-.2.3-.2.5-.1.2.1 1.2.6 1.4.7.2.1.3.2.4.3.1.1.1.6-.1 1.1Z'/%3E%3C/svg%3E");
}

.op-service-contact-btns__btn--telegram .op-service-contact-btns__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M21.5 4.3 3.9 11.1c-1.2.5-1.2 1.1-.2 1.4l4.5 1.4 1.7 5.3c.2.6.1.8.7.8.5 0 .7-.2 1-.5l2.3-2.2 4.8 3.5c.9.5 1.5.2 1.7-.8L22.9 5.5c.3-1.2-.5-1.7-1.4-1.2ZM9.6 14.3l8.8-5.5c.4-.3.8-.1.5.2l-7.1 6.4-.3 3.1-1.9-4.2Z'/%3E%3C/svg%3E");
}

.op-service-contact-btns__btn--office .op-service-contact-btns__icon::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7.5 4.8c.5-1 1.6-1.3 2.5-.8l1.5.8c.8.4 1.1 1.4.7 2.2l-.7 1.4c-.2.5-.1 1 .2 1.4 1 1.3 2.3 2.5 3.7 3.4.4.3 1 .3 1.4.1l1.5-.7c.8-.4 1.8-.1 2.2.7l.8 1.5c.5.9.2 2-.8 2.5-1.2.6-2.7.8-4.1.3-3.2-1.2-6-3.9-7.1-.6-1.4-.5-3 .2-4.3Z' stroke='%23fff' stroke-width='1.7' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.op-service-contact-btns__meta {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 0 1 auto;
    min-width: 0;
}

.op-service-contact-btns__label {
    color: rgba(255, 255, 255, 0.82);
    font-family: Gilroy, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

.op-service-contact-btns__value {
    color: #fff;
    font-family: Gilroy, sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
}

.ttx .op-service-contact-btns,
.article-wrap__content--text.ttx .op-service-contact-btns,
.ttx .op-service-contact-btns p,
.article-wrap__content--text.ttx .op-service-contact-btns p,
.ttx .op-service-contact-btns h3,
.article-wrap__content--text.ttx .op-service-contact-btns h3 {
    margin-left: 0;
    padding-left: 0;
}

.ttx .op-service-contact-btns__title,
.article-wrap__content--text.ttx .op-service-contact-btns__title {
    color: #131313;
    font-size: 22px;
    font-weight: 700;
}

.ttx .op-service-contact-btns a,
.article-wrap__content--text.ttx .op-service-contact-btns a,
.ttx .op-service-contact-btns__btn,
.article-wrap__content--text.ttx .op-service-contact-btns__btn {
    color: #fff !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
}

@media (max-width: 668px) {
    .op-service-contact-btns {
        margin: 22px 0 28px;
        width: 100%;
        max-width: 100%;
    }

    .op-service-contact-btns__title {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .op-service-contact-btns__grid {
        display: flex;
        width: 100%;
        max-width: 100%;
        gap: 10px;
        align-items: stretch;
    }

    .op-service-contact-btns__btn {
        width: 100%;
        max-width: 100%;
        min-height: 52px;
        padding: 9px 14px 9px 10px;
        gap: 10px;
    }

    .op-service-contact-btns__icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .op-service-contact-btns__icon::after {
        width: 16px;
        height: 16px;
    }

    .op-service-contact-btns__btn:hover,
    .op-service-contact-btns__btn:focus-visible {
        transform: none;
    }

    .op-service-contact-btns__label,
    .op-service-contact-btns__value {
        white-space: normal;
    }

    .op-service-contact-btns__value {
        font-size: 13px;
        word-break: break-word;
    }
}

@media (max-width: 380px) {
    .op-service-contact-btns__value {
        font-size: 12px;
    }
}

/* === assets/css/op-home-reveal.css === */
/* Homepage scroll reveal — GPU-friendly, no layout shift (transform/opacity only). */
@media (prefers-reduced-motion: no-preference) {
  .op-reveal:not(.is-in) {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
  }

  .op-reveal {
    transition: opacity 0.55s ease, transform 0.55s ease;
  }
}

/* === assets/scroll-spy/op-scroll-spy.css === */
/* ONE PLUS — right-side section scroll spy (desktop + mobile) */

.op-scroll-spy {
  --op-spy-grad: linear-gradient(91.91deg, #092b96 0%, #086cdc 100%);
  --op-spy-blue: #086cdc;
  --op-spy-navy: #092b96;
  position: fixed;
  right: max(14px, env(safe-area-inset-right, 0px));
  top: 50%;
  transform: translateY(-50%);
  z-index: 998;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 12px 7px;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(8, 108, 220, 0.16);
  box-shadow: 0 8px 28px rgba(9, 43, 150, 0.1);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.op-scroll-spy.is-hidden {
  opacity: 0;
  transform: translateY(-50%) translateX(14px);
  pointer-events: none;
}

/* Instantly hide when the mobile header menu is open. */
.op-scroll-spy.is-menu-open,
body:has(.op-header-wrap__nav--active) .op-scroll-spy {
  opacity: 0 !important;
  visibility: hidden;
  pointer-events: none !important;
  transform: translateY(-50%) translateX(14px);
  transition: none;
}

.op-scroll-spy__dot {
  position: relative;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border: none;
  padding: 0;
  border-radius: 50%;
  background: rgba(9, 43, 150, 0.18);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.op-scroll-spy__dot.is-active {
  background: var(--op-spy-grad);
  transform: scale(1.2);
  box-shadow: 0 0 0 3px rgba(8, 108, 220, 0.22);
}

.op-scroll-spy__dot::after {
  content: attr(data-label);
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  white-space: nowrap;
  font-family: Gilroy, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.2;
  color: #131313;
  background: #fff;
  padding: 6px 12px;
  border-radius: 10px;
  border: 1px solid rgba(8, 108, 220, 0.14);
  box-shadow: 0 8px 22px rgba(9, 43, 150, 0.12);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.op-scroll-spy__dot:hover::after,
.op-scroll-spy__dot:focus-visible::after,
.op-scroll-spy__dot.is-active.is-label-shown::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

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

/* Anchor offset under sticky header */

@media (max-width: 1024px) {
  .op-scroll-spy {
    right: max(8px, env(safe-area-inset-right, 0px));
    gap: 8px;
    padding: 10px 6px;
    background: rgba(255, 255, 255, 0.9);
  }

  .op-scroll-spy__dot {
    width: 9px;
    height: 9px;
  }

  .op-scroll-spy__dot.is-active {
    transform: scale(1.15);
  }

  /* Touch: only the active section label (no hover). Keep it short. */
  .op-scroll-spy__dot::after {
    right: calc(100% + 8px);
    max-width: min(46vw, 148px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
    padding: 5px 9px;
    border-radius: 8px;
  }

  .op-scroll-spy__dot:hover::after {
    opacity: 0;
    transform: translateY(-50%) translateX(6px);
  }

  .op-scroll-spy__dot.is-active.is-label-shown::after,
  .op-scroll-spy__dot:focus-visible::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

@media (max-width: 480px) {
  .op-scroll-spy {
    right: max(6px, env(safe-area-inset-right, 0px));
    gap: 7px;
    padding: 9px 5px;
  }

  .op-scroll-spy__dot::after {
    max-width: min(42vw, 128px);
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .op-scroll-spy,
  .op-scroll-spy__dot,
  .op-scroll-spy__dot::after {
    transition: none;
  }
}

/* === style.css === */
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*!
Theme Name: one-plus v2
Theme URI: https://www.one-plus.pl/
Description: ONE PLUS WordPress theme v2
Author: ONE PLUS
Text Domain: onepluswp
Version: 2.0.0
*/

/* =========================================
 * ONE PLUS — TOC heading highlight START
 * Подсветка заголовков при клике по содержанию
 * ========================================= */

html {
    scroll-behavior: smooth;
}

.ttx h2,
.ttx h3,
h2[id],
h3[id] {
    scroll-margin-top: 140px;
}

@media (max-width: 768px) {
    .ttx h2,
    .ttx h3,
    h2[id],
    h3[id] {
        scroll-margin-top: 230px;
    }
}

@keyframes opHeadingFlash {

    0% {
        background: rgba(20, 55, 183, 0);
        box-shadow: 0 0 0 0 rgba(35, 128, 235, 0);
    }

    18% {
        background: rgba(35, 128, 235, 0.10);
        box-shadow: 0 0 0 8px rgba(35, 128, 235, 0.08);
    }

    55% {
        background: rgba(35, 128, 235, 0.07);
        box-shadow: 0 0 0 12px rgba(35, 128, 235, 0.04);
    }

    100% {
        background: rgba(20, 55, 183, 0);
        box-shadow: 0 0 0 0 rgba(35, 128, 235, 0);
    }
}

/* =========================================
 * ONE PLUS — TOC heading highlight END
 * ========================================= */



/* =========================================
 * ONE PLUS — TOC design START
 * Стили блока содержания
 * ========================================= */

.op-toc {
    /* Fallback before JS measures: ~3 items peek, ~6–7 items nudge */
    --op-toc-peek: 7.25rem;
    --op-toc-nudge: 16.5rem;
    background: #f8fafd;
    border: 1px solid #dce7f5;
    border-radius: 16px;
    padding: 18px 18px 16px;
    margin: 24px 0;
    position: relative;
}

.op-toc__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 40px;
    cursor: pointer;
    user-select: none;
}

.op-toc:not(.is-collapsed) .op-toc__head {
    cursor: default;
}

.op-toc__title,
.ttx .op-toc__title {
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 700;
    color: #131313;
}

.op-toc__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #cfe0f5;
    border-radius: 50%;
    background: #fff;
    color: #2380eb;
    font-family: inherit;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(9, 43, 150, .06);
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.op-toc.is-collapsed .op-toc__toggle {
    animation: op-toc-plus-pulse 2.4s ease-in-out infinite;
}

.op-toc:not(.is-collapsed) .op-toc__toggle {
    border-color: #e53935;
    background: #fff3f3;
    color: #e53935;
    box-shadow: 0 0 0 3px rgba(229, 57, 53, .14);
    animation: none;
}

.op-toc__toggle:hover,
.op-toc__toggle:focus-visible {
    outline: none;
    transform: translateY(-1px);
}

.op-toc:not(.is-collapsed) .op-toc__toggle:hover,
.op-toc:not(.is-collapsed) .op-toc__toggle:focus-visible {
    border-color: #d32f2f;
    background: #e53935;
    color: #fff;
    box-shadow: 0 4px 14px rgba(229, 57, 53, .34);
}

.op-toc.is-collapsed .op-toc__toggle:hover,
.op-toc.is-collapsed .op-toc__toggle:focus-visible {
    border-color: #2380eb;
    color: #2380eb;
    background: #eef5ff;
    box-shadow: 0 0 0 4px rgba(35, 128, 235, .14);
    animation: none;
}

.op-toc__toggle-icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.op-toc__toggle-svg {
    display: block;
    width: 14px;
    height: 14px;
}

.op-toc:not(.is-collapsed) .op-toc__toggle-icon--close {
    display: inline-flex;
}

.op-toc.is-collapsed .op-toc__toggle-icon--open {
    display: inline-flex;
}

.op-toc__panel {
    position: relative;
    overflow: hidden;
    max-height: none;
    opacity: 1;
    margin-top: 12px;
    margin-bottom: 0;
    transition: max-height .36s ease, opacity .24s ease, margin-top .24s ease;
}

/* Collapsed: clip only the panel (~3 items). Never lock .op-toc__list itself —
   otherwise JS peek→nudge animation cannot reveal items 4–5. */
.op-toc.is-collapsed .op-toc__panel,
.ttx .op-toc.is-collapsed .op-toc__panel {
    max-height: var(--op-toc-peek);
    opacity: 1;
    margin-top: 12px;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    visibility: visible;
    pointer-events: auto;
}

.op-toc.is-collapsed .op-toc__list,
.ttx .op-toc.is-collapsed .op-toc__list,
.op-toc.is-collapsed > .op-toc__list {
    max-height: none !important;
    overflow: visible !important;
}

.op-toc.is-collapsed .op-toc__panel::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    /* Thin edge fade only — must not wash out the 3rd visible item */
    height: 28px;
    background: linear-gradient(180deg, rgba(248, 250, 253, 0) 0%, #f8fafd 88%);
    pointer-events: none;
    z-index: 1;
}

.op-toc:not(.is-collapsed) .op-toc__panel::after {
    display: none;
}

.op-toc__hint {
    display: none;
    width: 100%;
    margin: 10px 0 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(35, 128, 235, .08);
    color: #1a5fbc;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.op-toc.is-collapsed .op-toc__hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.op-toc__hint:hover,
.op-toc__hint:focus-visible {
    outline: none;
    background: rgba(35, 128, 235, .14);
    color: #0f4ea3;
}

.op-toc__hint-chevron {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    color: #2380eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(9, 43, 150, .08);
}

.op-toc__hint-chevron svg {
    display: block;
    width: 10px;
    height: 10px;
}

.op-toc__list,
.ttx .op-toc__list,
.ttx ol.op-toc__list {
    list-style: none !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    counter-reset: op-toc-item;
}

.op-toc__item,
.ttx .op-toc__item,
.ttx ol.op-toc__list > li.op-toc__item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.35em;
    margin: 7px 0;
    padding-left: 0 !important;
    margin-left: 0 !important;
    line-height: 1.4;
    counter-increment: op-toc-item;
}

/* Fixed-width markers: digits start under title «С…», same font as list text */
.op-toc__item::before,
.ttx .op-toc__item::before,
.ttx ol.op-toc__list > li.op-toc__item::before {
    content: counter(op-toc-item) ".";
    flex: 0 0 1.85em;
    box-sizing: border-box;
    width: 1.85em;
    min-width: 1.85em;
    max-width: 1.85em;
    margin: 0;
    padding: 0;
    color: #09339f;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
    line-height: inherit;
    text-align: left;
    white-space: nowrap;
    letter-spacing: inherit;
}

.op-toc__item a {
    flex: 1 1 auto;
    min-width: 0;
    color: #09339f;
    text-decoration: none;
}

.op-toc__item a:hover,
.op-toc__item a:focus-visible {
    color: #2380eb;
    text-decoration: underline;
}

.op-toc__item:last-child,
.op-toc__list li:last-child {
    margin-bottom: 0;
}

.op-toc ol {
    margin-bottom: 0 !important;
}

/* Expand clearly from item 3 down to item 5, then ease back */
@keyframes op-toc-peek-nudge {
    0%,
    100% {
        max-height: var(--op-toc-peek);
    }
    12% {
        max-height: calc(var(--op-toc-peek) * 0.55 + var(--op-toc-nudge) * 0.45);
    }
    28%,
    48% {
        max-height: var(--op-toc-nudge);
    }
    62% {
        max-height: calc(var(--op-toc-peek) * 0.35 + var(--op-toc-nudge) * 0.65);
    }
    78% {
        max-height: var(--op-toc-nudge);
    }
}

@keyframes op-toc-plus-pulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(35, 128, 235, .22);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(35, 128, 235, 0);
        transform: scale(1.05);
    }
}

@media (max-width: 640px) {
    .op-toc {
        --op-toc-peek: 6.75rem;
        --op-toc-nudge: 16.75rem;
        padding: 14px 14px 12px;
        border-radius: 14px;
        margin: 20px 0;
    }

    .op-toc__item,
    .ttx .op-toc__item {
        gap: 0.35em;
        margin: 6px 0;
        font-size: 15px;
    }

    .op-toc__item::before,
    .ttx .op-toc__item::before,
    .ttx ol.op-toc__list > li.op-toc__item::before {
        flex: 0 0 1.9em;
        flex-basis: 1.9em;
        width: 1.9em;
        min-width: 1.9em;
        max-width: 1.9em;
    }

    .op-toc__head {
        min-height: 36px;
        gap: 10px;
    }

    .op-toc__title,
    .ttx .op-toc__title {
        font-size: 18px;
        line-height: 1.3;
    }

    .op-toc__toggle {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    .op-toc__toggle-svg {
        width: 13px;
        height: 13px;
    }

    .op-toc__hint {
        font-size: 13px;
        padding: 12px 12px;
        min-height: 44px;
    }

    .op-toc.is-collapsed .op-toc__panel::after {
        height: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .op-toc__panel,
    .op-toc__toggle,
    .op-toc__hint {
        transition: none;
    }

    .op-toc.is-collapsed .op-toc__toggle {
        animation: none;
    }
}

/* =========================================
 * ONE PLUS — TOC design END
 * ========================================= */

/* =========================================
 * Content CTA .btn — same as services hero .op-btn
 * Blog articles do not load service4.css, so keep this in theme style.css.
 * ========================================= */
.article-wrap__content--text .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 56px !important;
    padding: 4px 7px 4px 22px !important;
    border: 0 !important;
    border-radius: 50px !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    font-family: Gilroy, sans-serif !important;
    text-decoration: none !important;
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    transition: transform .3s ease, opacity .3s ease !important;
    cursor: pointer !important;
    margin-bottom: 4px !important;
}

.article-wrap__content--text .btn::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    border-radius: 50px !important;
    background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%) !important;
    z-index: -1 !important;
    transition: opacity .3s ease !important;
    pointer-events: none !important;
}

.article-wrap__content--text .btn::after {
    content: "" !important;
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    flex-shrink: 0 !important;
    background-image: url("data:image/svg+xml,<svg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'><circle cx='24' cy='24' r='21' fill='white'/><circle cx='24' cy='24' r='22.5' stroke='white' stroke-opacity='.31' stroke-width='3'/><path d='M19.1568 28.8432L28.098 19.902M28.098 19.902H21.0728M28.098 19.902V26.2885' stroke='%23092B96'/></svg>") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    transition: transform .3s ease !important;
}

.article-wrap__content--text .btn:hover,
.article-wrap__content--text .btn:focus-visible {
    color: #fff !important;
    transform: none !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.article-wrap__content--text .btn:hover::before,
.article-wrap__content--text .btn:focus-visible::before {
    opacity: .82 !important;
}

.article-wrap__content--text .btn:hover::after,
.article-wrap__content--text .btn:focus-visible::after {
    transform: rotate(90deg) !important;
}

@media (max-width: 767px) {
    .article-wrap__content--text .btn {
        display: inline-flex !important;
        justify-content: space-between !important;
        width: auto !important;
        max-width: 100% !important;
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
        border-radius: 50px !important;
        color: #fff !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        font-weight: 700 !important;
        padding: 4px 6px 4px 18px !important;
        min-height: 52px !important;
        margin-top: 8px !important;
    }

    .article-wrap__content--text .btn::before {
        background: linear-gradient(91.91deg, #092b96 0, #086cdc 100%) !important;
    }

    .article-wrap__content--text .btn::after {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
    }
}

@media (max-width: 640px) {
    .article-wrap__content--text .btn {
        font-size: 14px !important;
        padding: 3px 5px 3px 16px !important;
        min-height: 48px !important;
    }

    .article-wrap__content--text .btn::after {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .article-wrap__content--text .btn,
    .article-wrap__content--text .btn::before,
    .article-wrap__content--text .btn::after {
        transition: none !important;
    }
}


/* List padding handled by unified FAQ block at end of file (blue dots) */

.yasr-star-rating .yasr-star-value {
    background-image: url(https://www.one-plus.pl/wp-content/uploads/2026/05/0yasr_1.svg);
	height: 32px;
}

.yasr-star-rating {
    background-image: url(https://www.one-plus.pl/wp-content/uploads/2026/05/0yasr_0.svg);
}

/* YouTube full width fix — kill UA figure side margins (40px) */
.article-wrap__content--text figure.wp-block-embed,
.article-wrap__content--text figure.op-yt-embed {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 1.25em 0;
  box-sizing: border-box;
}

.rating-count {
    text-align: center;
    margin-left: 10px;
    margin-top: 5px;
}

/* Только для этого чекбокса CF7 */
@media (min-width: 1100px) {
	.page-id-1677 .op-contacts-wrap__content--form .op-cf7-submit input.wpcf7-submit.has-spinner.btn {
		padding: 12px 20px 12px 0;
    	text-align: center;
	}
	.page-id-1677 .op-contacts-wrap__content--form .wpcf7-spinner {
		display: none;
	}
}

@media (max-width: 640px) {
	.page-id-1677 .op-contacts-wrap__content--form .wpcf7-spinner {
		display: none;
	}
}

.iti__flag {
    width: 20px;
    height: 14px;
}

/* Hero .top — как у прайслиста: закругление снизу + типографика H1 */
.top {
	border-radius: 0 0 50px 50px;
	overflow: hidden;
}

.top-wrap__title {
    max-width: 70%;
	font-family: Gilroy, sans-serif;
	font-weight: 700;
	font-size: 52px;
	line-height: 68px;
	margin: 0 0 20px;
	color: #131313;
}

/* Single post H1 sits below the Blog hero — keep equal vertical air
   above/below the title card (style.min .title-single-post margin). */
h1.top-wrap__title.title-single-post {
	max-width: 100%;
	margin: 80px auto;
}

.top-wrap__title p {
	margin: 0;
	font: inherit;
	color: inherit;
}

@media (max-width: 767px) {
	.top {
		border-radius: 0 0 20px 20px;
	}

	.top-wrap__title {
		font-size: 26px;
		line-height: 35px;
		max-width: 100%;
	}

	h1.top-wrap__title.title-single-post {
		margin: 60px auto;
	}
}

.iti {
    width: 100%;
    margin-bottom: 15px;
}

.iti--inline-dropdown .iti__dropdown-content {
    top: auto !important;
    bottom: 100% !important;
    margin-bottom: 4px;
}

.wpcf7-list-item {
    margin: 0;
}

.wpcf7-list-item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    position: relative;
}

.wpcf7-list-item input {
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    opacity: 0;
}

.wpcf7-list-item .wpcf7-list-item-label {
    display: block;
    width: 100%;
    max-width: calc(100% - 26px);
    padding-left: 20px;
    font-size: 16px;
    line-height: 24px;
    color: #131313;
}

.wpcf7-list-item .wpcf7-list-item-label::after {
    content: '';
    display: block;
    width: 26px;
    height: 26px;
    border: solid 1px #D0D9E7;
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: -3px;
}

.wpcf7-list-item input:checked+.wpcf7-list-item-label::after {
    background: url('../img/main-old/check.svg') no-repeat center center / contain;
}

.wpcf7-list-item .wpcf7-list-item-label a {
    color: #E62D5B;
    text-decoration: underline;
}

.wpcf7-list-item .wpcf7-list-item-label a:hover {
    text-decoration: none;
}

.wpcf7-not-valid-tip {
    font-size: 14px;
    margin-top: 5px;
    margin-bottom: 5px;
}

.wpcf7-spinner {
    position: absolute;
    margin-top: -60px;
}

.ttx .btn {
    text-decoration: none;
    color: #fff;
}

.scroll {
    position: absolute;
    display: block;
    margin-top: -250px;
    overflow: hidden;
    visibility: hidden;
}

/* .help-wrap__flex {
    align-items: flex-start;
} */

/* Ð›Ð¸Ð½Ð¸Ñ Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ð¿ÑƒÐ½ÐºÑ‚Ð° â€” ÐºÑ€Ð°ÑÐ½Ð°Ñ */

/* Ð›Ð¸Ð½Ð¸Ñ Ð¿Ñ€Ð¸ Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð¸Ð¸ â€” ÑÐ¸Ð½ÑÑ */

.blog-wrap__list .item-image img,
.article-wrap__content--image img {
    -o-object-position: top;
       object-position: top;
}

/* Original theme override: style-old sets 458px, root style.css unlocks natural height */
.article-wrap__content--image {
    height: auto;
}

.article-wrap__content--image img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    -o-object-fit: initial;
       object-fit: initial;
    border-radius: 20px;
}

.top-wrap__text {
    max-width: 800px;
}

.blog-wrap__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.blog-wrap__flex a {
    color: #2380EB;
    font-weight: 500;
    padding: 10px 30px;
}

.blog-wrap__flex a:hover {
    text-decoration: underline;
}

.map {
    padding-bottom: 0;
}

.modal-wrap__title {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 15px;
    font-weight: 700;
}

.modal-wrap__form .wpcf7-list-item {
    display: block;
    margin-bottom: 10px;
}

.modal-wrap__form .cf7-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 30px;
    position: relative;
}

.modal-wrap__form .cf7-buttons .wpcf7-spinner {
    right: 0;
}

.modal-wrap__form .cf7-buttons .btn {
    width: 100%;
    max-width: 200px;
    margin: 0 !important;
    height: 60px !important;
}

.modal-wrap__form input,
.modal-wrap__form select,
.modal-wrap__form textarea {
    margin-bottom: 15px;
    padding: 15px 25px;
}

.modal-wrap__form .wpcf7-list-item input {
    margin: 0;
    padding: 0;
}

.blog-wrap__list .item-title {
    height: 49px;
}

.blog-wrap__list .item-text {
    height: 102px;
}

.loadMoreBtn {
    margin: 40px auto 0;
    color: #fff !important;
    opacity: 0;
}

.blog-wrap__list .item-image__date {
    color: #fff;
    background-color: #2380eb;
}

/* Service heroes — translucent breadcrumb plaque (like blog single date badge) */
.top .top-wrap > .bread {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    box-sizing: border-box;
    padding: 5px 12px;
    border-radius: 5px;
    background-color: rgba(248, 250, 253, 0.4);
}

/* Breadcrumbs site-wide: swipe to see full path on mobile (no … truncation) */
.bread,
.top-wrap .bread {
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.bread::-webkit-scrollbar,
.top-wrap .bread::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.bread li,
.top-wrap .bread li {
    flex-shrink: 0;
    min-width: auto;
    max-width: none;
}

.bread li:last-child,
.top-wrap .bread li:last-child,
.bread li:last-child a,
.bread li:last-child span,
.top-wrap .bread li:last-child a,
.top-wrap .bread li:last-child span {
    min-width: auto;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

.blog-wrap__flex a {
    color: #fff;
    text-decoration: none;
}

.blog-wrap__flex a:hover {
    text-decoration: none;
}

.article-wrap__content--flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 30px;
}

.article-wrap__content--flex-count {
    font-size: 20px;
    line-height: 30px;
    font-weight: 500;
}

.yasr-vv-stats-text-container,
.yasr-custom-text-vv-before,
.yasr-vv-bottom-container,
.yasr-vv-container-loader {
    display: none !important;
}

.rating-count {
    text-align: center;
    margin-left: 10px;
    margin-top: 5px;
}

/* Blog single — centered interactive rating plaque */
.op-blog-rating {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 420px;
    margin: 28px auto 8px;
    padding: 22px 24px 20px;
    box-sizing: border-box;
    border-radius: 18px;
    border: 1px solid #e6ecf4;
    background-color: #fff;
    background-image: url("../img/main-old/bg-article.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-shadow: 0 10px 28px rgba(9, 43, 150, 0.07);
    text-align: center;
    overflow: hidden;
}

.op-blog-rating__title {
    position: relative;
    z-index: 1;
    margin: 0 0 14px;
    color: #131313;
    font-size: 20px;
    line-height: 30px;
    font-weight: 600;
    text-align: center;
}

.op-blog-rating__stars {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    margin: 0 0 10px;
}

.op-blog-rating__stars .yasr-visitor-votes {
    width: 100%;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center !important;
}

.op-blog-rating__stars .yasr-vv-second-row-container {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.op-blog-rating__stars .yasr-visitor-votes,
.op-blog-rating__stars .yasr-vv-second-row-container,
.op-blog-rating__stars .yasr-rater-stars-vv {
    margin: 0 auto !important;
    float: none !important;
}

.op-blog-rating__stars .yasr-rater-stars-vv,
.op-blog-rating__stars .yasr-star-rating {
    cursor: pointer;
    pointer-events: auto !important;
}

.op-blog-rating .yasr-custom-text-vv-before,
.op-blog-rating .yasr-custom-text-vv-after,
.op-blog-rating .yasr-vv-stats-text-container,
.op-blog-rating .yasr-vv-bottom-container,
.op-blog-rating .yasr-vv-container-loader {
    display: none !important;
}

.op-blog-rating__count,
.op-blog-rating .rating-count {
    position: relative;
    z-index: 1;
    margin: 0;
    margin-left: 0;
    margin-top: 0;
    text-align: center;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 600;
    color: #131313;
}

@media (max-width: 767px) {
    .op-blog-rating {
        max-width: 100%;
        margin-top: 22px;
        padding: 18px 16px 16px;
    }

    .op-blog-rating__title {
        font-size: 18px;
        line-height: 26px;
        margin-bottom: 12px;
    }
}

/* ===== BLOG ===== */

.op-blog-top .op-container {
    position: relative;
}

.op-blog-top__deco {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 384px;
    height: 304px;
    overflow: hidden;
    pointer-events: none;
}

.op-blog-top__deco img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: bottom;
       object-position: bottom;
}

.op-blog {
    padding: 50px 0 70px;
}

.op-blog-filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 40px;
}

.op-blog-filter__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 10px 20px;
    border-radius: 5px;
    border: 1px solid #e6ecf4;
    font-family: Gilroy, sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #131313;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.4;
}

.op-blog-filter__btn.active,
.op-blog-filter__btn:hover {
    background: -o-linear-gradient(357.64deg, #092B96 0%, #086CDC 100%);
    background: linear-gradient(92.36deg, #092B96 0%, #086CDC 100%);
    border-color: transparent;
    border-radius: 10px;
    color: #fff;
}

.op-blog-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 22px;
}

.op-blog-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background: #f8fafd;
    border-radius: 20px;
    overflow: hidden;
    width: calc(33.333% - 15px);
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.op-blog-card:hover {
    -webkit-box-shadow: 0 10px 40px rgba(8, 108, 220, .12);
            box-shadow: 0 10px 40px rgba(8, 108, 220, .12);
}

.op-blog-card__image {
    position: relative;
    aspect-ratio: 3 / 2;
    border-radius: 16px;
    overflow: hidden;
    margin: 10px 10px 0;
}

.op-blog-card__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}

.op-blog-card__date {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #f8fafd;
    color: #777;
    font-family: Gilroy, sans-serif;
    font-size: 16px;
    font-weight: 400;
    padding: 3px 8px;
    border-radius: 5px;
    line-height: 1.4;
}

.op-blog-card__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 16px 20px 20px;
    gap: 10px;
}

.op-blog-card__title {
    font-family: Gilroy, sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #131313;
    line-height: 1.3;
}

.op-blog-card__text {
    font-family: Gilroy, sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #131313;
    line-height: 1.6;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.op-blog-card .op-btn {
    margin-top: 6px;
    min-height: 46px;
    font-size: 14px;
    padding-left: 20px;
    padding-right: 20px;
}

.op-blog-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px;
}

.op-blog-pagination a,
.op-blog-pagination span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 48px;
    height: 48px;
    padding: 0 6px;
    background: #f6f8fb;
    font-family: Gilroy, sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #131313;
    text-decoration: none;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    border-right: 1px solid #e6ecf4;
}

.op-blog-pagination a:first-child,
.op-blog-pagination span:first-child {
    border-radius: 5px 0 0 5px;
}

.op-blog-pagination a:last-child,
.op-blog-pagination span:last-child {
    border-radius: 0 5px 5px 0;
    border-right: none;
}

.op-blog-pagination span.current {
    background: #2380eb;
    color: #fff;
}

.op-blog-pagination a:hover {
    background: #e6ecf4;
}

@media (max-width: 1100px) {
    .op-blog-top__deco {
        width: 280px;
        height: 220px;
    }

    .op-blog-card {
        width: calc(50% - 11px);
    }
}

@media (max-width: 668px) {
    .op-blog-top__deco {
        display: none;
    }

    .op-blog-card {
        width: 100%;
    }

    .op-blog-filter__btn {
        font-size: 15px;
        padding: 8px 14px;
    }

    .op-blog {
        padding: 30px 0 50px;
    }
}

@media (max-width: 1500px) {
    .list {
        padding-top: 0;
    }
}

@media (max-width: 1024px) {

    .top-wrap__text {
        max-width: 75%;
    }

}

@media (max-width: 550px) {

    .list {
        padding-top: 30px;
    }

    .top-wrap__text {
        max-width: 83%;
    }

}

/* ===== SEARCH ===== */

/* =========================================================
   Header language switcher (desktop ≥1101px)
   Restore top:34px spacing (UA below RU) + positive z-index.
   Use display (not opacity/visibility) — opacity was stuck at 0
   in some browsers despite .open rules, so clicks hit .op-header.
   Mobile: untouched (.op-header-wrap__nav--top rules).
   ========================================================= */
@media (min-width: 1101px) {
    .op-header-wrap__meta--languages {
        position: relative;
        z-index: 50;
        overflow: visible;
    }

    .op-header-wrap__meta--languages ul ul {
        display: none;
        position: absolute;
        left: 0;
        top: 34px;
        width: 100%;
        margin: 0;
        padding: 14px 10px 6px;
        border-radius: 0 0 10px 10px;
        background: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        z-index: 51;
        transition: none;
    }

    .op-header-wrap__meta--languages ul ul li {
        margin: 0 0 5px;
        line-height: 1.35;
    }

    .op-header-wrap__meta--languages ul ul li:last-child {
        margin-bottom: 0;
    }

    .op-header-wrap__meta--languages ul ul a {
        display: block;
        position: relative;
        z-index: 1;
        padding: 2px 0;
        line-height: 1.35;
        color: #fff;
        pointer-events: auto;
    }

    .op-header-wrap__meta .open ul ul,
    .op-header-wrap__meta--languages.open ul ul {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 640px) {
	.modal-wrap .wpcf7-list-item label input {
		min-height: -webkit-fit-content;
		min-height: -moz-fit-content;
		min-height: fit-content;
	}
	.modal-wrap__close {
		cursor: pointer;
		text-align: right;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		margin-left: auto;
		font-weight: 700;
		font-size: 50px;
		-webkit-transition: .3s;
		-o-transition: .3s;
		transition: .3s;
		position: absolute;
		right: 25px;
		top: 25px;
		-webkit-transform: scale(0.8);
		    -ms-transform: scale(0.8);
		        transform: scale(0.8);
	}
}

/* Отзывы: свёрнутый текст + «Читать больше» (~4 строки / ~160 символов) */

/* После раскрытия — небольшой зазор перед датой / следующим рядом */

/* Высота карточки = контент: при «Свернуть» белый блок снова сжимается */

/* Только если текст длиннее лимита: мягкое затухание края без многоточия */

/* Главная: «Как мы работаем» — semantic h3 without changing card title look */

/* Главная: «Как мы работаем» — фото на ширину сетки карточек (mobile) */

/* Главная: «Как мы работаем» — отступ снизу перед «Почему мы» */

/* Контакты — плашка «Как нас найти» */

/* template-reviews.php — меньше отступ снизу */

/* CF7 submit: клик по всей кнопке через JS, отступы как раньше */
.op-cf7-submit {
	cursor: pointer;
}

/* =========================================================
   FAQ — open card: original faq.svg stretched full card
   ========================================================= */


.op-faq-wrap__list .op-item {
	position: relative;
	background-color: #fff;
	border: solid 1px #f0f2f5;
	border-radius: 20px;
	overflow: hidden;
	-webkit-transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
	-o-transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

/* Decorative curve: original faq.svg, stretched to full open card */

.op-faq-wrap__list .op-item::after {
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	width: auto !important;
	height: auto !important;
	border-radius: inherit;
	background-color: #f6f8fb !important;
	background-image: url("../img/main/faq.svg?v=20260909") !important;
	background-repeat: no-repeat !important;
	background-position: left top !important;
	background-size: 100% 100% !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 1;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}


.op-faq-wrap__list .op-item.open::after,
.op-faq-wrap__list .open::after {
	opacity: 1;
	visibility: visible;
}


.op-faq-wrap__list .op-item-top,
.op-faq-wrap__list .op-item-text {
	position: relative;
	z-index: 2;
}

/* Open card: single blue outline (no outer ring / no white gap) */

.op-faq-wrap__list .op-item.open {
	background-color: #f6f8fb !important;
	background-image: url("../img/main/faq.svg?v=20260909") !important;
	background-repeat: no-repeat !important;
	background-position: left top !important;
	background-size: 100% 100% !important;
	background-clip: border-box !important;
	border: 2px solid #2380eb !important;
	-webkit-box-shadow: 0 12px 30px rgba(9, 43, 150, 0.08);
	box-shadow: 0 12px 30px rgba(9, 43, 150, 0.08);
}


.op-faq-wrap__list .op-item.open .op-item-text {
	position: relative;
	padding-left: 0;
	border-left: 0 !important;
}

/* No extra blue vertical rail inside answers */

.op-faq-wrap__list .op-item.open .op-item-text::before {
	content: none !important;
	display: none !important;
}


.op-faq-wrap__list .op-item.open .op-item-top__title {
	color: inherit;
}


.op-faq-wrap__list .op-item.open .op-item-top__icon svg path {
	stroke: #2380eb !important;
}

/* Blue dots in answer lists (keep) */

.op-faq-wrap__list .op-item-text ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0 0 16px;
}


.op-faq-wrap__list .op-item-text ul li {
	position: relative;
	padding-left: 21px !important;
	margin-bottom: 12px;
	list-style: none !important;
}


.op-faq-wrap__list .op-item-text ul li:last-child {
	margin-bottom: 0;
}


.op-faq-wrap__list .op-item-text ul li::before {
	content: none !important;
	display: none !important;
}


.op-faq-wrap__list .op-item-text ul li::after {
	content: "" !important;
	display: block !important;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #2380eb;
	position: absolute;
	left: 0;
	top: 0.55em;
}

/* ==========================================================================
   Homepage mobile polish (Jak pracujemy / Dlaczego my / Nasza historia)
   Backup: wp-content/uploads/op-backups/homepage-mobile-20260908_152855
   Desktop unchanged — rules scoped to max-width: 640px
   ========================================================================== */
@media (max-width: 640px) {
	/* 1) Jak pracujemy — photo matches step cards width + soft frame */

	/* 2) Nasza historia — photo inset matches text card; buttons */

	/* Typografia: ближе к Historie klientów; expand fixes max-height clip */

	/* Expand — style like blog "Zobacz wszystkie" (.blog-wrap__see-all.btn) */

	/* 3) Dlaczego my — card body +1–2px, lighter line-height; titles stay black */

	/* Active/hover: red top line only — keep readable gray body text */

	/* 5) Local vertical rhythm — modest only */
}

/* ==========================================================================
   Nasza historia — DESKTOP redesign only (theme breakpoint ≥ 1101px)
   Mobile / tablet: visual parity below; swipe milestones preserved ≤1100
   ACF: title10, subtitle10, img10, text10, more10, list10, btn_text10, link10
   ========================================================================== */

/* --------------------------------------------------------------------------
   Mobile + tablet (≤1100): same visual language as desktop,
   keep original swipe timeline (2 items + hand hint)
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {

	/* Keep old swipe milestone look — hide desktop icon circles */

	/* Kim jesteśmy — same as hero .op-btn (gradient ::after + circle arrow), fit-content */
}

@media (min-width: 1101px) {

	/* LEFT — premium photo */

	/* Floating badge on photo — year + label from list10 / subtitle10 */

	/* RIGHT — light content card */

	/* Hide mobile-only read-more on desktop */

	/* Timeline: 4 equal stages, 20px side inset */

	/* One continuous rail through all dots (incl. outer halves) */

	/* Equal gaps between dot centers, 20px side inset — all centered the same way */

	/* Hide redesign icons — use original history.svg dots */

	/* Same fixed title box + centered for every stage */

	/* Vertical tick from title down to the dot */

	/* No per-item connectors — one continuous ::before on slider */

	/* CTA — hero .op-btn look */
}

/* History + hero .op-btn: stable mobile tap (no sticky-hover rotate jump) */
@media (max-width: 1100px) {

	/* Same as hero .op-btn: arrow points down on press */
}

@media (hover: none), (pointer: coarse) {
	/* Kill sticky iOS :hover so the arrow does not stay rotated after tap */
	.op-btn:hover svg {
		rotate: none;
		transform: none;
	}

	/* Press / keyboard still rotate like desktop hover / hero */
	.op-btn:active svg,
	.op-btn:focus-visible svg {
		rotate: 90deg !important;
	}

	.op-btn:active::after {
		opacity: 0.88;
	}
}

/* =========================================
 * ONE PLUS — mobile header first-screen lock
 * Keep menu + hero aligned; avoid spacer CLS jump.
 * ========================================= */
.op-header-wrap__logo img,
.op-header-logo {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	aspect-ratio: 300 / 77;
}

@media (max-width: 1100px) {
	.op-wrp {
		margin-bottom: 70px !important;
	}
}

@media (max-width: 550px) {
	.op-header-wrap__logo {
		max-width: 167px;
	}

	.op-wrp {
		margin-bottom: 70px !important;
	}
}

/* About: semantic h3 in «Why choose us» / «Company history» — keep existing look */

/* Home (and shared blocks): solid blue H2 accents → same gradient as home hero.
   Note: body.home is often missing on live (oprmm), so selectors are section-based. */
.op-services-wrap__title span[style*="color"],
.op-services-wrap__title span[style*="Color"] {
	background-image: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
	background-color: transparent !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}

/* Специализация: keep solid blue accent (not gradient) on dark section */

/* Consultation H2: only accent span is brand-colored (parent was solid blue) */

/* About page: solid blue title accents → same gradient as home hero */

.op-about-page .op-team-wrap__list .op-item-content__top--position {
	background-image: linear-gradient(91.91deg, #092B96 0%, #086CDC 100%) !important;
	background-color: transparent !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}

/* Services page: solid blue title accents → brand gradient (desktop + mobile) */
.op-services-page h2 span[style*="color"],
.op-services-page h2 span[style*="Color"],
.op-services-page h3 span[style*="color"],
.op-services-page h3 span[style*="Color"],
.op-services-page .op-list-wrap__title span,
.op-services-page .op-how-wrap__title span,
.op-services-page .op-clients-wrap__title span,
.op-services-page .op-clients-reviews__title span,
.op-services-page .op-form-wrap__content--title span,
.op-services-page .map-title span,
.op-services-page .recommend-wrap__title span,
.op-services-page .op-how-wrap__flex--list .op-item-content__title,
.op-services-page .op-how-wrap__flex--list h3.op-item-content__title {
	background-image: linear-gradient(91.91deg, #4dabf7 0%, #2380eb 42%, #092b96 100%) !important;
	background-color: transparent !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
}

/* Services plaques: keep old rounded under-line geometry (was box-shadow 0 3px 0 0),
   but fill with brand gradient instead of flat #2483ed */

/* Clients slider: Slick clone lane uses CSS background (no duplicate <img> for SEO) */

/* Home consultation cards: semantic h3 — keep existing card title look */

/* Mobile menu: keep logo + burger above drawer; hide cookie FAB (z-index ~2147483000) */
@media (max-width: 1100px) {
	/* Lift whole header stacking context above cookie FAB while drawer is open */
	body.op-mobile-menu-open .op-header,
	body:has(.op-header-wrap__nav--active) .op-header {
		z-index: 2147483001 !important;
	}

	.op-header-wrap__nav--active {
		z-index: 100050 !important;
	}

	/*
	 * Drawer fits device viewport: top bar + scrollable menu + pinned socials.
	 * Prevents L2/L3 expansion from pushing socials below the fold with no way to reach them.
	 */
	.op-header-wrap__nav,
	.op-header-wrap__nav--active {
		height: 100vh !important;
		height: 100dvh !important;
		max-height: 100vh !important;
		max-height: 100dvh !important;
		width: 100% !important;
		max-width: 100vw !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
		padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.op-header-wrap__nav--top {
		flex: 0 0 auto;
	}

	/* Only the top-level menu list scrolls; nested submenus expand inside it */
	.op-header-wrap__nav > ul,
	.op-header-wrap__nav > .menu {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.op-header-wrap__nav > ul ul,
	.op-header-wrap__nav > .menu ul {
		max-height: none !important;
		overflow: visible !important;
	}

	.op-header-wrap__nav--socials {
		flex: 0 0 auto;
		margin-top: 16px !important;
		padding-top: 16px !important;
	}

	/* ONE PLUS logo stays visible on top of the open drawer */
	body.op-mobile-menu-open .op-header-wrap__logo,
	body:has(.op-header-wrap__nav--active) .op-header-wrap__logo {
		position: relative;
		z-index: 100055 !important;
	}

	.op-header-wrap__icon,
	.op-header-wrap__icon--active,
	.op-header-wrap__meta .op-header-wrap__icon,
	.op-header-wrap__meta .op-header-wrap__icon--active {
		z-index: 100060 !important;
		position: relative;
	}

	/* Search field lives in header meta (z:3) — lift it above the open drawer */
	body.op-mobile-menu-open .op-header-wrap__meta--form,
	body:has(.op-header-wrap__nav--active) .op-header-wrap__meta--form {
		z-index: 100070 !important;
	}

	body.op-mobile-menu-open #js-ccfw-settings-button.ccfw-settings-button--cookie-icon,
	body.op-mobile-menu-open #js-ccfw-settings-button.ccfw-settings-button--cookie_icon,
	body:has(.op-header-wrap__nav--active) #js-ccfw-settings-button.ccfw-settings-button--cookie-icon,
	body:has(.op-header-wrap__nav--active) #js-ccfw-settings-button.ccfw-settings-button--cookie_icon,
	body.op-mobile-menu-open .ccfw-settings-button--cookie-icon,
	body.op-mobile-menu-open .ccfw-settings-button--cookie_icon,
	body:has(.op-header-wrap__nav--active) .ccfw-settings-button--cookie-icon,
	body:has(.op-header-wrap__nav--active) .ccfw-settings-button--cookie_icon {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		display: none !important;
	}
}


/* a11y: listitem wrappers around contact buttons */
.op-service-contact-btns__grid > [role="listitem"],
.op-cases-contacts .op-service-contact-btns__grid > [role="listitem"] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.op-service-contact-btns__grid > [role="listitem"] > .op-service-contact-btns__btn,
.op-cases-contacts .op-service-contact-btns__grid > [role="listitem"] > .op-service-contact-btns__btn {
  width: 100%;
  max-width: 100%;
}

/* Hide Google reCAPTCHA v3 badge (from style.css; purged out of slim bundles) */
.grecaptcha-badge {
    display: none !important;
}
