:root {
    --color-white: #fff;
    --color-gray: #777f86;
    --color-gray-medium: #8c8d8e;
    --color-gray-light: #a6adb0;
    --color-gray-lightest: #bbbfc3;
    --color-gray-pale: #c6c9cd;
    --color-gray-neutral: #d0d0d0;
    --color-line: rgba(255, 255, 255, 0.2);
    --color-veil: rgba(255, 255, 255, 0.6);
    --color-border: #383f46;
    --color-black: #000;
    --color-dark-deep: #181e23;
    --color-dark-soft: #2d353d;
    --color-dark: #2f363c;
    --color-dark-slate: #1e252d;
    --color-light: #f3f5f6;
    --color-light-soft: #f7f8f8;
    --color-light-pale: #f9f9fa;
    --color-light-gray: #e8e9eb;
    --color-green: #4caf50;
    --color-green-deep: #02ad49;
    --color-green-deep-hover: #06a046;
    --color-orange: #ea792f;
    --color-orange-bright: #fa6a1c;
    --color-black-soft: #0b090a;
    --color-dark-ink: #212529;
    --color-gray-faint: #dee2e6;
    --color-line-dark: rgba(0, 0, 0, 0.1);

    --header-padding-block: 12px;
    --header-height-mobile: 64px;
    --container-side-padding: 15px;
    --section-inner-padding: 48px;

    /*
    * Типографика.
    *
    * Размеры в rem от базовых 16px, корневой размер не переопределяем. Межстрочный
    * интервал тянется за размером сам.
    *
    * Заголовки текучие: clamp(мобильный, формула, десктопный), где мобильное значение —
    * такая же ступень системы, а формула линейно связывает границы на отрезке
    * 576–1440px. Поэтому в медиазапросах типографики нет: правило пишется один раз.
    *
    *              мобильный → десктопный
    * display          40        → 78
    * h1               36        → 62
    * h2               32        → 48
    * h3               28        → 40
    * h4               24        → 32
    * h5               20        → 28
    * h6               18        → 24
    *
    * Текстовые ступени (20–10) не масштабируются: 16px должен оставаться 16px.
    */

    --font-base: Inter, Helvetica, sans-serif;
    --font-heading: InterTight, Inter, Helvetica, sans-serif;
    --font-bebas: 'Bebas Neue Num', InterTight, Inter, Helvetica, sans-serif;
    --font-latin: Inter, Helvetica, sans-serif;

    --fs-display: clamp(2.5rem, 0.917rem + 4.398vw, 4.875rem);  /* 40 → 78px */
    --lh-display: 1.205;                                        /* 94px */
    --fs-h1: clamp(2.25rem, 1.167rem + 3.009vw, 3.875rem);      /* 36 → 62px */
    --lh-h1: 1.355;                                             /* 84px */
    --fs-h2: clamp(2rem, 1.333rem + 1.852vw, 3rem);             /* 32 → 48px */
    --lh-h2: 1.25;                                              /* 60px */
    --fs-h3: clamp(1.75rem, 1.25rem + 1.389vw, 2.5rem);         /* 28 → 40px */
    --lh-h3: 1.3;                                               /* 52px */
    --fs-h4: clamp(1.5rem, 1.167rem + 0.926vw, 2rem);           /* 24 → 32px */
    --lh-h4: 1.375;                                             /* 44px */
    --fs-h5: clamp(1.25rem, 0.917rem + 0.926vw, 1.75rem);       /* 20 → 28px */
    --lh-h5: 1.429;                                             /* 40px */
    --fs-h6: clamp(1.125rem, 0.875rem + 0.694vw, 1.5rem);       /* 18 → 24px */
    --lh-h6: 1.5;                                               /* 36px */

    --fs-base-32: 2rem;     /* 32px */
    --fs-base-24: 1.5rem;   /* 24px */
    --fs-base-20: 1.25rem;  /* 20px */
    --lh-base-20: 1.6;      /* 32px */
    --fs-base-18: 1.125rem; /* 18px */
    --lh-base-18: 1.556;    /* 28px */
    --fs-base-16: 1rem;     /* 16px */
    --lh-base-16: 1.5;      /* 24px */

    --fs-small-14: 0.875rem; /* 14px */
    --lh-small-14: 1.429;    /* 20px */
    --fs-small-12: 0.75rem;  /* 12px */
    --lh-small-12: 1.333;    /* 16px */
    --fs-small-10: 0.625rem; /* 10px */
    --lh-small-10: 1.2;      /* 12px */

    --swiper-navigation-color: var(--color-dark);
    --swiper-pagination-color: #c4c4c4;
    --swiper-pagination-bullet-inactive-color: #eee;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-size: 8px;
    --swiper-pagination-bullet-horizontal-gap: 4px;
}

@font-face {
    font-family: 'Bebas Neue Num';
    src: url(../fonts/bebas-neue/bebas-neue-regular-num.woff2) format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Вариативные сабсеты: ось wght сужена до используемых весов, 800/900 рисуются как 700. */
@font-face {
    font-family: Inter;
    src: url('../fonts/Inter/inter-variable-subset.woff2') format('woff2');
    font-weight: 200 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: InterTight;
    src: url('../fonts/InterTight/intertight-variable-subset.woff2') format('woff2');
    font-weight: 500 700;
    font-style: normal;
    font-display: swap;
}

/*
 * Базовые стили элементов. Раньше их давал Reboot из Bootstrap — в lib/ лежала его
 * доработанная под am сборка 4.3.1, от неё и ссылки по умолчанию зелёные. Перенесено то,
 * что задевает вывод портала: шаблоны, партиалы, WPBakery и контент записей.
 */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    height: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    margin: 0;
    background-color: var(--color-light);
    font-family: var(--font-base);
    font-size: var(--fs-base-16);
    line-height: var(--lh-base-16);
    color: var(--color-dark-ink);
}

[hidden] {
    display: none !important;
}

[tabindex="-1"]:focus {
    outline: 0 !important;
}

a {
    background-color: transparent;
    text-decoration: none;
    color: var(--color-green);
}

a:not([href]):not([tabindex]) {
    text-decoration: none;
    color: inherit;
}

