:root {
    --fx-gold-400: #9B8A7E;
    --fx-gold-200: #E9E4E2;
    --fx-black-800: #394050;
    --fx-black-500: #677590;
    --fx-black-300: #B1B9C8;
    --fx-white: #FFFFFF;

    --fx-font-head: 'SangBleuSunrise', 'Times New Roman', serif;
    --fx-font-text: 'Circe', Arial, sans-serif;

    --fx-h1: clamp(32px, 4.557vw, 72px);
    --fx-h2: clamp(24px, 3.038vw, 48px);
    --fx-h4: clamp(19px, 1.519vw, 24px);
    --fx-title: clamp(18px, 1.329vw, 21px);
    --fx-text-l: clamp(16px, 1.329vw, 19px);
    --fx-text-m: clamp(15px, 1.139vw, 18px);
    --fx-text-s: clamp(14px, 1.013vw, 16px);
    --fx-text-cap: clamp(13px, 0.886vw, 14px);

    --fx-gap-section: clamp(48px, 8.481vw, 134px);
    --fx-gap-head: clamp(28px, 4.177vw, 66px);
    --fx-gap-col: 25px;
    --fx-col-label: 220px;
    --fx-header-h: 66px;
    --fx-container-pad: 16px;
    --fx-container-max: 100%;
}

@media (min-width: 576px) {
    :root {
        --fx-container-max: 540px;
    }
}

@media (min-width: 768px) {
    :root {
        --fx-container-max: 720px;
        --fx-h1: 38px;
        --fx-h2: 27px;
    }
}

@media (min-width: 992px) {
    :root {
        --fx-container-max: 960px;
        --fx-h1: 46px;
        --fx-h2: 31px;
        --fx-h4: 20px;
        --fx-title: 18px;
        --fx-text-l: 18px;
    }
}

@media (min-width: 1200px) {
    :root {
        --fx-container-max: 1140px;
        --fx-h1: 55px;
        --fx-h2: 37px;
        --fx-h4: 21px;
        --fx-title: 18px;
        --fx-text-l: 18px;
        --fx-text-m: 16px;
        --fx-text-s: 15px;
        --fx-text-cap: 13px;
    }
}

@media (min-width: 1500px) {
    :root {
        --fx-container-max: 1500px;
        --fx-h1: 72px;
        --fx-h2: 48px;
        --fx-h4: 24px;
        --fx-title: 20px;
        --fx-text-l: 21px;
        --fx-text-m: 18px;
        --fx-text-s: 16px;
        --fx-text-cap: 14px;
    }
}

.fx {
    position: relative;
    margin-top: var(--fx-gap-section);
    font-family: var(--fx-font-text);
    color: var(--fx-black-800);
}

.fx:first-child {
    margin-top: 0;
}

.fx:last-child {
    margin-bottom: var(--fx-gap-section);
}

/* Старый блок сразу после нового: .fx задаёт отступ сверху и не имеет нижнего,
   а .section — наоборот, только нижний. На стыке не остаётся ничего. */
.fx + .section,
.fx + .section-96 {
    margin-top: var(--fx-gap-section);
}

.fx-container {
    width: min(100% - 2 * var(--fx-container-pad), var(--fx-container-max));
    margin: 0 auto;
}

.fx-bg,
.fx-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.fx-bg {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.fx-overlay {
    background: #000;
    opacity: var(--fx-overlay, 0.4);
}

.fx-cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fx-title {
    margin: 0;
    font-family: var(--fx-font-head);
    font-weight: 400;
    font-size: var(--fx-h2);
    line-height: 1.4;
    color: var(--fx-black-800);
    text-transform: uppercase;
}

.fx-title--light {
    color: var(--fx-white);
}

.fx-label {
    margin: 0;
    padding-top: 11px;
    font-size: var(--fx-text-s);
    line-height: 1.33;
    color: var(--fx-black-500);
}

.fx-lead {
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-wysiwyg {
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-500);
}

.fx-wysiwyg p {
    margin: 0 0 16px;
}

.fx-wysiwyg p:last-child {
    margin-bottom: 0;
}

.fx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 17px 28px;
    border-radius: 120px;
    font-family: var(--fx-font-text);
    font-weight: 700;
    font-size: var(--fx-text-cap);
    line-height: 1.43;
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.fx-btn:hover {
    text-decoration: none;
    opacity: 0.85;
}

.fx-btn--gold {
    background: var(--fx-gold-400);
    color: var(--fx-white);
}

.fx-btn--gold:hover,
.fx-btn--gold:focus {
    color: var(--fx-white);
}

.fx-btn--outline {
    background: var(--fx-white);
    border: 1px solid #C4C4C4;
    color: var(--fx-black-800);
}

.fx-btn--outline:hover,
.fx-btn--outline:focus {
    color: var(--fx-black-800);
}

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

.fx-list__item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    color: var(--fx-black-500);
}