a:not([href]):not([tabindex]):focus {
    outline: 0;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
    font-weight: 400;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

hr {
    box-sizing: content-box;
    height: 0;
    margin: 1rem 0;
    border: 0;
    border-top: 1px solid var(--color-line-dark);
    overflow: visible;
}

pre {
    display: block;
    margin: 0 0 1rem;
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 87.5%;
    color: var(--color-dark-ink);
    overflow: auto;
}

figure {
    margin: 0 0 1rem;
}

svg {
    vertical-align: middle;
    overflow: hidden;
}

table {
    border-collapse: collapse;
}

th {
    text-align: inherit;
}

label {
    display: inline-block;
    margin-bottom: 0.5rem;
}

button {
    border-radius: 0;
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
    cursor: pointer;
}

[type="search"] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

textarea {
    overflow: auto;
    resize: vertical;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li {
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    font-weight: 700;
}

h1 {
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
}

h2 {
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
}

h3 {
    font-size: var(--fs-h3);
    line-height: var(--lh-h3);
}

h4 {
    font-size: var(--fs-h4);
    line-height: var(--lh-h4);
}

h5 {
    font-size: var(--fs-h5);
    line-height: var(--lh-h5);
}

h6 {
    font-size: var(--fs-h6);
    line-height: var(--lh-h6);
}

blockquote {
    position: relative;
    padding: 24px;
    margin: 25px 0;
    background-color: var(--color-light-soft);
    overflow: hidden;
}

button,
button:active,
button:focus {
    outline: none;
}

img {
    max-width: 100%;
    height: auto;
    border-style: none;
    vertical-align: middle;
}

/* Ширина по брейкпоинтам — как была у Bootstrap: 1140, 960, 720, 540, во всю ширину, см. медиазапросы. */
.container {
    width: 100%;
    max-width: 1140px;
    padding-inline: 15px;
    margin-inline: auto;
}

.page {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

.section {
    padding: 42px 0;
}

.section.section--no-padding {
    padding: 0;
}

/* Секции на одном фоне идут подряд — отступ между ними один, а не двойной. */
.section + .section {
    padding-top: 0;
}

.section__inner {
    padding: var(--section-inner-padding);
    background-color: var(--color-white);
}

.section__title {
    font-family: var(--font-base);
    font-size: var(--fs-h4);
    line-height: var(--lh-h4);
    font-weight: 500;
}

/*
 * Классы Bootstrap из контента записей: оформление было у библиотеки, контент остался.
 */
.lead {
    font-size: 1.25rem;
    font-weight: 300;
}

.text-center {
    text-align: center !important;
}

/* Таблицы в записях без классов — тот же вид, что у .table и .table-responsive-sm: контент записей не правим. */
.table,
.article table {
    width: 100%;
    margin-bottom: 1rem;
    color: var(--color-dark-ink);
}

.table th,
.table td,
.article th,
.article td {
    padding: 0.75rem;
    border-top: 1px solid var(--color-gray-faint);
    vertical-align: top;
}

.table thead th,
.article thead th {
    border-bottom: 2px solid var(--color-gray-faint);
    vertical-align: bottom;
}

.table tbody + tbody,
.article tbody + tbody {
    border-top: 2px solid var(--color-gray-faint);
}

/* Инлайн-ширину из редактора (style="width: 836px") перебивает только max-width. */
.article table {
    max-width: 100%;
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}

.embed-responsive::before {
    content: "";
    display: block;
}

.embed-responsive-16by9::before {
    padding-top: 56.25%;
}

.embed-responsive iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.aligncenter {
    position: relative;
    display: block;
    clear: both;
    margin: 10px auto;
    text-align: center;
}

.become__partner__btn {
    margin-top: 20px;
}

.hidden {
    display: none;
    overflow: hidden;
}

a.external_icon {
    padding: 0;
    background: none;
}

.amp-font-latin {
    font-family: var(--font-latin);
}

/* Типографика на классах. */

.amp-text-display {
    font-family: var(--font-heading);
    font-size: var(--fs-display);
    line-height: var(--lh-display);
}

.amp-text-h1 {
    font-family: var(--font-heading);
    font-size: var(--fs-h1);
    line-height: var(--lh-h1);
}

.amp-text-h2 {
    font-family: var(--font-heading);
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
}

.amp-text-h3 {
    font-family: var(--font-heading);
    font-size: var(--fs-h3);
    line-height: var(--lh-h3);
}

.amp-text-h4 {
    font-family: var(--font-heading);
    font-size: var(--fs-h4);
    line-height: var(--lh-h4);
}

.amp-text-h5 {
    font-family: var(--font-heading);
    font-size: var(--fs-h5);
    line-height: var(--lh-h5);
}

.amp-text-h6 {
    font-family: var(--font-heading);
    font-size: var(--fs-h6);
    line-height: var(--lh-h6);
}

.amp-text-base-20 {
    font-family: var(--font-base);
    font-size: var(--fs-base-20);
    line-height: var(--lh-base-20);
}

.amp-text-base-18 {
    font-family: var(--font-base);
    font-size: var(--fs-base-18);
    line-height: var(--lh-base-18);
}

.amp-text-base-16 {
    font-family: var(--font-base);
    font-size: var(--fs-base-16);
    line-height: var(--lh-base-16);
}

.amp-text-small-14 {
    font-family: var(--font-base);
    font-size: var(--fs-small-14);
    line-height: var(--lh-small-14);
}

.amp-text-small-12 {
    font-family: var(--font-base);
    font-size: var(--fs-small-12);
    line-height: var(--lh-small-12);
}

.amp-text-small-10 {
    font-family: var(--font-base);
    font-size: var(--fs-small-10);
    line-height: var(--lh-small-10);
}

.text__container,
.vc_toggle_content {
    font-size: var(--fs-base-18);
    line-height: var(--lh-base-18);
    overflow-wrap: break-word;
}

.text__container a,
.vc_toggle_content a {
    text-decoration: underline;
    color: var(--color-green);
}

.text__container ol,
.text__container ul {
    margin-bottom: 20px;
}

/* WPBakery */

.section .section__inner .vc_row {
    padding: 0;
    margin: 0;
}

.section .section__inner .wpb_column.vc_column_container > .vc_column-inner {
    padding: 0;
    margin: 0;
}

.section .section__inner .vc_tta-container .vc_tta-tabs.vc_tta-tabs-position-top.vc_tta-tabs > .vc_tta-tabs-container {
    display: block;
    margin: 0 0 16px;
}

.section .section__inner .vc_tta-tabs.vc_tta-tabs-position-top .vc_tta-tabs-list {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    width: 100%;
    overflow-x: auto;
}

.section .section__inner .vc_tta-color-white.vc_tta-style-classic.vc_tta-tabs .vc_tta-panels {
    border: 0;
    background: transparent;
}

.section .section__inner .vc_tta.vc_tta-controls-align-left .vc_tta-panel-heading {
    display: none;
}

.section .section__inner .vc_tta-tabs .vc_tta-panels .vc_tta-panel-body {
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}

.section .section__inner .vc_tta-tabs:not([class*=vc_tta-gap]):not(.vc_tta-o-no-fill).vc_tta-tabs-position-top .vc_tta-tab > a {
    padding: 15px 30px;
    border: 1px solid var(--color-light-gray);
    border-radius: 4px 4px 0 0;
    background: var(--color-light-pale);
}

.section .section__inner .vc_tta-tabs:not([class*=vc_tta-gap]):not(.vc_tta-o-no-fill).vc_tta-tabs-position-top .vc_tta-tab.vc_active > a {
    border-top: 2px solid var(--color-green);
    border-bottom-color: transparent;
    background-color: var(--color-white);
}

.section .section__inner .vc_tta-tabs:not([class*=vc_tta-gap]):not(.vc_tta-o-no-fill).vc_tta-tabs-position-top .vc_tta-tab > a::before,
.section .section__inner .vc_tta-tabs:not([class*=vc_tta-gap]):not(.vc_tta-o-no-fill).vc_tta-tabs-position-top .vc_tta-tab > a::after {
    display: none;
}

/* Легаси кнопка из билдера */
.page .vc_btn3-container > .vc_general.vc_btn3,
.become__partner__btn > .vc_general.vc_btn3 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 228px;
    padding: 12px 24px;
    border-radius: 8px;
    background: var(--color-green-deep) !important;
    font-size: var(--fs-base-16);
    font-weight: 700;
    line-height: var(--lh-base-16);
    text-align: center;
    color: var(--color-white);
    transition: background-color .2s;
}

/* Toggle WPBakery */

.section .section__inner .vc_toggle {
    margin: 0;
    border-bottom: 1px solid var(--color-light);
}

.section .section__inner .vc_toggle .vc_toggle_title {
    position: relative;
    padding: 24px 0;
    padding-inline-start: 28px;
}

.section .section__inner .vc_toggle_title > h4 {
    display: block;
    font-family: var(--font-base);
    font-size: var(--fs-base-20);
    line-height: var(--lh-base-20);
    font-weight: 400;
}

.section .section__inner .vc_toggle .vc_toggle_icon {
    position: absolute;
    top: 50%;
    inset-inline-start: 0;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 0;
    background: none;
}

.section .section__inner .vc_toggle .vc_toggle_icon::before,
.section .section__inner .vc_toggle .vc_toggle_icon::after {
    border: 0;
    background-color: currentColor;
}

.section .section__inner .vc_toggle .vc_toggle_icon::before {
    width: 18px;
    height: 2px;
}

.section .section__inner .vc_toggle .vc_toggle_icon::after {
    width: 2px;
    height: 18px;
}

.section .section__inner .vc_toggle.vc_toggle_active .vc_toggle_icon::before {
    visibility: visible;
}

.section .section__inner .vc_toggle .vc_toggle_content {
    padding: 0 0 24px;
    margin: 0;
}

.section .section__inner .vc_toggle_content > * + * {
    margin-top: 24px;
}

.section .section__inner .vc_toggle_content ol,
.section .section__inner .vc_toggle_content ul {
    margin-bottom: 0;
}

/* FAQ */

.section__inner:has(.faq__wrap) {
    padding: 0;
    background-color: transparent;
}

.section .section__inner .faq__search .wpb_content_element,
.section .section__inner .faq__contacts .wpb_content_element {
    margin-bottom: 0;
}

.section .section__inner .faq__search .wpb_text_column {
    padding-block: 32px;
    padding-inline: var(--section-inner-padding);
    margin-bottom: 16px;
    background-color: var(--color-white);
    text-align: center;
}

.faq__search h2 {
    margin-bottom: 16px;
    font-family: var(--font-base);
    font-size: var(--fs-base-20);
    font-weight: 700;
    line-height: var(--lh-base-20);
}

.faq__search p {
    margin-top: 16px;
    font-size: var(--fs-small-14);
    line-height: var(--lh-small-14);
}

.faq__search .ss_search_wrapper #ss_search_input {
    box-sizing: border-box;
    border-color: var(--color-light);
    font: inherit;
    line-height: normal;
    color: var(--color-dark);
    transition: border-color .2s;
}

.faq__search .ss_search_wrapper #ss_search_results {
    border-color: var(--color-light);
    text-align: start;
}