.fx-list .fx-check {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 3px;
    color: var(--fx-gold-400);
}

.fx-list--large .fx-list__item {
    font-size: var(--fx-text-l);
    line-height: 1.33;
}

.fx-list--medium .fx-list__item {
    gap: 12px;
    font-size: var(--fx-text-m);
    line-height: 1.4;
}

.fx-list--light .fx-list__item {
    color: var(--fx-white);
}

.fx-list--light .fx-check {
    color: var(--fx-white);
}

.fx-list--cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 20px;
}

.fx-list--grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px var(--fx-gap-col);
}

.fx-head {
    display: grid;
    grid-template-columns: var(--fx-col-label) minmax(0, 1fr) auto;
    gap: var(--fx-gap-col);
    align-items: start;
    margin-bottom: var(--fx-gap-head);
}

.fx-head--nolabel {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(28px, 5.25vw, 83px);
    align-items: center;
}

.fx-head__action {
    padding-top: 4px;
}

.fx-head__note {
    margin: 0;
    max-width: 605px;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-hero {
    position: relative;
    height: clamp(520px, calc(100vh - var(--fx-header-h)), 980px);
    overflow: hidden;
}

.fx-hero:first-child {
    height: clamp(600px, 100vh, 1080px);
    margin-top: calc(-1 * var(--fx-header-h));
}

.fx-hero--screen,
.fx-hero--screen:first-child {
    height: 100vh;
}

.fx-hero .fx-hero__bg {
    position: absolute;
    inset: 0;
}

.fx-hero__video {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.fx-hero__video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fx-hero__overlay {
    position: absolute;
    inset: 0;
    background: #000;
    opacity: var(--fx-overlay, 0.4);
    pointer-events: none;
}

.fx-hero__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--fx-gap-col);
    height: 100%;
    padding-bottom: clamp(28px, 5.47vw, 86px);
}

.fx-hero__content {
    max-width: 1245px;
}

.fx-hero__title {
    margin: 0;
    font-family: var(--fx-font-head);
    font-weight: 400;
    font-size: var(--fx-h1);
    line-height: 1.143;
    color: var(--fx-white);
    text-transform: uppercase;
}

.fx-hero__subtitle {
    margin: 20px 0 0;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-white);
}

.fx-hero__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
    flex-shrink: 0;
}

.fx-hero__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 16px;
}

.fx-badge {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 14px 28px 14px 14px;
    border-radius: 200px;
    background: var(--fx-white);
}

.fx-badge__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 120px;
    background: var(--fx-gold-400);
    color: var(--fx-white);
}

.fx-badge__img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.fx-badge__text {
    font-size: var(--fx-text-m);
    line-height: 1.4;
    color: var(--fx-black-800);
}

.fx-hero .video-sound-toggle {
    position: absolute;
    right: max(var(--fx-container-pad), calc((100% - var(--fx-container-max)) / 2));
    top: calc(var(--fx-header-h) + 32px);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.25);
    color: var(--fx-white);
    cursor: pointer;
}

.fx-hero .video-sound-toggle .sound-off {
    display: none;
}

.fx-hero .video-sound-toggle.muted .sound-on {
    display: none;
}

.fx-hero .video-sound-toggle.muted .sound-off {
    display: block;
}

.fx-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 350px;
    gap: clamp(28px, 10.3vw, 163px);
    align-items: start;
}

.fx-intro__main {
    display: grid;
    grid-template-columns: var(--fx-col-label) minmax(0, 1fr);
    gap: var(--fx-gap-col);
    align-items: start;
}

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

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

.fx-intro__text {
    display: flex;
    flex-direction: column;
}

.fx-intro__text .fx-title {
    text-transform: none;
}

.fx-intro__text .fx-lead {
    margin-top: var(--fx-gap-col);
}