.faq__search .ss_search_wrapper:focus-within #ss_search_input,
.faq__search .ss_search_wrapper:focus-within #ss_search_results {
    border-color: var(--color-gray-lightest);
}

.faq__search .ss_search_wrapper .ss_search_results_list a {
    color: var(--color-dark);
}

.section .section__inner .faq__wrap {
    padding: var(--section-inner-padding);
    background-color: var(--color-white);
}

.section .section__inner .faq__contacts {
    margin-top: 42px;
}

.faq__contacts-head {
    text-align: center;
}

.faq__contacts-head h2 {
    font-family: var(--font-base);
    font-size: var(--fs-h4);
    line-height: var(--lh-h4);
    font-weight: 500;
}

.faq__contacts-head p {
    margin-top: 8px;
}

.section .section__inner .faq__contacts-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 24px 0 0;
}

.section .section__inner .faq__contacts-list::before,
.section .section__inner .faq__contacts-list::after {
    display: none;
}

.section .section__inner .faq__contact {
    display: flex;
    align-items: center;
    gap: 16px;
    width: auto;
    padding: 32px 40px;
    float: none;
    background-color: var(--color-white);
}

.faq__contact::before {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--color-light);
    font-size: 20px;
    color: var(--color-gray);
}

.section .section__inner .faq__contact > .vc_column-inner {
    flex: 1;
    min-width: 0;
    font-family: var(--font-base);
    font-size: var(--fs-small-14);
    line-height: var(--lh-small-14);
    color: var(--color-gray);
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
}

.faq__contact p + p {
    margin-top: 4px;
}

.section .section__inner .faq__contact a {
    font-size: var(--fs-base-16);
    line-height: var(--lh-base-16);
    text-decoration: none;
    color: var(--color-green);
    overflow-wrap: anywhere;
}

.section .section__inner .faq__contacts .become__partner__btn {
    margin: 48px 0 0;
}

/*
 * Главная.
 *
 * Шаблон default, весь контент собран в билдере — порядок сборки в CLAUDE.md темы, раздел
 * «Главная». Белую подложку шаблона снимаем, коробки рисуют сами блоки. Класс home ядро
 * ставит только главной. Селекторы через .section__inner — иначе их перебьёт сброс
 * отступов рядов WPBakery выше.
 */

.home .page {
    overflow-x: clip;
}

.home .section > .container > .section__inner {
    padding: 0;
    background-color: transparent;
}

.home .section__inner > .vc_row + .vc_row {
    margin-top: 42px;
}

.home .section__inner .home__hero .wpb_content_element,
.home .section__inner .home__info .wpb_content_element {
    margin-bottom: 0;
}

/*
 * Полосы во всю ширину окна — hero и информационный блок. Ряд остаётся в сетке контейнера,
 * фон рисует ::before от края до края экрана. inset-inline симметричен, поэтому в RTL
 * переворачивать нечего. Горизонтальную прокрутку от ширины полосы прокрутки закрывает
 * overflow-x у .page.
 */
.home .section__inner .home__hero,
.home .section__inner .home__info {
    position: relative;
    z-index: 0;
}

.home .section__inner .home__hero::before,
.home .section__inner .home__info::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset-block: 0;
    inset-inline: calc(50% - 50vw);
    display: block;
}

.home .section__inner .home__hero::before {
    background-color: var(--color-black-soft);
}

.home .section__inner .home__info::before {
    background-color: var(--color-light-pale);
}

/* Hero */

.home .section__inner .home__hero {
    display: flex;
    align-items: center;
    padding-block: 65px;
    color: var(--color-white);
}

/* Clearfix ряда стал бы лишней колонкой. */
.home .section__inner .home__hero::after {
    display: none;
}

.home .section__inner .home__hero-text {
    padding-block: 48px;
}

.home .section__inner .home__hero-image {
    align-self: flex-end;
}

.home .section__inner .home__hero-image .wpb_single_image {
    text-align: end;
}

.home__hero-image img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

.home .section__inner .home__hero h1 {
    font-size: var(--fs-h2);
    font-weight: 500;
    line-height: var(--lh-h2);
    color: var(--color-white);
}