.fx-intro__text .fx-wysiwyg {
    margin-top: 48px;
}

.fx-intro__text .fx-lead + .fx-wysiwyg {
    margin-top: var(--fx-gap-head);
}

.fx-intro__aside {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 4.18vw, 66px);
    height: 100%;
}

.fx-intro__note {
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-intro__image {
    height: 277px;
    margin-top: auto;
    overflow: hidden;
}

.fx-intro__aside--image {
    align-self: stretch;
}

.fx-intro__aside--image .fx-intro__image {
    flex: 1 1 auto;
    height: auto;
    min-height: 277px;
    margin-top: 0;
}

.fx-listimg {
    position: relative;
}

.fx-listimg__banner {
    position: relative;
    width: min(100% - 2 * var(--fx-container-pad), var(--fx-container-max));
    margin: 0 auto;
    overflow: hidden;
}

.fx-listimg--full .fx-listimg__banner {
    width: 100%;
}

.fx-listimg__inner {
    position: relative;
    z-index: 2;
    padding-top: clamp(40px, 6.58vw, 104px);
    padding-bottom: clamp(40px, 6.58vw, 104px);
    padding-left: clamp(16px, 5.89vw, 93px);
    padding-right: clamp(16px, 3.29vw, 52px);
}

.fx-listimg--full .fx-listimg__inner {
    padding-left: clamp(4px, 0.886vw, 14px);
    padding-right: 0;
}

.fx-listimg__subtitle {
    margin: 20px 0 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-h4);
    line-height: 1.28;
    color: var(--fx-white);
}

.fx-listimg__list-title {
    margin: 48px 0 -28px;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-white);
}

.fx-listimg .fx-list {
    max-width: 768px;
    margin-top: 48px;
    gap: 10px;
}

.fx-listimg .fx-list--cols {
    max-width: none;
    gap: 10px var(--fx-gap-col);
}

.fx-listimg__note {
    margin: 48px 0 0;
    max-width: 768px;
    font-family: var(--fx-font-head);
    font-size: var(--fx-h4);
    line-height: 1.28;
    color: var(--fx-white);
}

.fx-listimg--aside {
    display: grid;
    grid-template-columns: minmax(0, 1292fr) minmax(0, 404fr);
    gap: var(--fx-gap-col);
    width: min(100% - 2 * var(--fx-container-pad), var(--fx-container-max));
    margin-left: auto;
    margin-right: auto;
    align-items: start;
}

.fx-listimg--aside .fx-listimg__banner {
    width: 100%;
}

.fx-listimg__aside {
    display: flex;
    flex-direction: column;
    gap: var(--fx-gap-col);
}

.fx-listimg__aside-title {
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.17;
    color: var(--fx-black-800);
}

.fx-listimg__tiles {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.fx-tile {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 20px 28px;
    background: var(--fx-gold-200);
}

.fx-tile__icon img {
    display: block;
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.fx-tile__text {
    margin: 0;
    font-weight: 700;
    font-size: var(--fx-text-cap);
    line-height: 1.43;
    color: #494037;
    text-transform: uppercase;
}

.fx-cards__list {
    display: grid;
    grid-template-columns: repeat(var(--fx-cards-cols, 2), minmax(0, 1fr));
    gap: var(--fx-gap-col);
}

.fx-cards__image {
    height: clamp(180px, 21.9vw, 346px);
    margin-top: var(--fx-gap-head);
    overflow: hidden;
}

.fx-card__text {
    margin: 0;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-500);
}

.fx-card {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding: clamp(20px, 3.04vw, 48px);
    border: 1px solid var(--fx-black-300);
}

.fx-card__head {
    display: flex;
    align-items: center;
    gap: 8px;
}

.fx-card__title {
    flex: 1 1 auto;
    margin: 0;
    font-family: var(--fx-font-head);
    font-weight: 400;
    font-size: var(--fx-title);
    line-height: 1.17;
    color: var(--fx-black-800);
}

.fx-card__num {
    flex: 0 0 auto;
    font-weight: 700;
    font-size: var(--fx-text-cap);
    line-height: 1.43;
    color: var(--fx-gold-400);
}

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

.fx-card__subtitle {
    margin: 0;
    font-weight: 700;
    font-size: var(--fx-text-m);
    line-height: 1.4;
    color: var(--fx-black-800);
}

.fx-card__note {
    margin: 27px 0 0;
    font-size: var(--fx-text-m);
    line-height: 1.4;
    color: var(--fx-black-500);
}

.fx-cardlist__grid {
    display: grid;
    grid-template-columns: var(--fx-col-label) minmax(0, 1fr);
    gap: var(--fx-gap-col);
    align-items: start;
}

.fx-cardlist__grid--nonote .fx-cardlist__card,
.fx-cardlist__grid--nonote .fx-cardlist__after {
    grid-column: 2;
}

.fx-cardlist__note {
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-cardlist__card {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding: clamp(20px, 3.04vw, 48px);
    border: 1px solid var(--fx-black-300);
}

.fx-cardlist__subtitle {
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.17;
    color: var(--fx-black-800);
}

.fx-cardlist__after {
    grid-column: 2;
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-acc__grid {
    display: grid;
    grid-template-columns: minmax(0, 996fr) minmax(0, 700fr);
    gap: var(--fx-gap-col);
    align-items: stretch;
}

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

.fx-acc__lead {
    margin: calc(0px - var(--fx-gap-head) + 34px) 0 34px;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-500);
}

.fx-acc__item {
    border-bottom: 1px solid var(--fx-black-300);
}

.fx-acc__item:first-child {
    border-top: 1px solid var(--fx-black-300);
}

.fx-acc__btn {
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.86vw, 29px);
    width: 100%;
    padding: 26px 0;
    border: 0;
    background: none;
    text-align: left;
    cursor: pointer;
}

.fx-acc__btn[disabled] {
    cursor: default;
}

.fx-acc__num {
    flex: 0 0 auto;
    min-width: 64px;
    font-family: var(--fx-font-head);
    font-size: var(--fx-h2);
    line-height: 1.4;
    color: var(--fx-gold-400);
}

.fx-acc__name {
    flex: 1 1 auto;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.17;
    color: var(--fx-black-800);
}

.fx-acc__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid var(--fx-black-300);
    border-radius: 120px;
    color: var(--fx-black-800);
    transition: transform 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.fx-acc__btn:hover .fx-acc__icon {
    border-color: var(--fx-gold-400);
    color: var(--fx-gold-400);
}

.fx-acc__item.is-open .fx-acc__icon {
    transform: rotate(180deg);
    border-color: var(--fx-gold-400);
    color: var(--fx-gold-400);
}

.fx-acc__btn[disabled] .fx-acc__icon {
    opacity: 0.4;
}

.fx-acc__btn[disabled]:hover .fx-acc__icon {
    border-color: var(--fx-black-300);
    color: var(--fx-black-800);
}

.fx-acc__panel-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0 0 34px clamp(16px, 5.89vw, 93px);
}

.fx-acc__subtitle {
    margin: 0;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-acc__text {
    margin: 0;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-500);
}

.fx-acc__image {
    overflow: hidden;
}

.fx-chk__grid {
    display: grid;
    grid-template-columns: minmax(0, 996fr) minmax(0, 700fr);
    gap: var(--fx-gap-col);
    align-items: start;
}

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

.fx-chk__text {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.fx-chk__lead {
    margin: 0;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-500);
}

.fx-chk__subtitle {
    margin: 0 0 -8px;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-chk__image {
    align-self: stretch;
    min-height: clamp(220px, 25.4vw, 401px);
    overflow: hidden;
}

.fx-tabs__grid {
    display: grid;
    grid-template-columns: minmax(0, 552fr) minmax(0, 996fr);
    gap: clamp(28px, 10.3vw, 163px);
    align-items: center;
}

.fx-tabs__image {
    align-self: stretch;
    min-height: 328px;
    overflow: hidden;
}

.fx-tabs__content {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3.04vw, 48px);
}

.fx-tabs__wrap {
    display: flex;
    flex-direction: column;
    gap: var(--fx-gap-col);
}

.fx-tabs__nav {
    display: flex;
    gap: 4px;
    padding: 7px;
    border: 1px solid var(--fx-black-300);
    border-radius: 170px;
    background: var(--fx-white);
}

.fx-tabs__btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 12px 20px;
    border: 0;
    border-radius: 500px;
    background: none;
    font-family: var(--fx-font-text);
    font-weight: 700;
    font-size: var(--fx-text-cap);
    line-height: 1.43;
    color: var(--fx-black-500);
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.fx-tabs__btn.is-active {
    background: var(--fx-gold-400);
    color: var(--fx-white);
}