.home__hero-accent {
    color: var(--color-orange-bright);
}

.home .section__inner .home__hero h1 + p {
    margin-top: 16px;
}

.home .section__inner .home__hero .become__partner__btn {
    margin: 32px 0 0;
}

/* Новости */

.home .section__inner .posts__cards--list {
    padding: var(--section-inner-padding);
    background-color: var(--color-white);
}

/*
 * Информационный блок: заголовок с текстом, плашка с цифрами, текст и кнопка — всё
 * по центру, в колонке уже контейнера. Цифры — внутренний ряд с классом home__stats:
 * в колонке иконка (картинка) и текстовый блок, где заголовок — число, ниже подпись.
 */

.home .section__inner .home__info {
    padding-block: var(--section-inner-padding);
}

.home .section__inner .home__info > .wpb_column > .vc_column-inner {
    max-width: 1004px;
    margin-inline: auto;
}

.home .section__inner .home__info .text__container {
    text-align: center;
    color: var(--color-gray);
}

.home .section__inner .home__info .text__container h2,
.home .section__inner .home__info .text__container h3 {
    margin-bottom: 24px;
    font-family: var(--font-base);
    font-size: var(--fs-h4);
    font-weight: 400;
    line-height: var(--lh-h4);
    color: var(--color-black);
}

.home .section__inner .home__stats {
    display: flex;
    padding: 72px 40px;
    margin-block: 32px;
    border-radius: 4px;
    background-color: var(--color-dark-slate);
    text-align: center;
    color: var(--color-white);
}

.home .section__inner .home__stats::before,
.home .section__inner .home__stats::after {
    display: none;
}

.home .section__inner .home__stats > .wpb_column {
    flex: 1 1 0;
    width: auto;
    float: none;
}

.home .section__inner .home__stats .wpb_single_image {
    margin-bottom: 16px;
    text-align: center;
}

.home__stats .wpb_single_image img {
    width: auto;
    height: 48px;
}

.home .section__inner .home__stats h4 {
    margin-bottom: 16px;
    font-family: var(--font-base);
    font-size: var(--fs-h2);
    font-weight: 400;
    line-height: var(--lh-h2);
    color: var(--color-white);
}

.home .section__inner .home__stats .wpb_text_column {
    font-size: var(--fs-base-18);
    line-height: var(--lh-base-18);
}

.home .section__inner .home__info .become__partner__btn {
    margin: 48px 0 0;
}

/*
 * Header
 *
 * Оба меню — конфигурации UberMenu, поведение целиком на плагине. Тема переопределяет
 * только оформление. Переопределение достигается специфичностью.
 */

.header {
    position: relative;
    z-index: 99999;
    padding: var(--header-padding-block) 0;
    background-color: var(--color-black);
    color: var(--color-white);
}

/*
 * Шапку не перекрывает ничего, кроме попапов. У попапов плагинов z-index ниже шапки —
 * поднимаем: лайтбокс картинок WPBakery в статьях (lightbox2) и QR-код приложения
 * (партиал mobile_app_links, на 404). body — чтобы перебить CSS плагинов, он грузится позже.
 */
body .lightboxOverlay,
body .qr__popup {
    z-index: 100000;
}

body .lightbox {
    z-index: 100001;
}

.header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.header__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
}

.header__logo {
    display: block;
}

.header__logo img {
    width: 128px;
    height: auto;
}

.header .ubermenu {
    background: none;
    line-height: 1;
    text-align: start;
}

.header .ubermenu .ubermenu-target {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0;
    text-decoration: none;
    color: var(--color-white);
    transition: color .2s;
}

/* [amarkets_age_years] */
.ubermenu .trust__years__wrapper .ubermenu-custom-content-padded.trust__years {
    padding: 0 12px;
}

.trust__years {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0;
    margin: 0;
    border-inline: 1px solid var(--color-gray-medium);
    line-height: 2.2rem;
    text-transform: uppercase;
    color: var(--color-gray-medium);
}

.trust__years-num {
    display: inline-block;
    font-family: var(--font-bebas);
    font-size: var(--fs-h3);
    line-height: 0.75;
}

.trust__years-txt {
    display: inline-block;
    max-width: 70px;
    font-size: var(--fs-small-12);
    font-weight: 700;
    line-height: var(--lh-small-12);
}

/* Header submenu */

.header .ubermenu .ubermenu-submenu.ubermenu-submenu-drop {
    inset-inline-start: 50%;
    min-width: 236px;
    padding: 10px 24px;
    border-radius: 24px;
    background-color: var(--color-dark-soft);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .3);
    transform: translateX(-50%);
}

.header .ubermenu .ubermenu-submenu .ubermenu-item {
    display: block;
    width: 100%;
}

.header .ubermenu .ubermenu-submenu .ubermenu-target {
    gap: 8px;
    padding: 14px 16px;
    font-size: var(--fs-small-14);
    font-weight: 400;
    line-height: var(--lh-small-14);
    white-space: nowrap;
}

.header__utils .ubermenu-transition-none .ubermenu-item .ubermenu-submenu-drop,
.header__nav .ubermenu .ubermenu-item-level-0 > .ubermenu-submenu-drop {
    top: calc(100% + var(--header-padding-block) + 4px);
}

.header .ubermenu .ubermenu-submenu > .ubermenu-item:not(:last-child) > .ubermenu-target {
    border-block-end: 1px solid var(--color-border);
}

/* Header small menu */

.header__utils {
    position: relative;
    z-index: 110;
    flex: none;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: 12px;
}

.header__utils .ubermenu .ubermenu-nav,
.header__utils .social__list {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header__utils .ubermenu .ubermenu-item-level-0 {
    position: relative;
    padding: 0;
}

.header__utils .ubermenu .ubermenu-target {
    font-size: 13px;
    line-height: 1.2;
    color: var(--color-gray-light);
    transition: color .2s;
}

.header__utils .ubermenu .menu-btn > .ubermenu-target {
    padding: 10px 8px;
    border-radius: 6px;
    font-size: var(--fs-small-12);
    font-weight: 500;
    letter-spacing: 0.12px;
    text-transform: uppercase;
    transition: background-color .2s, color .2s;
}

.header__utils .ubermenu .menu-btn--outline > .ubermenu-target {
    border: 1px solid var(--color-border) !important;
    background-color: transparent;
    color: var(--color-white);
}

.header__utils .ubermenu .ubermenu-submenu.ubermenu-submenu-drop {
    inset-inline-start: auto;
    inset-inline-end: 0;
    transform: none;
}

/* Header main menu */

.header__nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 0 100%;
}

.header__nav .ubermenu.ubermenu-headermainmenu .ubermenu-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}

.header__nav .ubermenu .ubermenu-item-level-0 {
    position: relative;
}

.header__nav .ubermenu .ubermenu-item-level-0 > .ubermenu-target {
    padding: 0;
    font-size: var(--fs-small-12);
    font-weight: 600;
    letter-spacing: .12px;
    text-transform: uppercase;
}

.header__nav .ubermenu .ubermenu-item-level-0 > .ubermenu-target::after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 2px;
    background-color: var(--color-green);
    opacity: 0;
    transition: opacity .2s;
}

.header__nav .ubermenu .ubermenu-item-level-0.ubermenu-active > .ubermenu-target::after,
.header__nav .ubermenu .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target::after,
.header__nav .ubermenu .ubermenu-item-level-0.ubermenu-current-menu-ancestor > .ubermenu-target::after {
    opacity: 1;
}

.header__nav .ubermenu .ubermenu-item-level-0 > .ubermenu-target .ubermenu-target-text {
    position: relative;
    display: inline-block;
    padding: 10px 6px;
}

.header__nav .ubermenu .ubermenu-submenu .ubermenu-current-menu-item > .ubermenu-target::before,
.header__nav .ubermenu .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target .ubermenu-target-text::after {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-green);
    transform: translateY(-50%);
}

.header__nav .ubermenu .ubermenu-submenu .ubermenu-current-menu-item > .ubermenu-target::before {
    top: calc(13px + .7em);
    inset-inline-start: -8px;
}

/* В горизонтальном ряду текущий пункт отмечен подчёркиванием, точка только в шторке. */
.header__nav .ubermenu .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target .ubermenu-target-text::after {
    display: none;
}

/* Menu item CSS class `menu-mark` — orange dot above the item */

.header__nav .ubermenu .menu-mark > .ubermenu-target .ubermenu-target-text::before {
    content: '';
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--color-orange);
    transform: translate(50%, -50%);
}

.header__nav .ubermenu .menu-btn {
    margin-inline-start: 12px;
}

.header__nav .ubermenu .menu-btn > .ubermenu-target {
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-radius: 4px;
    font-size: var(--fs-small-12);
    font-weight: 600;
    text-transform: uppercase;
    transition: opacity .2s;
}

.header__nav .ubermenu .menu-btn > .ubermenu-target .ubermenu-target-text {
    padding: 0;
}

.header__nav .ubermenu .menu-btn > .ubermenu-target::after {
    display: none;
}

.header__nav .ubermenu .menu-btn--accent > .ubermenu-target {
    background-color: var(--color-green);
}

/* Header burger — кнопку печатает плагин, иконку рисуем сами */

.header__nav .ubermenu-responsive-toggle {
    flex: none;
    width: 28px;
    height: 28px;
    padding: 0;
    margin: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.header__nav .ubermenu-responsive-toggle > i,
.header__nav .ubermenu-responsive-toggle > i::before,
.header__nav .ubermenu-responsive-toggle > i::after {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--color-white);
    transition: transform .2s, background-color .2s;
}

.header__nav .ubermenu-responsive-toggle > i {
    position: relative;
    margin: 0 auto;
}

.header__nav .ubermenu-responsive-toggle > i::before,
.header__nav .ubermenu-responsive-toggle > i::after {
    content: '';
    position: absolute;
    inset-inline-start: 0;
}

.header__nav .ubermenu-responsive-toggle > i::before {
    top: -7px;
}

.header__nav .ubermenu-responsive-toggle > i::after {
    top: 7px;
}

.header__nav .ubermenu-responsive-toggle-open > i {
    background-color: transparent;
}

.header__nav .ubermenu-responsive-toggle-open > i::before {
    top: 0;
    transform: rotate(45deg);
}

.header__nav .ubermenu-responsive-toggle-open > i::after {
    top: 0;
    transform: rotate(-45deg);
}

/* Header cover */

.header__cover {
    position: relative;
    padding: 20px 0;
    background-color: var(--color-dark-deep);
    color: var(--color-white);
}

.header__cover::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.header__cover-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.header__cover .container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.header__cover-title {
    font-family: var(--font-heading);
    font-size: var(--fs-h2);
    font-weight: 700;
    line-height: var(--lh-h2);
}

.header__cover-breadcrumbs {
    font-size: var(--fs-small-14);
    line-height: var(--lh-small-14);
    color: var(--color-gray-lightest);
}

.header__cover-breadcrumbs a {
    text-decoration: none;
    color: var(--color-white);
}

.header__cover-breadcrumbs-sep {
    margin-inline: 4px;
    color: var(--color-orange-bright);
}

.header__cover-breadcrumbs-sep::before {
    content: '\203A';
}

/* Footer */

.footer {
    background-color: var(--color-dark-deep);
    color: var(--color-gray);
    overflow-x: hidden;
}

.footer__row--top {
    padding: 60px 0 8px;
}

.footer__row--middle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 28px;
    padding: 16px 0;
}

.footer__row--middle::after {
    content: '';
    position: absolute;
    inset-inline: calc(50% - 50vw);
    bottom: -1px;
    display: block;
    height: 1px;
    background-color: var(--color-line);
}

.footer__row--bottom {
    padding: 24px 0;
}

.footer__notice {
    padding: 16px 0;
    background-color: var(--color-white);
}

.footer__menu {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: auto;
    justify-content: space-between;
    gap: 24px 48px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer__menu .menu-item.menu-btn,
.footer__menu .menu-item.menu-item-object-ubermenu-custom {
    display: none;
}

.footer__menu > li > a {
    display: block;
    margin-bottom: 18px;
    font-size: var(--fs-small-14);
    font-weight: 700;
    line-height: var(--lh-small-14);
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-white);
    transition: color .2s;
}

.footer__menu .sub-menu {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer__menu .sub-menu li + li {
    margin-top: 12px;
}

.footer__menu .sub-menu a {
    font-size: var(--fs-small-12);
    line-height: var(--lh-small-12);
    text-decoration: none;
    color: var(--color-gray);
    transition: color .2s;
}

.social__list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    min-height: 38px;
    padding: 0;
    margin: 0;
}

.social__list li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--color-line);
    border-radius: 50%;
    overflow: hidden;
    transition: opacity .2s;
}

.social__list li::before {
    font-size: var(--fs-base-16);
    color: var(--color-white);
}

.social__list li > a {
    position: absolute;
    inset: 0;
}

.footer__text {
    font-size: var(--fs-small-12);
    font-weight: 500;
    line-height: var(--lh-small-12);
}

.footer__text p + p {
    margin-top: 16px;
}

/* Article */

.article-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--color-light);
}

.article-title {
    font-size: var(--fs-h2);
    line-height: var(--lh-h2);
}

.article-time {
    font-size: var(--fs-small-14);
    font-weight: 500;
    line-height: var(--lh-small-14);
    color: var(--color-gray-lightest);
}

/* Awards */

.awards__container {
    background-color: var(--color-white);
}

.awards__container .section__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    text-align: center;
}

.awards__slider {
    position: relative;
    width: 100%;
}

.awards__container--pending .awards__slider,
.awards__container--pending .awards__pagination {
    visibility: hidden;
}

.awards__container .awards {
    display: none;
    height: 260px;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.awards__container .awards.swiper.swiper-initialized {
    display: block;
}

.awards__container .awards__list {
    justify-content: flex-start;
}

.awards__container .awards__item {
    width: auto;
    max-width: none;
    margin: 0;
}

.awards__container .awards__name {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 214px;
    min-height: 68px;
    text-align: center;
}

.awards__container .awards__name,
.awards__container .awards__description {
    width: 100%;
    font-size: var(--fs-small-12);
    line-height: var(--lh-small-12);
}

.awards__container .awards__description {
    margin-top: 10px;
}

.awards__container .awards__slider-btn.swiper-button-prev {
    inset-inline-start: auto;
    inset-inline-end: 100%;
}

.awards__container .awards__slider-btn.swiper-button-next {
    inset-inline-end: auto;
    inset-inline-start: 100%;
}

.awards__container .awards__slider-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    font-size: var(--fs-base-32);
    transform: translateY(-75%);
}