.fx-tabs__panel {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.fx-tabs__over {
    margin: 0;
    font-weight: 700;
    font-size: var(--fx-text-cap);
    line-height: 1.43;
    color: var(--fx-gold-400);
    text-transform: uppercase;
}

.fx-tabs__subtitle {
    margin: 0 0 -8px;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-tabs__title {
    margin: -14px 0 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.17;
    color: var(--fx-black-800);
}

.fx-tabs--full .fx-tabs__grid {
    grid-template-columns: minmax(0, 1fr);
}

.fx-steps {
    display: flex;
    flex-direction: column;
}

.fx-step {
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    gap: var(--fx-gap-col);
    align-items: start;
    padding: 48px 0;
    border-bottom: 1px solid var(--fx-black-300);
}

.fx-step:first-child {
    padding-top: 0;
}

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

.fx-step__title {
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.17;
    color: var(--fx-black-800);
}

.fx-step__num {
    font-weight: 700;
    font-size: var(--fx-text-cap);
    line-height: 1.43;
    color: var(--fx-gold-400);
}

.fx-step__body {
    display: flex;
    flex-direction: column;
    gap: var(--fx-gap-col);
}

.fx-step__subtitle {
    margin: 0 0 -24px;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-step__body .fx-list b {
    color: var(--fx-black-800);
}

.fx-adv__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 5.25vw, 83px);
    align-items: start;
}

.fx-adv--wide-right .fx-adv__grid {
    grid-template-columns: minmax(0, 700fr) minmax(0, 996fr);
    gap: var(--fx-gap-col);
}

.fx-adv--wider-right .fx-adv__grid {
    grid-template-columns: minmax(0, 551fr) minmax(0, 1089fr);
    gap: clamp(28px, 5.25vw, 83px);
}

.fx-adv__left {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3.04vw, 48px);
}

.fx-adv__right {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3.04vw, 48px);
    padding-top: 10px;
}

.fx-adv--wide-right .fx-adv__right,
.fx-adv--wider-right .fx-adv__right {
    padding-top: 0;
}

.fx-adv__left .fx-adv__accent p {
    margin: 0 0 16px;
}

.fx-adv__left .fx-adv__accent p:last-child {
    margin-bottom: 0;
}