.awards__container .awards__pagination.swiper-pagination {
    position: static;
    width: auto;
    margin: 0 auto;
    transform: none;
}

/* Slider bullets — одни у баннеров и галерей, с макета главной */

.banners__pagination,
.amp__gallery-pagination {
    --swiper-pagination-color: var(--color-orange);
    --swiper-pagination-bullet-inactive-color: var(--color-gray-lightest);
    display: flex;
    justify-content: center;
}

/* Banners — элемент WPBakery «Баннеры», code/banners.php */

.banners .banners__slider-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.banners__slide-picture,
.banners__slide-image {
    display: block;
    width: 100%;
    height: auto;
}

.banners__pagination {
    margin-top: 36px;
}

/* Gallery in posts */

.amp__gallery {
    --swiper-navigation-size: 40px;
    --swiper-navigation-sides-offset: 16px;
}

.amp__gallery .wpb_gallery_heading {
    margin-bottom: 24px;
}

.amp__gallery-slider {
    max-height: 80vh;
    background-color: var(--color-light);
}

.amp__gallery .amp__gallery-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.amp__gallery-link {
    display: block;
    height: 100%;
}

.amp__gallery-image {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: contain;
}

.amp__gallery-btn {
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: var(--color-white);
    font-size: var(--fs-base-16);
    color: var(--color-dark);
}

/* До запуска слайдера кнопкам нечего листать. */
.amp__gallery-slider:not(.swiper-initialized) .amp__gallery-btn {
    display: none;
}

.amp__gallery-pagination {
    margin-top: 16px;
}

/* 404 */

.error__page {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 0 auto;
}

.error__page-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    text-align: center;
}

.error__page-img {
    width: 100%;
    max-width: 114px;
}

.error__page-title {
    font-size: var(--fs-base-20);
    font-weight: 400;
    line-height: var(--lh-base-20);
    color: var(--color-gray);
}

.error__page-links {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 40px;
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.error__page-links .menu-item.menu-btn {
    display: none;
}

/* Horizontal cards list */

.cards__list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.card__horizontal {
    display: flex;
    gap: 30px;
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-light);
}

.card__horizontal-image {
    flex: 0 0 auto;
    width: 160px;
    height: 96px;
    background-color: var(--color-light);
}

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

.card__horizontal-body,
.card__horizontal-link {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.card__horizontal-link,
.card__horizontal-link:hover,
.card__horizontal-image,
.card__horizontal-image:hover {
    color: inherit;
    text-decoration: none;
}

.card__horizontal-title {
    margin: 0;
    font-family: var(--font-base);
    font-size: var(--fs-h6);
    font-weight: 400;
    line-height: var(--lh-h6);
    color: var(--color-black);
}

.card__horizontal-text {
    margin: 0;
    color: var(--color-gray);
}

.card__horizontal-date {
    font-size: var(--fs-small-14);
    line-height: var(--lh-small-14);
    color: var(--color-gray-lightest);
}

/* Tabs */

.tabs__nav {
    border-bottom: 1px solid var(--color-light-gray);
    background-color: var(--color-white);
}

.tabs__nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 48px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.tabs__nav-link {
    display: block;
    padding-block: 24px;
    border-bottom: 2px solid transparent;
    font-size: var(--fs-base-16);
    font-weight: 500;
    line-height: var(--lh-base-16);
    text-decoration: none;
    color: var(--color-dark-slate);
    transition: color .2s, border-color .2s;
}

.tabs__nav-link--active {
    border-bottom-color: var(--color-green);
}

/* Category grid */

.section.category__grid .cards__pagination {
    margin-top: 24px;
    padding: 24px 0;
    background-color: var(--color-white);
}

.cards__grid {
    --cards-grid-gap: 24px;
    --card-vertical-padding-inline: 40px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--cards-grid-gap);
    padding: 0;
    margin: 0;
    list-style: none;
}

.card__vertical {
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: 2px;
    background-color: var(--color-white);
    overflow: hidden;
}

.card__vertical-image {
    display: block;
    flex-shrink: 0;
    aspect-ratio: 2 / 1;
    background-color: var(--color-light);
    overflow: hidden;
}

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

.card__vertical-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 40px;
    min-width: 0;
    padding: 30px var(--card-vertical-padding-inline);
}

.card__vertical-link {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.card__vertical-link,
.card__vertical-link:hover,
.card__vertical-image,
.card__vertical-image:hover {
    color: inherit;
    text-decoration: none;
}

.card__vertical-title {
    margin: 0;
    font-family: var(--font-base);
    font-size: var(--fs-base-20);
    font-weight: 400;
    line-height: var(--lh-base-20);
    color: var(--color-black);
}

.card__vertical-text {
    font-size: var(--fs-small-14);
    line-height: var(--lh-small-14);
    color: var(--color-gray);
}

.card__vertical-button,
.card__vertical-button:hover {
    align-self: flex-start;
    padding: 3px 18px;
    margin-top: auto;
    border: 1px solid var(--color-gray-pale);
    border-radius: 3px;
    text-decoration: none;
    color: var(--color-black);
    transition: border-color .2s;
}

.card__vertical--finished::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--color-veil);
    pointer-events: none;
}

.card__vertical-status {
    position: absolute;
    z-index: 1;
    top: 0;
    inset-inline: 0;
    padding: 12px 20px;
    background-color: var(--color-gray-neutral);
    font-size: var(--fs-small-12);
    font-weight: 700;
    line-height: var(--lh-small-12);
    text-align: center;
    text-transform: uppercase;
    color: var(--color-white);
    pointer-events: none;
}

/*
 * Одна карточка или последняя из нечётного числа — на всю ширину ряда, но картинка
 * остаётся размером с обычную, а текст встаёт справа. Иначе картинка 2:1 на всю
 * ширину вышла бы вдвое выше соседних карточек.
 */
.card__vertical:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    flex-direction: row;
}

.card__vertical:last-child:nth-child(odd) .card__vertical-image {
    flex: 0 0 calc(50% - var(--cards-grid-gap) / 2);
}

/* Текст — по одной линии с текстом правой колонки над карточкой. */
.card__vertical:last-child:nth-child(odd) .card__vertical-body {
    padding-inline-start: calc(var(--card-vertical-padding-inline) + var(--cards-grid-gap));
}

.card__vertical:last-child:nth-child(odd) .card__vertical-status {
    inset-inline-end: auto;
    width: calc(50% - var(--cards-grid-gap) / 2);
}

/* Pagination */

.cards__empty {
    margin: 24px 0 0;
    color: var(--color-gray);
}

.cards__pagination {
    padding-top: 24px;
    text-align: center;
}

.amp__pagination {
    display: inline-flex;
    align-items: stretch;
    border-radius: 5px;
    font-family: var(--font-latin);
    overflow: hidden;
}

.amp__pagination > * {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    padding: 9px 0;
    border: 1.25px solid var(--color-light);
    font-size: 19px;
    line-height: 1;
    color: var(--color-dark);
    transition: background-color .25s ease;
}

.amp__pagination > * + * {
    margin-inline-start: -1.25px;
}

.amp__pagination > a {
    outline-offset: -2px;
}

.amp__pagination > a,
.amp__pagination > a:hover {
    color: var(--color-dark);
    text-decoration: none;
}

.amp__pagination-page--current {
    background-color: var(--color-light);
}

.amp__pagination-dots {
    width: 25px;
    border: none;
}

.amp__pagination-prev {
    order: -1;
}

.amp__pagination-next {
    order: 1;
}

/* Фикс меню для залогиненных пользователей */

body.logged-in.admin-bar .header__nav::before,
body.logged-in.admin-bar .header .header__nav .ubermenu.ubermenu-responsive {
    top: calc(var(--header-height-mobile) + 32px);
}

/* Плашка приложения (партиал mobile_app_popup) встаёт над шапкой — шапка и шторка меню съезжают на её высоту. */
body.app__popup--show .header {
    margin-top: 74px;
}

body.app__popup--show .header__nav::before,
body.app__popup--show .header .header__nav .ubermenu.ubermenu-responsive {
    top: calc(var(--header-height-mobile) + 74px);
}

@media (hover: hover) {
    .page .vc_btn3-container > .vc_general.vc_btn3:hover,
    .become__partner__btn > .vc_general.vc_btn3:hover {
        background: var(--color-green-deep-hover) !important;
    }

    .header__utils .ubermenu .ubermenu-target:hover {
        color: var(--color-white);
    }

    .header__utils .ubermenu .menu-btn:hover > .ubermenu-target {
        opacity: 1;
        background-color: var(--color-white);
        color: var(--color-black);
    }

    .header .ubermenu .ubermenu-submenu .ubermenu-target:hover {
        color: var(--color-green);
    }

    .header__cover-breadcrumbs a:hover {
        text-decoration: underline;
    }

    .header__nav .ubermenu .ubermenu-item-level-0:hover > .ubermenu-target::after {
        opacity: 1;
    }

    .header__nav .ubermenu .menu-btn:hover > .ubermenu-target {
        opacity: .8;
    }

    .footer__menu > li > a:hover {
        color: var(--color-gray);
    }

    .footer__menu .sub-menu a:hover {
        color: var(--color-white);
    }

    .social__list li:hover {
        opacity: .5;
    }

    .card__horizontal-link:hover .card__horizontal-title,
    .card__vertical-link:hover .card__vertical-title {
        color: var(--color-green);
    }

    .card__vertical-button:hover {
        border-color: var(--color-gray);
    }

    .amp__pagination > a:hover {
        background-color: var(--color-light);
    }

    .tabs__nav-link:hover {
        color: var(--color-green);
    }

    .section .section__inner .faq__contact a:hover {
        text-decoration: underline;
    }
}

/*
 * Брейкпоинты — границы Bootstrap (1199.98, 991.98, 767.98, 575.98px), а не проекта: на экране
 * ровно 768px контейнер 720, а не 540, — как было, пока контейнер давал Bootstrap (iPad
 * в портрете). С 1199.98px шапка в мобильном виде: брейкпоинт UberMenu — 1199
 * (code/header-menu.php), он же в is_mobile_view() в js/index.js. 782px — высота
 * админ-бара WordPress.
 */
@media (max-width: 1199.98px) {
    .container {
        max-width: 960px;
    }

    .section .section__inner .faq__contact {
        padding-inline: 16px;
    }

    .header {
        min-height: var(--header-height-mobile);
        padding: 8px 0;
    }

    .header__inner {
        flex-direction: row;
        align-items: center;
        gap: 8px;
        padding: 0;
    }

    .header__logo img {
        width: 80px;
        height: auto;
    }

    .header__utils .social__list {
        display: none;
    }

    .header__utils .ubermenu .menu-btn {
        display: block;
    }

    .header__utils .ubermenu .ubermenu-nav {
        gap: 8px;
    }

    .header__utils .ubermenu .menu-btn > .ubermenu-target {
        padding: 6px 12px;
        border-radius: 4px;
        font-size: var(--fs-small-14);
        font-weight: 700;
        letter-spacing: normal;
    }

    .header__nav {
        flex: none;
    }

    .header__nav .ubermenu.ubermenu-headermainmenu .ubermenu-nav {
        flex-direction: column;
        gap: 0;
    }

    .header__nav::before {
        content: '';
        position: fixed;
        z-index: 90;
        top: var(--header-height-mobile);
        inset-inline: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, .6);
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s, visibility 0s .3s;
    }

    .header__nav:has(> .ubermenu:not(.ubermenu-responsive-collapse))::before {
        opacity: 1;
        visibility: visible;
        transition: opacity .3s, visibility 0s;
    }

    body:has(.header__nav > .ubermenu:not(.ubermenu-responsive-collapse)) {
        overflow: hidden;
    }

    .header .header__nav .ubermenu.ubermenu-responsive {
        position: fixed;
        z-index: 95;
        top: var(--header-height-mobile);
        bottom: 0;
        inset-inline-end: 0;
        width: 360px;
        max-width: 100%;
        max-height: none;
        padding: 0;
        background-color: var(--color-black);
        visibility: visible;
        overflow-y: auto;
        transform: translateX(0);
        transition: transform .3s, visibility 0s;
    }

    /* На время анимации плагин ставит overflow: hidden !important — длинному меню
       это ломает прокрутку, поэтому у раскрытой шторки возвращаем её принудительно. */
    .header .header__nav .ubermenu.ubermenu-responsive:not(.ubermenu-responsive-collapse) {
        overflow-y: auto !important;
    }

    .header .header__nav .ubermenu.ubermenu-responsive.ubermenu-responsive-collapse {
        max-height: none;
        visibility: hidden;
        transform: translateX(100%);
        transition: transform .3s, visibility 0s .3s;
    }

    /* Плагин на мобильных снимает позиционирование с пунктов с подменю — возвращаем. */
    .header .ubermenu.ubermenu-responsive .ubermenu-item.ubermenu-item-level-0 {
        position: relative;
    }

    .header .ubermenu.ubermenu-responsive .ubermenu-item.ubermenu-item-level-0.trust__years__wrapper {
        order: 1;
        background: transparent;
    }

    .header__nav .ubermenu .ubermenu-item-level-0 {
        background-color: var(--color-dark-soft);
    }

    .header__nav .ubermenu .ubermenu-item-level-0 > .ubermenu-target {
        padding: 4px 32px;
        font-size: 13px;
    }

    .header__nav .ubermenu .ubermenu-item-level-0:first-child > .ubermenu-target {
        padding-top: 12px;
    }

    /* В шторке подчёркивания активного пункта нет — его роль играет раскрытый список. */
    .header__nav .ubermenu .ubermenu-item-level-0 > .ubermenu-target::after {
        display: none;
    }

    /* Индикаторы плагина выключены, стрелку аккордеона рисуем сами. */
    .header__nav .ubermenu .ubermenu-item-level-0.ubermenu-item-has-children::after {
        content: '';
        position: absolute;
        top: 22px;
        inset-inline-end: 26px;
        width: 8px;
        height: 8px;
        border-inline-end: 2px solid var(--color-white);
        border-block-end: 2px solid var(--color-white);
        transform: rotate(45deg);
        transition: transform .2s;
        pointer-events: none;
    }

    .header__nav .ubermenu .ubermenu-item-level-0.ubermenu-active::after {
        transform: rotate(-135deg);
    }

    .header .ubermenu.ubermenu-responsive .ubermenu-item.ubermenu-item-level-0.menu-btn {
        display: block;
        padding: 16px 32px;
        margin: 0;
        background-color: transparent;
    }

    .header__nav .ubermenu .menu-btn > .ubermenu-target {
        height: 44px;
    }

    /* Подменю в шторке — аккордеон, а не выпадающая панель. */
    .header__nav .ubermenu .ubermenu-submenu.ubermenu-submenu-drop {
        position: relative;
        min-width: 0;
        padding: 0;
        margin: 0;
        border-radius: 0;
        background-color: var(--color-dark-deep);
        box-shadow: none;
        transform: none;
    }

    .header__nav .ubermenu .ubermenu-submenu .ubermenu-target {
        padding: 10px 24px;
        padding-inline-start: 40px;
        white-space: normal;
    }

    .header__nav .ubermenu .ubermenu-submenu > .ubermenu-item:not(:last-child) > .ubermenu-target {
        border-block-end: 0;
    }

    .header__nav .ubermenu .ubermenu-submenu > .ubermenu-item:last-child > .ubermenu-target {
        padding-block-end: 18px;
    }

    .header__nav .ubermenu .ubermenu-submenu .ubermenu-current-menu-item > .ubermenu-target::before {
        top: calc(10px + .7em);
        inset-inline-start: 24px;
    }

    .header__nav .ubermenu .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target .ubermenu-target-text::after {
        top: calc(10px + .5em);
        inset-inline-start: -8px;
        display: block;
    }

    .trust__years {
        flex-direction: column;
        border-inline: 0;
        text-align: center;
    }

    .trust__years-num {
        line-height: 0.8;
    }
}