.fx-adv__subtitle {
    margin: 0 0 12px;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-adv__subtitle + .fx-list {
    margin-top: -38px;
}

.fx-adv__accent {
    margin: 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-adv__image {
    height: clamp(180px, 21.9vw, 346px);
    margin-top: var(--fx-gap-head);
    overflow: hidden;
}

.fx-goal__grid {
    display: grid;
    grid-template-columns: var(--fx-col-label) minmax(0, 1fr) 350px;
    gap: 32px;
    align-items: center;
}

.fx-goal__grid--nolabel {
    grid-template-columns: minmax(0, 1fr) 350px;
}

.fx-goal__grid--noimage {
    grid-template-columns: var(--fx-col-label) minmax(0, 1fr);
}

.fx-goal__grid--nolabel.fx-goal__grid--noimage {
    grid-template-columns: minmax(0, 1fr);
}

.fx-goal__grid .fx-label {
    align-self: start;
}

.fx-goal__text {
    display: flex;
    flex-direction: column;
    gap: var(--fx-gap-head);
}

.fx-goal__lead {
    margin: calc(0px - var(--fx-gap-head) + 34px) 0 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-goal__subtitle {
    margin: 0 0 -8px;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-goal__text .fx-list {
    gap: 16px var(--fx-gap-col);
}

.fx-goal__image {
    align-self: stretch;
    min-height: clamp(220px, 24.2vw, 382px);
    overflow: hidden;
}

.fx-vsplit__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(28px, 10.3vw, 163px);
    align-items: stretch;
}

.fx-vsplit__left,
.fx-vsplit__right {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3.04vw, 48px);
}

.fx-vsplit__image {
    flex: 1 1 auto;
    min-height: clamp(220px, 23.1vw, 365px);
    overflow: hidden;
}

.fx-vsplit__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fx-vsplit__subtitle {
    margin: 0;
    font-weight: 700;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-vsplit__info {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    padding: 20px;
    border-radius: 16px;
    background: #EFF0F1;
}

.fx-vsplit__info .fx-info {
    flex: 0 0 auto;
    color: var(--fx-black-500);
}

.fx-vsplit__info p {
    margin: 0;
    font-size: var(--fx-text-m);
    line-height: 1.4;
    color: var(--fx-black-500);
}

.fx-video {
    position: relative;
    flex: 1 1 auto;
    min-height: clamp(200px, 25.3vw, 400px);
    overflow: hidden;
}

.fx-video__player,
.fx-video__poster,
.fx-video__frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    object-position: var(--fx-poster-pos, center center);
}

.fx-video__overlay {
    position: absolute;
    inset: 0;
    background: rgba(57, 64, 80, 0.16);
    pointer-events: none;
}

.fx-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 17px;
    border: 0;
    border-radius: 120px;
    background: var(--fx-gold-400);
    color: var(--fx-white);
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.fx-video__play:hover {
    opacity: 0.85;
}

.fx-video.is-playing .fx-video__overlay,
.fx-video.is-playing .fx-video__play,
.fx-video.is-playing .fx-video__poster {
    display: none;
}

.fx-icons .fx-title {
    margin-bottom: var(--fx-gap-head);
}

.fx-icons__list {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--fx-black-300);
    border-left: 1px solid var(--fx-black-300);
}

.fx-icons__cell {
    display: flex;
    flex: 1 1 calc(100% / var(--fx-icons-cols, var(--fx-icons-cols-wide, 4)) - 1px);
    flex-direction: column;
    gap: 28px;
    min-width: 0;
    padding: 28px;
    border-right: 1px solid var(--fx-black-300);
    border-bottom: 1px solid var(--fx-black-300);
}

.fx-icons__icon img {
    display: block;
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.fx-icons__text {
    margin: 0;
    font-weight: 700;
    font-size: var(--fx-text-cap);
    line-height: 1.43;
    color: var(--fx-black-800);
    text-transform: uppercase;
}

.fx-faq__grid {
    display: grid;
    grid-template-columns: 478px minmax(0, 1fr);
    gap: var(--fx-gap-col);
    align-items: start;
}

.fx-faq__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--fx-gap-head);
}

.fx-faq__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fx-faq__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    width: 100%;
    padding: 20px 28px;
    border: 0;
    border-radius: 16px;
    background: var(--fx-gold-200);
    text-align: left;
    cursor: pointer;
}

.fx-faq__question {
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-black-800);
}

.fx-faq__icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 120px;
    background: var(--fx-white);
    color: var(--fx-black-800);
    transition: transform 0.25s ease;
}

.fx-faq__item.is-open .fx-faq__icon {
    transform: rotate(180deg);
}

.fx-faq__btn[disabled] {
    cursor: default;
}

.fx-faq__btn[disabled] .fx-faq__icon {
    opacity: 0.4;
}

.fx-faq__answer {
    padding: 28px;
}

.fx-cta {
    position: relative;
}

.fx-cta__banner {
    position: relative;
    width: min(100% - 2 * var(--fx-container-pad), var(--fx-container-max));
    margin: 0 auto;
    overflow: hidden;
}

.fx-cta__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 266px;
    gap: var(--fx-gap-col);
    align-items: start;
    padding: clamp(34px, 5.25vw, 83px) clamp(16px, 5.25vw, 83px);
}

.fx-cta__main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
}

.fx-cta__main .fx-title {
    text-transform: none;
}

.fx-cta__text {
    margin: 0;
    font-size: var(--fx-text-l);
    line-height: 1.33;
    color: var(--fx-white);
}

.fx-cta__body {
    max-width: 816px;
}

.fx-cta__text + .fx-cta__text {
    margin-top: 14px;
}

.fx-cta__main .fx-btn {
    margin-top: 20px;
}

.fx-cta__aside {
    margin: 8px 0 0;
    font-family: var(--fx-font-head);
    font-size: var(--fx-title);
    line-height: 1.33;
    color: var(--fx-white);
}

@media (max-width: 1440px) {
    :root {
        --fx-col-label: 150px;
    }

    .fx-intro__grid {
        grid-template-columns: minmax(0, 1fr) 290px;
    }

    .fx-faq__grid {
        grid-template-columns: 340px minmax(0, 1fr);
    }

    .fx-goal__grid {
        grid-template-columns: var(--fx-col-label) minmax(0, 1fr) 290px;
    }

    .fx-goal__grid--nolabel {
        grid-template-columns: minmax(0, 1fr) 290px;
    }

    .fx-step {
        grid-template-columns: 290px minmax(0, 1fr);
    }

    .fx-acc__num {
        min-width: 52px;
    }
}