@media (max-width: 1023px) {
    :root {
        --section-inner-padding: 32px;
    }

    .section {
        padding: 32px 0;
    }

    .section .section__inner .faq__contacts {
        margin-top: 32px;
    }

    .section .section__inner .faq__contacts-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .section .section__inner .faq__contact {
        padding-inline: 40px;
    }

    .home .section__inner > .vc_row + .vc_row {
        margin-top: 32px;
    }

    /* Hero в столбик: картинка сверху, текст и кнопка по центру. */
    .home .section__inner .home__hero {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .home .section__inner .home__hero > .wpb_column {
        width: 100%;
    }

    .home .section__inner .home__hero-image {
        order: -1;
        align-self: stretch;
    }

    .home .section__inner .home__hero-image .wpb_single_image,
    .home .section__inner .home__hero .vc_btn3-container {
        text-align: center;
    }

    .home .section__inner .home__hero-text {
        padding-block: 24px 32px;
    }

    .section .section__inner .vc_tta-tabs:not([class*=vc_tta-gap]):not(.vc_tta-o-no-fill).vc_tta-tabs-position-top .vc_tta-tab > a {
        padding: 16px;
    }

    .footer__row--top {
        display: none;
    }

    .footer__row--middle {
        flex-direction: column;
        align-items: center;
        padding-top: 24px;
    }

    .amp__pagination > * {
        font-size: 16px;
    }
}

@media (max-width: 991.98px) {
    .container {
        max-width: 720px;
    }

    .tabs__nav-list {
        column-gap: 24px;
    }

    .tabs__nav-link {
        padding-block: 8px;
        font-size: var(--fs-small-14);
        line-height: var(--lh-small-14);
    }
}

@media (max-width: 782px) {
    body.logged-in.admin-bar .header__nav::before,
    body.logged-in.admin-bar .header .header__nav .ubermenu.ubermenu-responsive {
        top: calc(var(--header-height-mobile) + 46px);
    }
}

@media (max-width: 767.98px) {
    .container {
        max-width: 540px;
    }

    .home .section__inner .home__stats {
        flex-direction: column;
        gap: 40px;
        padding: 40px 20px;
    }

    .home .section__inner .home__stats > .wpb_column {
        flex: none;
    }

    .header__cover-title {
        font-size: var(--fs-h4);
        line-height: var(--lh-h4);
    }

    .amp__pagination > * {
        width: 40px;
        font-size: 14px;
    }

    .amp__pagination-dots {
        width: 20px;
    }

    .cards__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .card__vertical:last-child:nth-child(odd) {
        flex-direction: column;
    }

    .card__vertical:last-child:nth-child(odd) .card__vertical-image {
        flex: 0 0 auto;
    }

    .card__vertical:last-child:nth-child(odd) .card__vertical-body {
        padding-inline-start: var(--card-vertical-padding-inline);
    }

    .card__vertical:last-child:nth-child(odd) .card__vertical-status {
        inset-inline-end: 0;
        width: auto;
    }
}

@media (max-width: 575.98px) {
    .container {
        max-width: none;
    }

    .table-responsive-sm,
    .article table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    :root {
        --section-inner-padding: 20px;
    }

    .section {
        padding: 16px 0;
    }

    .section .section__inner .faq__contacts .become__partner__btn {
        margin-top: 24px;
    }

    .faq__contacts .become__partner__btn > .vc_general.vc_btn3,
    .home__hero .become__partner__btn > .vc_general.vc_btn3,
    .home__info .become__partner__btn > .vc_general.vc_btn3 {
        display: flex;
        width: 100%;
    }

    .home .section__inner > .vc_row + .vc_row {
        margin-top: 16px;
    }

    /* Обёртка кнопки у WPBakery строчная — без блока кнопка во всю ширину не растянется. */
    .home .section__inner .home__hero .vc_btn3-container,
    .home .section__inner .home__info .vc_btn3-container {
        display: block;
    }

    .header .header__nav .ubermenu.ubermenu-responsive {
        width: 100%;
    }

    .header__cover {
        padding: 24px 0;
    }

    .header__cover .container {
        gap: 12px;
    }

    .awards__slider {
        width: calc(100% - 64px);
    }

    .amp__gallery-btn {
        display: none;
    }

    .footer__row--bottom {
        padding-top: 16px;
    }

    .footer__text {
        text-align: center;
    }

    .footer__text p + p {
        margin-top: 12px;
    }

    .footer__notice .footer__text {
        text-align: start;
    }

    .card__horizontal {
        flex-direction: column;
        gap: 20px;
    }

    .cards__grid {
        --card-vertical-padding-inline: 20px;
    }

    .amp__pagination > * {
        width: 35px;
        font-size: 12px;
    }

    .amp__pagination-dots {
        width: 18px;
    }

    .banners__pagination {
        margin-top: 16px;
    }
}

@media (max-width: 480px) {
    .amp__pagination > * {
        width: 30px;
        font-size: 11px;
    }

    .amp__pagination-dots {
        width: 15px;
    }
}