@media (max-width: 1200px) {
    .fx-icons__list {
        --fx-icons-cols: 4;
    }

    .fx-list--grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fx-cards__list {
        --fx-cards-cols: 2;
    }

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

    .fx-listimg__aside {
        padding-top: var(--fx-gap-col);
    }
}

@media (max-width: 992px) {
    .fx-head {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .fx-head__action {
        padding-top: 0;
    }

    .fx-intro__grid,
    .fx-intro__main,
    .fx-acc__grid,
    .fx-chk__grid,
    .fx-tabs__grid,
    .fx-adv__grid,
    .fx-vsplit__grid,
    .fx-cardlist__grid,
    .fx-faq__grid,
    .fx-cta__inner {
        grid-template-columns: minmax(0, 1fr);
    }

    .fx-cardlist__card,
    .fx-cardlist__after,
    .fx-cardlist__grid--nonote .fx-cardlist__card,
    .fx-cardlist__grid--nonote .fx-cardlist__after {
        grid-column: auto;
    }

    .fx-adv--wide-right .fx-adv__grid,
    .fx-adv--wider-right .fx-adv__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .fx-goal__grid,
    .fx-goal__grid--nolabel.fx-goal__grid--noimage,
    .fx-step {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .fx-goal__image {
        height: 320px;
        min-height: 0;
    }

    .fx-head--nolabel {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
    }

    .fx-list--grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fx-chk__image {
        height: 320px;
        min-height: 0;
    }

    .fx-vsplit__image {
        height: 320px;
        min-height: 0;
    }

    .fx-vsplit__info {
        gap: 16px;
    }

    .fx-intro__image,
    .fx-intro__aside--image .fx-intro__image {
        height: 260px;
        min-height: 0;
        margin-top: 0;
    }

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

    .fx-acc__image,
    .fx-tabs__image {
        height: 320px;
        min-height: 0;
        order: -1;
    }

    .fx-adv__subtitle + .fx-list {
        margin-top: 0;
    }

    .fx-hero__inner {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        gap: 24px;
    }

    .fx-hero__aside {
        align-items: flex-start;
    }

    .fx-hero__badges {
        justify-content: flex-start;
    }
}

@media (max-width: 991px) {
    :root {
        --fx-header-h: 52px;
    }
}

@media (max-width: 575px) {
    :root {
        --fx-header-h: 88px;
    }
}

@media (max-width: 767px) {
    .fx-title br,
    .fx-hero__title br {
        display: none;
    }

    .fx-list__item {
        gap: 12px;
    }

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

    .fx-icons__list {
        --fx-icons-cols: 2;
    }

    .fx-icons__cell {
        gap: 16px;
        padding: 20px;
    }

    .fx-cardlist__card {
        padding: 24px 20px;
    }

    .fx-tile {
        gap: 16px;
        padding: 16px 20px;
    }

    .fx-tile__icon img {
        width: 40px;
        height: 40px;
    }

    .fx-step {
        padding: 32px 0;
    }

    .fx-step__body {
        gap: 24px;
    }

    .fx-video__play {
        padding: 14px;
    }

    .fx-acc__btn {
        gap: 12px;
        padding: 20px 0;
    }

    .fx-acc__num {
        min-width: 44px;
    }

    .fx-acc__icon {
        width: 36px;
        height: 36px;
    }

    .fx-faq__btn {
        gap: 16px;
        padding: 16px 20px;
    }

    .fx-faq__icon {
        width: 44px;
        height: 44px;
    }

    .fx-faq__answer {
        padding: 20px;
    }

    .fx-card {
        padding: 24px 20px;
    }

    .fx-badge {
        gap: 12px;
        padding: 8px 20px 8px 8px;
    }

    .fx-badge__icon {
        width: 44px;
        height: 44px;
    }

    .fx-tabs__nav {
        flex-wrap: wrap;
        border-radius: 24px;
    }

    .fx-tabs__btn {
        flex: 1 1 100px;
    }

    .fx-btn {
        padding: 14px 22px;
    }
}
