@charset "UTF-8";

@font-face {
    font-family: "Geometria";
    src: url("../../fonts/Geometria-Regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Geometria";
    src: url("../../fonts/Geometria-Bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-display: swap;
    font-family: "PT Sans Narrow";
    font-style: normal;
    font-weight: 400;
    src: url("../../fonts/pt-sans-narrow-v19-cyrillic_cyrillic-ext_latin_latin-ext-regular.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "PT Sans Narrow";
    font-style: normal;
    font-weight: 700;
    src: url("../../fonts/pt-sans-narrow-v19-cyrillic_cyrillic-ext_latin_latin-ext-700.woff2") format("woff2");
}


.page-template-page-home-redesign .footer-fon {
    display: none;
}

.home-redesign .btn-red,
.home-redesign .btn-white {
    display: flex;
}

@media (hover: hover) and (pointer: fine) {
    .home-redesign .btn-red .popup-link-custom:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 24px rgba(204, 0, 30, 0.2);
    }
}


@media (hover: hover) and (pointer: fine) {
    .home-redesign .btn-white :is(a, button):hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
    }
}


@media (hover: hover) and (pointer: fine) {

    .home-redesign .btn-red .popup-link-custom:hover::before,
    .home-redesign .btn-white :is(a, button):hover::before {
        left: 100%;
    }
}


.home-redesign .btn-red .popup-link-custom,
.home-redesign .btn-white :is(a, button) {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    width: 100%;
    min-height: 60px;
    padding: 17px 40px;
    max-width: 100%;
    border: 0;
    border-radius: 40px;
    font-family: "Geometria", sans-serif;
    font-size: clamp(14px, calc(0.178571vw + 13.285714px), 16px);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.home-redesign .btn-red .popup-link-custom {
    color: #fafaf8;
    background: linear-gradient(102deg, #cc001e 38.45%, #7a0114 100%);
}

.home-redesign .btn-white :is(a, button) {
    color: #111;
    background: #fafaf8;
}

@media (max-width: 1085px) {

    .home-redesign .btn-red .popup-link-custom,
    .home-redesign .btn-white :is(a, button) {
        min-height: 50px;
        padding: 16px 20px;
        white-space: normal;
    }
}


@media (prefers-reduced-motion: reduce) {

    .home-redesign .btn-red .popup-link-custom,
    .home-redesign .btn-white :is(a, button) {
        transition: none;
    }
}


.home-redesign .btn-white.btn-black :is(a, button) {
    color: #fafaf8;
    background: #111;
}

.home-redesign .btn-red .popup-link-custom::before,
.home-redesign .btn-white :is(a, button)::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
    transform: skewX(-25deg);
    transition: left 0.75s ease;
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {

    .home-redesign .btn-red .popup-link-custom::before,
    .home-redesign .btn-white :is(a, button)::before {
        transition: none;
    }
}


.home-redesign .btn-red .popup-link-custom:focus-visible,
.home-redesign .btn-white :is(a, button):focus-visible {
    outline: 2px solid #cc001e;
    outline-offset: 4px;
}

.home-redesign h1,
.home-redesign h2,
.home-redesign h3,
.home-redesign h4 {
    margin: 0;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-weight: 700;
    line-height: 1;
}

.home-redesign h1 span,
.home-redesign h2 span {
    color: #cc001e;
}


.home-redesign {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow-x: clip;
    background: #111;
    color: #fff;
    font-family: "Geometria", sans-serif;
}


/* Списки в ответах FAQ, по образцу оформления статей блога. */
.home-faq .faq-cust__desp :is(ul, ol) {
    padding: 15px 0;
    margin: 0;
    list-style: none;
}

.home-faq .faq-cust__desp :is(ul, ol)>li {
    position: relative;
    padding: 5px 0 5px 30px;
}

.home-faq .faq-cust__desp ul>li::before {
    content: "";
    position: absolute;
    top: 14px;
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #b80001;
}

.home-faq .faq-cust__desp ol {
    --start: 1;
    counter-reset: ordered-list calc(var(--start) - 1);
}

.home-faq .faq-cust__desp ol>li {
    counter-increment: ordered-list;
}

.home-faq .faq-cust__desp ol>li::before {
    content: counter(ordered-list) ".";
    position: absolute;
    top: 5px;
    left: 0;
    min-width: 28px;
    font-family: "TTNorms-Bold", sans-serif;
    color: #b80001;
    font-weight: 600;
}


@media (max-width: 1085px) {
    .home-redesign {
        --brush-height: clamp(24px, 7.5vw, 72px);
    }
}


.home-section {
    overflow-x: clip;
    overflow-y: visible;
}


.home-section--light {
    --home-padding-top: clamp(60px, calc(7.142857vw + 31.428571px), 140px);
    --home-padding-bottom: clamp(60px, calc(7.142857vw + 31.428571px), 140px);
    position: relative;
    padding-block: var(--home-padding-top) var(--home-padding-bottom);
    color: #111;
    background: #fafaf8;
}

@media (max-width: 1085px) {
    .home-section--light:has(+ .home-section--dark:not(.home-section--no-brush-top)) {
        --home-padding-bottom: clamp(40px, calc(var(--brush-height) + 18px), 72px);
    }
}


.home-section--light:has(+ .home-section--light) {
    --home-padding-bottom: 50px;
}

@media (max-width: 1085px) {
    .home-section--light:has(+ .home-section--light) {
        --home-padding-bottom: 25px;
    }
}


.home-section--light+.home-section--light {
    --home-padding-top: 50px;
}

@media (max-width: 1085px) {
    .home-section--light+.home-section--light {
        --home-padding-top: 25px;
    }
}


.home-section--dark {
    position: relative;
    padding-block: clamp(50px, calc(4.464286vw + 32.142857px), 100px);
    color: #fafaf8;
    background: #111;
}

@media (max-width: 1085px) {
    .home-section--dark:not(.home-section--no-brush-bottom)+.home-section--light {
        --home-padding-top: clamp(40px, calc(var(--brush-height) + 18px), 72px);
    }
}


.home-section--dark:has(+ .home-section--dark) {
    padding-bottom: 50px;
}

@media (max-width: 1085px) {
    .home-section--dark:has(+ .home-section--dark) {
        padding-bottom: 25px;
    }
}


.home-section--dark+.home-section--dark {
    padding-top: 50px;
}

@media (max-width: 1085px) {
    .home-section--dark+.home-section--dark {
        padding-top: 25px;
    }
}


.home-section--dark::before,
.home-section--dark::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    z-index: 4;
    height: 110px;
    background: url("../../image/home-redesign/section-brush.svg") center bottom / cover no-repeat;
    pointer-events: none;
}

.home-section--dark::before {
    top: -108px;
}

@media (max-width: 1085px) {
    .home-section--dark::before {
        top: calc(2px - var(--brush-height));
    }
}


.home-section--dark::after {
    bottom: -108px;
    transform: rotate(180deg);
}

@media (max-width: 1085px) {

    .home-section--dark::before,
    .home-section--dark::after {
        height: var(--brush-height);
    }
}


@media (max-width: 1085px) {
    .home-section--dark::after {
        bottom: calc(2px - var(--brush-height));
    }
}


.home-section--dark.home-section--no-brush-top::before,
.home-section--dark.home-section--no-brush-bottom::after {
    content: none;
}


.home-section--dark:has(+ .home-section--dark)::after,
.home-section--dark+.home-section--dark::before {
    content: none;
}


.home-hero {
    overflow-x: clip;
    overflow-y: visible;
    margin-top: -15px;
    padding: 86px 0 100px;
    background: #111;
}

@media (max-width: 1400px) {
    .home-hero {
        margin-top: -35px;
    }
}

@media (max-width: 1085px) {
    .home-hero {
        padding: calc(24px + var(--brush-height)) 0 50px;
    }
}

@media (max-width: 650px) {
    .home-hero {
        margin-top: 0;
    }
}


.home-hero::before {
    top: 0;
    background: #000;
    -webkit-mask: url("../../image/home-redesign/section-brush.svg") center bottom / cover no-repeat;
    mask: url("../../image/home-redesign/section-brush.svg") center bottom / cover no-repeat;
    transform: rotate(180deg);
}

.home-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 680px) minmax(0, 660px);
    gap: 60px;
    align-items: start;
}

@media (max-width: 1399px) and (min-width: 1086px) {
    .home-hero__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }
}


@media (max-width: 1085px) {
    .home-hero__inner {
        display: flex;
        flex-direction: column;
        gap: 0;
    }
}


.home-hero__column {
    min-width: 0;
}

.home-hero__column--text {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 60px;
    padding-top: 20px;
}

@media (max-width: 1399px) and (min-width: 1086px) {
    .home-hero__column--text {
        gap: 40px;
    }
}


.home-hero__main,
.home-hero__intro {
    display: flex;
    flex-direction: column;
}

.home-hero__main {
    gap: 40px;
}

@media (max-width: 1085px) {

    .home-hero__column,
    .home-hero__main {
        display: contents;
    }
}


.home-hero__intro {
    align-items: flex-start;
    gap: 24px;
}

@media (max-width: 1085px) {
    .home-hero__intro {
        order: 1;
        gap: 14px;
        width: 100%;
        padding-bottom: 24px;
    }
}


.home-hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 8px;
    color: rgba(255, 255, 255, 0.5);
    font-size: clamp(14px, calc(0.37037vw + 12.66667px), 18px);
    line-height: 1.5;
    white-space: nowrap;
}

.home-hero__eyebrow::before {
    content: "";
    flex: 0 0 40px;
    height: 1px;
    background: #cc001e;
}

@media (max-width: 1085px) {
    .home-hero__eyebrow::before {
        flex-basis: 20px;
    }
}


.home-hero__title {
    width: 100%;
}

.home-hero__title h1 {
    font-size: clamp(40px, calc(3.703704vw + 26.666667px), 80px);
    line-height: 0.9;
    color: #fff;
    text-transform: uppercase;
}

.home-hero__description {
    width: min(100%, 420px);
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.66667px), 18px);
    line-height: 1.5;
}

@media (max-width: 1085px) {
    .home-hero__description {
        width: 100%;
    }
}


.home-hero__description p {
    margin: 0;
    line-height: inherit;
}

.home-hero__actions {
    display: flex;
    align-items: stretch;
    gap: 30px;
}

@media (max-width: 1085px) {
    .home-hero__actions {
        order: 3;
        position: relative;
        z-index: 3;
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
}


.home-hero__button {
    display: flex;
    flex: 0 0 auto;
}

@media (max-width: 1085px) {
    .home-hero__button {
        width: 100%;
    }
}


.home-hero__button--primary :is(a, button) {
    gap: 12px;
}

.home-hero__button--primary .popup-link-custom::after {
    content: "";
    display: block;
    flex: none;
    width: 28px;
    height: 14px;
    background: url("../../image/home-redesign/hero-button-arrow.svg") center / contain no-repeat;
    pointer-events: none;
}

.home-hero__button.btn-white :is(a, button) {
    background: #fff;
}

.home-hero__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 24px;
}

@media (max-width: 1399px) and (min-width: 1086px) {
    .home-hero__stats {
        gap: 15px;
    }
}


@media (max-width: 1085px) {
    .home-hero__stats {
        order: 4;
        gap: 20px;
        width: 100%;
        padding-top: 32px;
    }
}


.home-hero__stat {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-hero__stat {
        gap: 8px;
    }
}


@media (max-width: 1085px) {
    .home-hero__stat:nth-child(even) {
        padding-left: 20px;
        border-left: 2px solid rgba(255, 255, 255, 0.22);
    }
}


@media (max-width: 1085px) {
    .home-hero__stat:last-child:nth-child(odd) {
        flex-basis: 100%;
        padding-top: 20px;
        border-top: 2px solid rgba(255, 255, 255, 0.22);
    }
}


.home-hero__stat+.home-hero__stat {
    padding-left: 24px;
    border-left: 2px solid rgba(255, 255, 255, 0.22);
}

@media (max-width: 1399px) and (min-width: 1086px) {
    .home-hero__stat+.home-hero__stat {
        padding-left: 15px;
    }
}


@media (max-width: 1085px) {
    .home-hero__stat:last-child {
        padding: 0;
        border: 0;
    }
}


.home-hero__stat-value {
    color: #fff;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(28px, calc(0.37037vw + 26.66667px), 32px);
    font-weight: 700;
    line-height: 0.9;
    text-transform: uppercase;
    white-space: nowrap;
}

.home-hero__stat-label {
    color: rgba(255, 255, 255, 0.5);
    font-size: clamp(14px, calc(0.37037vw + 12.66667px), 18px);
    line-height: 1.5;
}

.home-hero__column--visual {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}

@media (max-width: 1085px) {
    .home-hero__column--visual {
        display: contents;
    }
}

.home-hero__media {
    flex: none;
    width: 100%;
    aspect-ratio: 660 / 465;
}

@media (max-width: 1085px) {
    .home-hero__media {
        order: 2;
        width: 100%;
        height: auto;
        aspect-ratio: 360 / 173;
    }
}


.home-hero__image {
    display: block;
    width: 145.36%;
    max-width: none;
    height: auto;
    aspect-ratio: 959.4 / 533;
    object-fit: contain;
    border-radius: 16px;
    transform: translateX(-17.615%);
}

@media (max-width: 1085px) {
    .home-hero__image {
        width: 100%;
        height: auto;
        aspect-ratio: 9 / 5;
        transform: none;
    }
}


.home-hero__cases {
    position: relative;
    z-index: 3;
    min-width: 0;
    margin-top: -90px;
}

@media (max-width: 1085px) {
    .home-hero__cases {
        order: 5;
        width: calc(100% + 20px);
        margin-top: 0;
        padding-top: 32px;
    }
}


.home-hero__swiper {
    width: calc(100% + 20px);
    margin: -12px -10px -40px;
    overflow: hidden;
}

@media (min-width: 1086px) {
    .home-hero__swiper:not(.swiper-initialized) .home-hero__case {
        flex: 0 0 50%;
        width: 50%;
    }
}


@media (max-width: 1085px) {
    .home-hero__swiper {
        width: calc(100% + 12px);
        margin: -12px -6px -30px;
    }
}


/* До инициализации две карточки занимают те же места, что после запуска Swiper. */


.home-hero__case {
    display: flex;
    box-sizing: border-box;
    height: auto;
    padding: 12px 10px 40px;
}

@media (max-width: 1085px) {
    .home-hero__case {
        flex: 0 0 276px;
        width: 276px;
        padding: 12px 6px 30px;
    }
}


.home-hero__case-card {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 207px;
    padding: 20px;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    background: #1d1d1d;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    color: #fff;
    transition: border-color 0.35s ease;
}

.home-hero__case:focus-within .home-hero__case-card {
    border-color: #cc001e;
}

@media (hover: hover) and (pointer: fine) {
    .home-hero__case:hover .home-hero__case-card {
        border-color: #cc001e;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero__case-card {
        transition: none;
    }
}


@media (max-width: 1085px) {
    .home-hero__case-card {
        min-height: 174px;
        padding: 16px;
    }
}


.home-hero__case-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(90deg, #1d1d1d 28%, rgba(29, 29, 29, 0.78) 60%, rgba(29, 29, 29, 0) 100%);
    pointer-events: none;
}

.home-hero__case-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-hero__case-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    height: 100%;
}

@media (max-width: 1085px) {
    .home-hero__case-content {
        gap: 16px;
    }
}


.home-hero__case-tag {
    padding: 6px 12px 4px;
    border-radius: 40px;
    background: #353535;
    font-size: clamp(12px, calc(0.185185vw + 11.333333px), 14px);
    line-height: 1.5;
}

.home-hero__case-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    min-height: 0;
}

@media (max-width: 1085px) {
    .home-hero__case-details {
        gap: 8px;
    }
}


.home-hero__case-title h3 {
    font-size: clamp(28px, calc(0.37037vw + 26.66667px), 32px);
    line-height: 0.9;
    color: #fff;
    text-transform: uppercase;
}

.home-hero__case-result {
    font-size: clamp(14px, calc(0.37037vw + 12.66667px), 18px);
    line-height: 1.5;
}

.home-hero__case-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 36px;
    border-radius: 40px;
    background: linear-gradient(102deg, #cc001e 38.45%, #7a0114 100%);
    transition: transform 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
    .home-hero__case-link:hover {
        transform: translateX(3px);
    }
}


@media (prefers-reduced-motion: reduce) {
    .home-hero__case-link {
        transition: none;
    }
}


.home-hero__case-link::before {
    content: "";
    display: block;
    width: 24px;
    height: 12px;
    background: url("../../image/home-redesign/case-arrow.svg") center / contain no-repeat;
}

.home-hero__case-link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.home-hero__cases-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transform: translateY(-50%);
}

@media (max-width: 1085px) {
    .home-hero__cases-nav {
        display: none;
    }
}


.home-hero__cases-nav--prev {
    left: -38px;
}

.home-hero__cases-nav--next {
    right: -38px;
}

.home-hero__cases-nav::before {
    content: "";
    display: block;
    width: 14px;
    height: 30px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.home-hero__cases-nav--prev::before {
    background-image: url("../../image/home-redesign/case-prev.svg");
}

.home-hero__cases-nav--next::before {
    background-image: url("../../image/home-redesign/case-next.svg");
}

.home-hero__cases-nav.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
}


/* ## Home hero motion — CSS entrance, independent of scroll */

@media screen and (prefers-reduced-motion: no-preference) {
    .home-hero--motion .home-hero__eyebrow {
        animation: home-hero-appear 0.45s ease-out backwards;
    }

    .home-hero--motion .home-hero__eyebrow::before {
        transform-origin: left center;
        animation: home-hero-line 0.45s cubic-bezier(0.22, 1, 0.36, 1) backwards;
    }

    .home-hero--motion .home-hero__title {
        animation: home-hero-reveal 0.72s cubic-bezier(0.22, 1, 0.36, 1) backwards;
    }

    .home-hero--motion .home-hero__title h1 span {
        animation: home-hero-appear 0.5s ease-out 0.18s backwards;
    }

    .home-hero--motion .home-hero__media {
        transform-origin: center bottom;
        animation: home-hero-portrait 0.82s cubic-bezier(0.22, 1, 0.36, 1) 0.08s backwards;
    }

    .home-hero--motion .home-hero__description {
        animation: home-hero-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.12s backwards;
    }

    .home-hero--motion .home-hero__actions {
        animation: home-hero-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.22s backwards;
    }

    .home-hero--motion .home-hero__stats {
        animation: home-hero-rise 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.32s backwards;
    }

    .home-hero--motion .home-hero__cases {
        animation: home-hero-rise 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.4s backwards;
    }

    .home-hero--motion .home-hero__actions:focus-within,
    .home-hero--motion .home-hero__cases:focus-within {
        animation: none;
    }

    @keyframes home-hero-appear {
        from {
            opacity: 0;
        }

        to {
            opacity: 1;
        }
    }

    @keyframes home-hero-line {
        from {
            transform: scaleX(0);
        }

        to {
            transform: none;
        }
    }

    @keyframes home-hero-reveal {
        from {
            clip-path: inset(-0.15em 100% -0.15em -0.04em);
            transform: translateY(14px);
        }

        to {
            clip-path: inset(-0.15em -0.04em -0.15em -0.04em);
            transform: none;
        }
    }

    @keyframes home-hero-portrait {
        from {
            opacity: 0;
            transform: translate(20px, 14px) scale(1.025);
        }

        to {
            opacity: 1;
            transform: none;
        }
    }

    @keyframes home-hero-rise {
        from {
            opacity: 0;
            transform: translateY(14px);
        }

        to {
            opacity: 1;
            transform: none;
        }
    }
}

/* Keep the existing button sheen on a transform, including its return path. */
.home-hero--motion .btn-red .popup-link-custom::before,
.home-hero--motion .btn-white :is(a, button)::before {
    left: -100%;
    transform: translateX(0) skewX(-25deg);
    transition: transform 0.75s ease;
}

@media (hover: hover) and (pointer: fine) {

    .home-hero--motion .btn-red .popup-link-custom:hover::before,
    .home-hero--motion .btn-white :is(a, button):hover::before {
        left: -100%;
        transform: translateX(200%) skewX(-25deg);
    }
}

@media (prefers-reduced-motion: reduce) {

    .home-hero--motion .btn-red .popup-link-custom::before,
    .home-hero--motion .btn-white :is(a, button)::before {
        transition: none;
    }
}


.home-services {
    padding-top: 0;
}

.home-services__inner {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

@media (max-width: 1085px) {
    .home-services__inner {
        gap: 20px;
    }
}


.home-services__title h2 {
    color: #fff;
    font-size: clamp(32px, calc(2.5vw + 22px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

.home-services__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 50px 20px;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-services__cards {
        display: flex;
        align-items: stretch;
        gap: 12px;
        width: calc(100% + 20px);
        padding-right: 20px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }
}


@media (max-width: 1085px) {
    .home-services__cards::-webkit-scrollbar {
        display: none;
    }
}


@media (max-width: 1085px) {
    .home-services__cards:focus-visible {
        outline: 2px solid #cc001e;
        outline-offset: 3px;
    }
}


.home-services__card {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    gap: 28px;
    min-width: 0;
    min-height: 671px;
    padding: 0 30px 30px;
    border-radius: 16px;
    color: #fff;
}

.home-services__card::before {
    content: "";
    position: absolute;
    inset: 160px 0 0;
    z-index: -1;
    border-radius: inherit;
    background: #1d1d1d;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    outline: 1px solid transparent;
    outline-offset: -1px;
    pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
    .home-services__card::before {
        transition: outline-color 0.35s ease, box-shadow 0.35s ease;
    }
}

@media (min-width: 1086px) and (max-width: 1439px) {
    .home-services__card {
        padding-inline: 20px;
    }
}


.home-services__card:focus-within::before {
    outline-color: rgba(204, 0, 30, 0.7);
    box-shadow:
        0 22px 55px rgba(0, 0, 0, 0.42),
        0 0 24px rgba(204, 0, 30, 0.22),
        0 12px 45px rgba(204, 0, 30, 0.28);
}

@media (prefers-reduced-motion: no-preference) {
    .home-services__card {
        transition:
            transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
            translate 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .home-services__card:not(.home-services__card--featured) {
        transition:
            transform 0.35s ease,
            translate 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
    }
}

@media (min-width: 1086px) and (prefers-reduced-motion: no-preference) {
    .home-services__card:focus-within {
        translate: 0 -7px;
    }
}

@media (hover: hover) and (pointer: fine) {
    .home-services__card:hover::before {
        outline-color: rgba(204, 0, 30, 0.7);
        box-shadow:
            0 22px 55px rgba(0, 0, 0, 0.42),
            0 0 24px rgba(204, 0, 30, 0.22),
            0 12px 45px rgba(204, 0, 30, 0.28);
    }
}

@media (min-width: 1086px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .home-services__card:hover {
        translate: 0 -7px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-services__card {
        transition: none;
    }
}




.home-services__media {
    flex: none;
    width: 100%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
}

.home-services__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 393 / 240;
    object-fit: cover;
}

.home-services__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    gap: 32px;
    min-width: 0;
}

.home-services__details {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (max-width: 1085px) {
    .home-services__details {
        gap: 8px;
    }
}


.home-services__card-title h3 {
    color: #fff;
    font-size: clamp(20px, calc(1.481481vw + 14.666667px), 36px);
    line-height: 1;
    text-transform: uppercase;
}

.home-services__description {
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-services__description {
        line-height: 1.2;
    }
}


.home-services__description p {
    margin: 0;
    line-height: inherit;
}

.home-services__description p+p {
    padding-top: 0.5em;
}


.home-services__button {
    width: 100%;
}

.home-services__button a {
    min-height: 60px;
}

@media (max-width: 1085px) {
    .home-services__button a {
        min-height: 50px;
    }
}


.home-services__card--featured {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 710px) minmax(0, 540px);
    gap: 110px;
    align-items: stretch;
    min-height: 472px;
    padding: 40px 0 40px 40px;
    border-radius: 16px;
}

.home-services__card--featured::before {
    inset: 0 200px 0 0;
}

@media (min-width: 1086px) and (max-width: 1439px) {
    .home-services__card--featured {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
        gap: 40px;
        padding: 30px 0 30px 30px;
    }
}


@media (max-width: 1085px) {

    .home-services__card,
    .home-services__card--featured {
        display: flex;
        flex: 0 0 min(280px, calc(100vw - 40px));
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        min-height: 382px;
        padding: 0 16px 16px;
        border-radius: 16px;
        scroll-snap-align: start;
    }
}

@media (max-width: 1085px) {
    .home-services__card::before {
        inset: 60px 0 0;
    }
}


.home-services__card--featured .home-services__media {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
}

@media (max-width: 1085px) {

    .home-services__media,
    .home-services__card--featured .home-services__media {
        flex: none;
        width: 100%;
    }
}


.home-services__card--featured .home-services__image {
    aspect-ratio: 540 / 392;
}

@media (max-width: 1085px) {

    .home-services__image,
    .home-services__card--featured .home-services__image {
        aspect-ratio: 248 / 160;
    }
}


.home-services__card--featured .home-services__content {
    grid-column: 1;
    grid-row: 1;
    justify-content: flex-start;
    gap: 32px;
}

@media (max-width: 1085px) {

    .home-services__content,
    .home-services__card--featured .home-services__content {
        flex: 1;
        gap: 20px;
        justify-content: space-between;
    }
}


.home-services__card--featured .home-services__card-title h3 {
    font-size: clamp(20px, calc(1.851852vw + 13.333333px), 40px);
}

@media (max-width: 1085px) {

    .home-services__card-title h3,
    .home-services__card--featured .home-services__card-title h3 {
        line-height: 1;
    }
}


.home-services__card--featured .home-services__button {
    width: min(100%, 280px);
}

@media (max-width: 1085px) {

    .home-services__button,
    .home-services__card--featured .home-services__button {
        width: 100%;
    }
}


.home-services__card--featured .home-services__button a {
    color: #fff;
    background: linear-gradient(102deg, #cc001e 38.45%, #7a0114 100%);
}


/* ## Home section motion readiness */
@media (prefers-reduced-motion: no-preference) {
    [data-home-motion]._motion-init:not(._motion-ready)>img {
        opacity: 0;
    }
}


@keyframes ds-art-contour {
    from {
        clip-path: inset(100% 0 0);
    }

    to {
        clip-path: inset(0);
    }
}

@keyframes ds-art-light-pass {
    0% {
        opacity: 0;
        transform: translateX(-110%);
    }

    20%,
    70% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateX(110%);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .home-services--motion .home-services__image {
        transition: transform 0.5s ease;
    }

    .home-services--motion .home-services__card:focus-within .home-services__image {
        transform: scale(1.035);
    }
}


.home-services--motion .home-services__media {
    position: relative;
}

.home-services--motion .home-services__media::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: #cc001e;
    transform: scaleX(0);
    transform-origin: left center;
    pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
    .home-services--motion .home-services__media::after {
        transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    }
}

.home-services--motion .home-services__card:focus-within .home-services__media::after {
    transform: scaleX(1);
}

@media (hover: hover) and (pointer: fine) {
    .home-services--motion .home-services__card:hover .home-services__media::after {
        transform: scaleX(1);
    }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .home-services--motion .home-services__card:hover .home-services__image {
        transform: scale(1.035);
    }
}

.home-services--motion .btn-white :is(a, button)::before {
    left: -100%;
    transform: translateX(0) skewX(-25deg);
    transition: transform 0.75s ease;
}

@media (hover: hover) and (pointer: fine) {
    .home-services--motion .btn-white :is(a, button):hover::before {
        left: -100%;
        transform: translateX(200%) skewX(-25deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-services--motion .btn-white :is(a, button)::before {
        transition: none;
    }
}


/* ## Home services visual accent */
.home-services__art {
    position: relative;
    overflow: hidden;
}

@media (prefers-reduced-motion: no-preference) {

    [data-home-motion="service"]._motion-init:not(._motion-active) .home-services__art,
    [data-home-motion="service"]._motion-init:not(._motion-ready) .home-services__art {
        opacity: 0;
    }

    [data-home-motion="service"]._motion-init._motion-active._motion-ready .home-services__art {
        transform-origin: right center;
        animation: ds-art-service-stage 1.65s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    .home-services__card:focus-within [data-home-motion="service"]._motion-init .home-services__art {
        animation: none;
        opacity: 1;
    }
}

@keyframes ds-art-service-stage {
    0% {
        opacity: 0;
        transform: perspective(1000px) translateX(35px) rotateY(-18deg);
        clip-path: inset(0 0 0 100%);
    }

    28% {
        opacity: 1;
    }

    72% {
        transform: perspective(1000px) translateX(-3px) rotateY(2deg);
        clip-path: inset(0);
    }

    100% {
        opacity: 1;
        transform: none;
        clip-path: inset(0);
    }
}


.home-hero__eyebrow {
    text-transform: uppercase;
}

@media (max-width: 1085px) {
    .home-hero__eyebrow {
        gap: 12px;
        padding-bottom: 0;
    }
}


.home-choice {
    overflow: hidden;
}

@media (max-width: 1085px) {
    .home-choice__container._container {
        padding-inline: 20px;
    }
}

.home-choice__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

@media (max-width: 1085px) {
    .home-choice__inner {
        gap: 16px;
    }
}


.home-choice__heading {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: min(100%, 1209px);
}

@media (max-width: 1085px) {
    .home-choice__heading {
        gap: 12px;
    }
}


.home-choice__title h2 {
    color: #111;
    font-size: clamp(32px, calc(3.703704vw + 18.666667px), 72px);
    line-height: 1;
    text-transform: uppercase;
}

.home-choice__subtitle {
    width: min(100%, 928px);
    color: rgba(17, 17, 17, 0.5);
    font-size: clamp(16px, calc(2.222222vw + 8px), 40px);
    line-height: 1.25;
    text-transform: uppercase;
}

.home-choice__subtitle p,
.home-choice__intro p,
.home-choice__item-text p,
.home-choice__conclusion p {
    margin: 0;
    line-height: inherit;
}

.home-choice__body {
    position: relative;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-choice__body {
        gap: 20px;
    }
}


.home-choice__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: min(100%, 708px);
    color: #111;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {

    .home-choice__body,
    .home-choice__copy {
        display: flex;
        flex-direction: column;
    }
}


@media (max-width: 1085px) {
    .home-choice__copy {
        gap: 12px;
        width: 100%;
        line-height: 1.2;
    }
}


.home-choice__principles,
.home-choice__expanded,
.home-choice__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (max-width: 1085px) {
    .home-choice__expanded {
        display: none;
        gap: 12px;
    }

    .home-choice__expanded.is-open {
        display: flex;
    }
}


.home-choice__list-heading {
    display: flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 1085px) {
    .home-choice__list-heading {
        gap: 8px;
    }
}


.home-choice__list-title {
    font-weight: 700;
}

.span_spoller {
    padding: 0;
    border: 0;
    background: transparent;
    color: #cc001e;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.span_spoller[hidden] {
    display: none;
}

@media (min-width: 1086px) {
    .span_spoller {
        display: none;
    }
}

@media (max-width: 1085px) {
    .home-choice__toggle {
        display: inline;
        white-space: nowrap;
    }

    .home-choice__toggle[aria-expanded="false"]::before {
        content: "… ";
        color: #111;
    }
}


@media (max-width: 1085px) {
    .home-choice__toggle:focus-visible {
        outline: 2px solid #cc001e;
        outline-offset: 3px;
    }
}


.home-choice__list {
    counter-reset: choice-principles;
}

@media (max-width: 1085px) {
    .home-choice__list {
        gap: 12px;
    }
}


.home-choice__item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    padding-bottom: 20px;
    border-bottom: 2px solid rgba(17, 17, 17, 0.15);
    counter-increment: choice-principles;
}

@media (max-width: 1085px) {
    .home-choice__item {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 12px;
        padding-bottom: 12px;
        border-bottom-width: 1px;
    }
}


.home-choice__number::before {
    content: counter(choice-principles, decimal-leading-zero);
    color: #cc001e;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(32px, calc(1.481481vw + 26.666667px), 48px);
    font-weight: 700;
    line-height: 1;
}

.home-choice__item-text {
    min-width: 0;
    line-height: 1.3;
}

.home-choice__item-text b,
.home-choice__item-text strong {
    font-weight: 700;
}

.home-choice__media {
    position: absolute;
    bottom: 0;
    left: 58%;
    z-index: 1;
    width: 75%;
    pointer-events: none;
}

@media (max-width: 1085px) {
    .home-choice__media {
        position: relative;
        top: auto;
        left: auto;
        align-self: flex-start;
        flex: none;
        width: 115%;
        margin-top: 0;
        margin-left: 0;
    }
}


.home-choice::before {
    content: "";
    position: absolute;
    top: 155px;
    left: calc(50% + 137px);
    z-index: 0;
    width: 753px;
    aspect-ratio: 753 / 988;
    background: url("../../image/home-redesign/choice-triangle.svg") center / contain no-repeat;
    pointer-events: none;
}

@media (max-width: 1085px) {
    .home-choice::before {
        top: auto;
        left: calc(50% - 85px);
        bottom: 35vw;
        width: 75.25vw;
        transform: rotate(8.608deg);
    }
}


.home-choice__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1726 / 1495;
    object-fit: contain;
}

/* ## Home choice: flight and contour */
[data-home-motion="rocket"] {
    --flight-x: 140px;
    --flight-y: 115px;
    --flight-turn: 5deg;
}

@media (max-width: 1085px) {
    [data-home-motion="rocket"] {
        --flight-x: 58px;
        --flight-y: 64px;
        --flight-turn: 3deg;
    }
}

@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="rocket"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="rocket"]._motion-init._motion-active._motion-ready>img {
        transform-origin: 60% 55%;
        animation: ds-art-rocket-flight 1.95s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    .home-choice[data-home-motion="route"]._motion-init:not(._motion-cue)::before {
        clip-path: inset(100% 0 0);
    }

    .home-choice[data-home-motion="route"]._motion-init._motion-cue._motion-ready::before {
        animation: ds-art-contour 1.75s cubic-bezier(0.4, 0, 0.2, 1) 0.12s backwards;
    }
}

@keyframes ds-art-rocket-flight {
    0% {
        opacity: 0;
        transform: translate(var(--flight-x), var(--flight-y)) rotate(var(--flight-turn)) scale(0.94);
    }

    16% {
        opacity: 1;
    }

    65% {
        transform: translate(-12px, -9px) rotate(-0.8deg) scale(1.01);
    }

    84% {
        transform: translate(3px, 2px) rotate(0.2deg);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}



.home-losses__inner {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

@media (max-width: 1085px) {
    .home-losses__inner {
        gap: 12px;
    }
}


.home-losses__title h2 {
    color: #fff;
    font-size: clamp(36px, calc(2.222222vw + 28px), 60px);
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.home-losses__columns {
    display: grid;
    grid-template-columns: minmax(0, 655px) minmax(0, 685px);
    gap: 60px;
    align-items: start;
}

@media (min-width: 1086px) and (max-width: 1439px) {
    .home-losses__columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }
}


@media (max-width: 1085px) {
    .home-losses__columns {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
}


.home-losses__left,
.home-losses__right,
.home-losses__list,
.home-losses__item {
    display: flex;
    flex-direction: column;
}





.home-losses__left {
    gap: 40px;
}

@media (max-width: 1085px) {
    .home-losses__left {
        width: 100%;
        gap: 20px;
    }
}


.home-losses__subtitle {
    max-width: 550px;
    align-self: center;
    color: #cc001e;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(24px, calc(1.111111vw + 20px), 36px);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 1085px) {
    .home-losses__subtitle {
        max-width: 100%;
    }
}


.home-losses__media {
    width: 100%;
    aspect-ratio: 655 / 726;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 26px;
}

@media (max-width: 1085px) {
    .home-losses__media {
        aspect-ratio: 360 / 280;
        border-radius: 16px;
    }
}


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

.home-losses__right {
    gap: 40px;
}

@media (max-width: 1085px) {
    .home-losses__right {
        width: 100%;
        gap: 24px;
    }
}


.home-losses__details {
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-losses__details {
        display: flex;
        flex-direction: column;
        gap: 6px;
        width: 100%;
    }
}


.home-losses__list {
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}

@media (max-width: 1085px) {
    .home-expand-list {
        overflow: hidden;
    }

    .home-expand-list.is-open {
        max-height: none;
        overflow: visible;
    }
}

@media (max-width: 1085px) {
    .home-losses__list {
        gap: 20px;
        max-height: 275px;
    }
}


.home-losses__item {
    gap: 8px;
}

@media (max-width: 1085px) {
    .home-losses__item {
        gap: 6px;
    }
}


.home-losses__item-title {
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: #fff;
    font-size: clamp(24px, calc(0.740741vw + 21.333333px), 32px);
    line-height: 1;
    text-transform: uppercase;
}

@media (max-width: 1085px) {
    .home-losses__item-title {
        gap: 5px;
    }
}


.home-losses__number {
    flex: none;
    color: #cc001e;
}

@media (hover: hover) and (pointer: fine) {
    .home-losses__item-text {
        background: linear-gradient(90deg, #cc001e 50%, #fff 50%) right / 200% 100% no-repeat;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .home-losses__item:hover .home-losses__item-text {
        background-position: left;
    }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .home-losses__item-text {
        transition: background-position 0.65s ease;
    }
}

.home-losses__description {
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 26px;
}

@media (max-width: 1085px) {
    .home-losses__description {
        line-height: 1.2;
    }
}


.home-losses__description p,
.home-complex__text p,
.home-complex__card-text p {
    margin: 0;
    line-height: inherit;
}

.home-losses__description p+p,
.home-complex__card-text p+p {
    padding-top: 8px;
}

.home-losses__button {
    align-self: flex-start;
    min-width: 278px;
}

@media (max-width: 1085px) {
    .home-losses__button {
        align-self: stretch;
        width: 100%;
        min-width: 0;
    }
}




@media (max-width: 1085px) {
    .home-losses__more {
        display: inline-flex;
        align-self: flex-start;
    }
}


/* ## Home losses: diagonal reveal and light pass */
.home-losses__media {
    position: relative;
}

@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="losses"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="losses"]._motion-init._motion-active._motion-ready>img {
        animation: ds-art-losses-reveal 1.7s cubic-bezier(0.4, 0, 0.2, 1) backwards;
    }

    [data-home-motion="losses"]._motion-init::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.13) 49%, transparent 58%);
        opacity: 0;
    }

    [data-home-motion="losses"]._motion-init._motion-active._motion-ready::after {
        animation: ds-art-light-pass 1.25s ease-in-out 0.65s backwards;
    }
}

@keyframes ds-art-losses-reveal {
    0% {
        clip-path: polygon(0 0, 0 0, 0 0);
        transform: scale(1.04);
    }

    100% {
        clip-path: polygon(0 0, 200% 0, 0 200%);
        transform: none;
    }
}



.home-losses--motion .btn-red .popup-link-custom::before {
    left: -100%;
    transform: translateX(0) skewX(-25deg);
    transition: transform 0.75s ease;
}

.home-losses--motion .btn-red .popup-link-custom:focus-visible::before {
    transform: translateX(200%) skewX(-25deg);
}

@media (hover: hover) and (pointer: fine) {
    .home-losses--motion .btn-red .popup-link-custom:hover::before {
        left: -100%;
        transform: translateX(200%) skewX(-25deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-losses--motion .btn-red .popup-link-custom::before {
        transition: none;
    }
}

.home-complex {
    overflow-x: clip;
    overflow-y: visible;
}

.home-complex__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

@media (max-width: 1085px) {
    .home-complex__inner {
        gap: 24px;
    }
}


.home-complex__top {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 40px;
    min-height: 385px;
}

@media (max-width: 1085px) {
    .home-complex__top {
        min-height: 0;
        gap: 16px;
    }
}


.home-complex__heading {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

@media (max-width: 1085px) {
    .home-complex__heading {
        gap: 12px;
    }
}


.home-complex__title h2 {
    color: #fff;
    font-size: clamp(32px, calc(3.703704vw + 18.666667px), 72px);
    line-height: 1;
    text-transform: uppercase;
}

.home-complex__subtitle {
    max-width: 834px;
    color: rgba(250, 250, 248, 0.6);
    font-size: clamp(16px, calc(2.222222vw + 8px), 40px);
    line-height: 1.25;
    text-transform: uppercase;
}

.home-complex__text {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: min(100%, 698px);
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-complex__text {
        width: 100%;
        gap: 12px;
        line-height: 1.2;
    }
}


.home-complex__media {
    position: absolute;
    top: 94px;
    right: -60px;
    z-index: 1;
    width: min(47.86%, 670px);
    pointer-events: none;
}

@media (min-width: 1086px) and (max-width: 1439px) {
    .home-complex__media {
        right: 0;
    }
}


@media (max-width: 1085px) {
    .home-complex__media {
        position: relative;
        top: auto;
        right: auto;
        align-self: center;
        width: 90%;
    }
}


.home-complex__art {
    position: relative;
    aspect-ratio: 670 / 537;
}

@media (max-width: 1085px) {
    .home-complex__art {
        aspect-ratio: 276 / 221;
    }
}

.home-complex__image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 670 / 537;
    object-fit: contain;
}

.home-complex__image[hidden] {
    display: none;
}

.home-complex__image.is-active {
    z-index: 1;
}

@media (max-width: 1085px) {
    .home-complex__image {
        aspect-ratio: 276 / 221;
    }
}


.home-complex__slider {
    position: relative;
    z-index: 3;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-complex__slider {
        width: calc(100% + 20px);
    }
}


.home-complex__slider::before,
.home-complex__slider::after {
    content: "";
    position: absolute;
    border: 5px dashed rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    pointer-events: none;
}

.home-complex__slider::before {
    top: 35px;
    left: 24%;
    width: 397px;
    aspect-ratio: 1;
}

.home-complex__slider::after {
    top: 141px;
    left: calc(24% + 107px);
    width: 184px;
    aspect-ratio: 1;
}

@media (max-width: 1085px) {

    .home-complex__slider::before,
    .home-complex__slider::after {
        content: none;
    }
}


.home-complex__swiper {
    width: calc(100% + 20px);
    margin: -12px -10px -40px;
    overflow: hidden;
}

@media (min-width: 1086px) {
    .home-complex__swiper:not(.swiper-initialized) .home-complex__slide {
        flex: 0 0 50%;
        width: 50%;
    }
}

@media (max-width: 1085px) {
    .home-complex__swiper {
        width: calc(100% + 12px);
        margin: -30px -6px;
        padding-block: 30px;
    }
}

.home-complex__slide {
    height: auto;
    padding: 12px 10px 40px;
}

@media (max-width: 1085px) {
    .home-complex__slide {
        width: 292px;
        padding: 0 6px 30px;
    }
}

.home-complex__pair {
    display: grid;
    grid-template-columns: 41.428571% minmax(0, 1fr);
    grid-template-rows: minmax(274px, auto) auto;
    align-items: start;
}

@media (min-width: 1086px) and (max-width: 1439px) {
    .home-complex__pair {
        grid-template-rows: minmax(310px, auto) auto;
    }
}


.home-complex__card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto 1fr;
    gap: 14px 20px;
    width: 100%;
    min-height: 244px;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    background: #1d1d1d;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.home-complex__card::after {
    content: "";
    position: absolute;
    inset: -1px;
    padding: 2px;
    border-radius: inherit;
    background: linear-gradient(115deg, #7a0114 10%, #cc001e 35%, #ff8799 50%, #cc001e 65%, #7a0114 90%) border-box;
    background-size: 250% 100%;
    background-position: right center;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    pointer-events: none;
}

.home-complex__card:focus-within::after {
    background-position: left center;
    opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
    .home-complex__card:hover::after {
        background-position: left center;
        opacity: 1;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .home-complex__card::after {
        transition: opacity 0.25s ease, background-position 1.5s ease;
    }
}

.home-complex__pair .home-complex__card:first-child {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 58.571429%;
}

.home-complex__pair .home-complex__card:nth-child(2) {
    grid-column: 2;
    grid-row: 2;
}


@media (min-width: 1086px) and (max-width: 1439px) {
    .home-complex__card {
        min-height: 280px;
    }
}


@media (max-width: 1085px) {
    .home-complex__card {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        height: 100%;
        min-height: 297px;
        padding: 16px;
        border-radius: 16px;
    }
}


.home-complex__card-title {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    color: #fff;
    font-size: clamp(22px, calc(0.925926vw + 18.666667px), 32px);
    line-height: 1;
    text-transform: uppercase;
}

.home-complex__number {
    grid-column: 2;
    grid-row: 1;
    color: #cc001e;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(48px, calc(1.481481vw + 42.666667px), 64px);
    font-weight: 700;
    line-height: 1;
}

.home-complex__card-text {
    grid-column: 1 / -1;
    grid-row: 2;
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 26px;
}

@media (max-width: 1085px) {
    .home-complex__card-text {
        line-height: 1.2;
    }
}


.home-complex__pagination.swiper-pagination {
    position: relative;
    inset: auto;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 32px 0 0 !important;
    transform: none;
}

@media (max-width: 1085px) {
    .home-complex__pagination.swiper-pagination {
        display: none;
    }
}


.home-complex__pagination .swiper-pagination-bullet {
    flex: none;
    width: 10px;
    height: 10px;
    margin: 0 5px !important;
    border-radius: 50%;
    background: #2b2b2b;
    box-shadow: none !important;
    animation: none !important;
    opacity: 1;
    transition: all 0.3s ease;
}

@media (max-width: 1085px) {
    .home-complex__pagination .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin: 0 4.5px !important;
    }
}


@media (prefers-reduced-motion: reduce) {
    .home-complex__pagination .swiper-pagination-bullet {
        transition: none;
    }
}


.home-complex__pagination .swiper-pagination-bullet-active {
    width: 40px;
    border-radius: 10px;
    background: #cc001e;
}


.home-complex__slider.is-static .home-complex__pagination {
    display: none;
}


/* ## Complex marketing: system assembly */
[data-home-motion="system-cards"] {
    --system-card-x: -36px;
}

@media (max-width: 1085px) {
    [data-home-motion="system-cards"] {
        --system-card-x: 14px;
    }
}

@media (prefers-reduced-motion: no-preference) {

    [data-home-motion="system"]._motion-init:not(._motion-active)>.home-complex__art,
    [data-home-motion="system"]._motion-init:not(._motion-ready)>.home-complex__art {
        opacity: 0;
    }

    [data-home-motion="system"]._motion-init._motion-active._motion-ready>.home-complex__art {
        animation: ds-art-system-arrival 1.8s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    [data-home-motion="system-cards"]._motion-init._motion-active .swiper-slide-active .home-complex__card {
        animation: ds-art-system-card 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    [data-home-motion="system-cards"]._motion-init._motion-active .swiper-slide-active .home-complex__card:nth-child(2) {
        --system-card-x: 36px;
        animation-delay: 0.18s;
    }

    [data-home-motion="system-cards"]._motion-init._motion-active::before {
        animation: ds-art-system-orbit 1.8s ease-out backwards;
    }

    [data-home-motion="system-cards"]._motion-init._motion-active::after {
        --orbit-angle: 85deg;
        --orbit-scale: 1.16;
        animation: ds-art-system-orbit 1.6s ease-out 0.2s backwards;
    }

    [data-home-motion="system-cards"]._motion-init._motion-active .swiper-slide-active .home-complex__card:focus-within {
        animation: none;
    }
}

@keyframes ds-art-system-arrival {
    0% {
        opacity: 0;
        transform: perspective(1200px) translate(65px, 24px) rotateY(-18deg) rotateZ(3deg) scale(0.94);
    }

    20% {
        opacity: 1;
    }

    72% {
        transform: perspective(1200px) translate(-4px, -2px) rotateY(2deg) rotateZ(-0.3deg);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes ds-art-system-card {
    0% {
        opacity: 0.25;
        transform: translate(var(--system-card-x), 20px) rotate(-1deg) scale(0.97);
    }

    72% {
        opacity: 1;
        transform: translate(0, -3px) rotate(0.15deg);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes ds-art-system-orbit {
    from {
        opacity: 0;
        transform: rotate(var(--orbit-angle, -85deg)) scale(var(--orbit-scale, 0.78));
    }

    to {
        opacity: 1;
        transform: none;
    }
}


.home-strategy {
    overflow: hidden;
}

.home-strategy::before {
    content: "";
    position: absolute;
    top: 87px;
    left: calc(50% + 388px);
    z-index: 0;
    width: 550px;
    aspect-ratio: 753 / 988;
    background: url("../../image/home-redesign/choice-triangle.svg") center / contain no-repeat;
    transform: rotate(30deg);
    pointer-events: none;
}

@media (max-width: 1085px) {
    .home-strategy::before {
        content: none;
    }
}


.home-strategy__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

@media (max-width: 1085px) {
    .home-strategy__inner {
        gap: 20px;
    }
}


.home-strategy__title {
    align-self: center;
    width: min(100%, 1209px);
    text-align: center;
}

.home-strategy__title h2 {
    color: #111;
    font-size: clamp(28px, calc(4.074074vw + 13.333333px), 72px);
    line-height: 1;
    text-transform: uppercase;
}

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

@media (max-width: 1085px) {
    .home-strategy__rows {
        gap: 20px;
    }
}


.home-strategy__row {
    display: grid;
    grid-template-columns: minmax(0, 685px) minmax(0, 655px);
    gap: 60px;
    align-items: center;
}

@media (max-width: 1085px) {
    .home-strategy__row {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
}


.home-strategy__row:nth-child(even) {
    grid-template-columns: minmax(0, 635px) minmax(0, 685px);
}

@media (max-width: 1399px) and (min-width: 1086px) {

    .home-strategy__row,
    .home-strategy__row:nth-child(even) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }
}


.home-strategy__content {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-strategy__content {
        width: 100%;
        gap: 12px;
    }
}


.home-strategy__subtitle h3 {
    color: #cc001e;
    font-size: clamp(22px, calc(1.296296vw + 17.333333px), 36px);
    line-height: 1;
    text-transform: uppercase;
}

.home-strategy__text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: #111;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-strategy__text {
        gap: 8px;
        line-height: 1.2;
    }
}


.home-strategy__text p {
    margin: 0;
    line-height: inherit;
}

.home-strategy__media {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    aspect-ratio: 655 / 392;
    overflow: hidden;
    border-radius: 16px;
}

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

.home-strategy__row:nth-child(even) .home-strategy__media {
    grid-column: 1;
    aspect-ratio: 635 / 320;
}

@media (max-width: 1085px) {

    .home-strategy__media,
    .home-strategy__row:nth-child(even) .home-strategy__media {
        order: -1;
        aspect-ratio: 360 / 200;
    }
}


.home-strategy__row:nth-child(even) .home-strategy__content {
    grid-column: 2;
}


/* ## Strategy: opposing shutters and route */
.home-strategy__media {
    position: relative;
}

@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="strategy"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="strategy"]._motion-init._motion-active._motion-ready>img {
        animation: ds-art-strategy-right 1.65s cubic-bezier(0.4, 0, 0.2, 1) backwards;
    }

    .home-strategy__row:nth-child(even) [data-home-motion="strategy"]._motion-init._motion-active._motion-ready>img {
        animation-name: ds-art-strategy-left;
    }

    .home-strategy[data-home-motion="route"]._motion-init:not(._motion-cue)::before {
        clip-path: inset(100% 0 0);
    }

    .home-strategy[data-home-motion="route"]._motion-init._motion-cue._motion-ready::before {
        animation: ds-art-contour 1.7s ease-in-out 0.15s backwards;
    }
}

@keyframes ds-art-strategy-right {
    from {
        clip-path: inset(0 0 0 100%);
        transform: translateX(30px) scale(1.04);
    }

    to {
        clip-path: inset(0);
        transform: none;
    }
}

@keyframes ds-art-strategy-left {
    from {
        clip-path: inset(0 100% 0 0);
        transform: translateX(-30px) scale(1.04);
    }

    to {
        clip-path: inset(0);
        transform: none;
    }
}


.home-partners {
    overflow-x: clip;
    overflow-y: visible;
}

.home-partners__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

@media (max-width: 1085px) {
    .home-partners__inner {
        gap: 20px;
    }
}


.home-partners__title {
    width: 100%;
    text-align: center;
}

.home-partners__title h2 {
    color: #fff;
    font-size: clamp(36px, calc(2.222222vw + 28px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

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

@media (max-width: 1085px) {
    .home-partners__rows {
        gap: 4px;
    }
}


.home-partners__marquee {
    width: 100%;
    overflow: hidden;
}

.home-partners__track,
.home-partners__set {
    display: flex;
    align-items: center;
    flex: none;
    width: max-content;
}

.home-partners__track {
    will-change: transform;
}

.home-partners__marquee.is-ready .home-partners__track {
    animation: home-partners-scroll var(--logos-duration, 60s) linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    .home-partners__marquee.is-ready .home-partners__track {
        animation: none;
    }
}


.home-partners__marquee--reverse.is-ready .home-partners__track {
    animation-direction: reverse;
}

.home-partners__marquee:hover .home-partners__track {
    animation-play-state: paused;
}

.home-partners__set {
    gap: 87px;
    padding-inline-end: 87px;
}

@media (max-width: 1085px) {
    .home-partners__set {
        gap: 30px;
        padding-inline-end: 30px;
    }
}


.home-partners__item {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 220px;
    height: 165px;
}

@media (max-width: 1085px) {
    .home-partners__item {
        width: 21.111vw;
        height: auto;
        aspect-ratio: 4 / 3;
    }
}


.home-partners__marquee--reverse .home-partners__item {
    height: 213px;
}

@media (max-width: 1085px) {
    .home-partners__marquee--reverse .home-partners__item {
        height: auto;
        aspect-ratio: 220 / 213;
    }
}


.home-partners__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@keyframes home-partners-scroll {
    to {
        transform: translateX(-50%);
    }
}


.home-strength {
    overflow-x: clip;
    overflow-y: visible;
}

.home-strength__inner {
    display: grid;
    grid-template-columns: minmax(0, 620fr) minmax(0, 720fr);
    align-items: center;
    gap: 60px;
}

@media (min-width: 1086px) and (max-width: 1399px) {
    .home-strength__inner {
        gap: 40px;
    }
}


@media (max-width: 1085px) {
    .home-strength__inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }
}


.home-strength__media {
    width: 111.45%;
    aspect-ratio: 691 / 547;
    translate: -10.275% 0;
}

@media (max-width: 1085px) {
    .home-strength__media {
        width: 100%;
        aspect-ratio: 360 / 285;
        translate: none;
    }
}


.home-strength__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.home-strength__body,
.home-strength__info,
.home-strength__point {
    display: flex;
    flex-direction: column;
}

.home-strength__body {
    min-width: 0;
    gap: 40px;
}

.home-strength__info {
    gap: 32px;
}

@media (max-width: 1085px) {

    .home-strength__body,
    .home-strength__info {
        gap: 20px;
    }
}


.home-strength__title h2 {
    color: #fff;
    font-size: clamp(36px, calc(2.222222vw + 28px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

.home-strength__point {
    gap: 16px;
}

@media (max-width: 1085px) {
    .home-strength__point {
        gap: 8px;
    }
}


.home-strength__subtitle {
    color: #cc001e;
    font-size: clamp(22px, calc(0.555556vw + 20px), 28px);
    line-height: 1;
    text-transform: uppercase;
}

.home-strength__text {
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-strength__text {
        line-height: 1.2;
    }
}


.home-strength__text p {
    margin: 0;
    line-height: inherit;
}

.home-strength__button {
    align-self: flex-start;
    min-width: 269px;
}

@media (max-width: 1085px) {
    .home-strength__button {
        align-self: stretch;
        min-width: 0;
    }
}


/* ## Strength: rising graph composition */
@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="growth"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="growth"]._motion-init._motion-active._motion-ready>img {
        transform-origin: 20% 90%;
        animation: ds-art-growth 1.85s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }
}

@keyframes ds-art-growth {
    0% {
        opacity: 0;
        clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
        transform: translate(-30px, 45px) rotate(-2deg);
    }

    18% {
        opacity: 1;
    }

    72% {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        transform: translate(2px, -4px) rotate(0.25deg);
    }

    100% {
        opacity: 1;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        transform: none;
    }
}


.home-questions {
    overflow-x: clip;
    overflow-y: visible;
}

.home-questions__inner {
    display: grid;
    grid-template-columns: minmax(0, 685px) minmax(0, 655px);
    align-items: start;
    gap: 60px;
}

@media (min-width: 1086px) and (max-width: 1399px) {
    .home-questions__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }
}


@media (max-width: 1085px) {
    .home-questions__inner {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
}


.home-questions__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-questions__copy {
        gap: 12px;
    }
}


.home-questions__heading,
.home-questions__content {
    display: flex;
    flex-direction: column;
}

.home-questions__heading {
    gap: 24px;
}

@media (max-width: 1085px) {
    .home-questions__heading {
        gap: 12px;
    }
}


.home-questions__title h2 {
    width: 117.4%;
    color: #fff;
    font-size: clamp(36px, calc(2.222222vw + 28px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

@media (min-width: 1086px) and (max-width: 1399px) {
    .home-questions__title h2 {
        width: 100%;
    }
}


@media (max-width: 1085px) {
    .home-questions__title h2 {
        width: 100%;
    }
}


.home-questions__subtitle {
    color: #cc001e;
    font-size: clamp(24px, calc(1.481481vw + 18.666667px), 40px);
    line-height: 1;
    text-transform: uppercase;
}

.home-questions__content {
    gap: 32px;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-questions__content {
        gap: 20px;
        line-height: 1.2;
    }
}


.home-questions__content>p {
    max-width: 685px;
}

.home-questions__content>p:first-child {
    max-width: 605px;
}

.home-questions__content>p+p {
    margin-top: -12px;
}

@media (max-width: 1085px) {
    .home-questions__content>p+p {
        margin-top: 0;
    }
}


.home-questions__content p {
    margin: 0;
    line-height: inherit;
}

.home-questions__content>ul {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0;
    margin: 0;
    list-style: none;
}

@media (max-width: 1085px) {
    .home-questions__content>ul {
        gap: 16px;
    }
}


.home-questions__content>ul>li {
    max-width: 548px;
    padding-left: 19px;
    border-left: 2px solid #cc001e;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    font-weight: 700;
    line-height: 1.5;
    text-transform: uppercase;
}

@media (max-width: 1085px) {
    .home-questions__content>ul>li {
        max-width: none;
    }
}


.home-questions__media {
    width: 127.63%;
    aspect-ratio: 836 / 578;
    translate: -11.84% 74px;
}

@media (max-width: 1085px) {
    .home-questions__media {
        order: -1;
        width: 100%;
        aspect-ratio: 360 / 249;
        translate: none;
    }
}


.home-questions__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 836 / 578;
    object-fit: contain;
}

@media (max-width: 1085px) {
    .home-questions__image {
        width: 100%;
        aspect-ratio: 360 / 249;
    }
}


/* ## Questions: turn toward the decision board */
@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="questions"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="questions"]._motion-init._motion-active._motion-ready>img {
        transform-origin: 50% 80%;
        animation: ds-art-question-board 1.8s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }
}

@keyframes ds-art-question-board {
    0% {
        opacity: 0;
        transform: perspective(1100px) rotateY(-18deg) rotateZ(-2deg) scale(0.93);
    }

    22% {
        opacity: 1;
    }

    70% {
        transform: perspective(1100px) rotateY(3deg) rotateZ(0.5deg) scale(1.01);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}


.home-numbers.home-section--light {
    padding-block: 0 clamp(50px, 7.17vw, 109px);
}

.home-numbers__inner {
    display: flex;
    flex-direction: column;
}

.home-numbers__media {
    position: relative;
    z-index: 5;
    flex: none;
    min-height: 0;
    width: 100%;
    aspect-ratio: 1400 / 466;
}

@media (max-width: 1085px) {
    .home-numbers__media {
        aspect-ratio: 360 / 153;
    }
}


.home-numbers__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1400 / 644;
    object-fit: contain;
    translate: 0 -10.71%;
}

@media (max-width: 1085px) {
    .home-numbers__image {
        width: 128.89%;
        aspect-ratio: 1400 / 644;
        max-width: none;
        translate: -11.21% -9.36%;
    }
}


.home-numbers__stats {
    position: relative;
    z-index: 6;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

@media (max-width: 1085px) {
    .home-numbers__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
}


.home-numbers__card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
    padding: 20px;
    border: 2px solid #d9d9d9;
    border-radius: 16px;
    background: #f3f3f3;
}

.home-numbers__card:focus-within {
    border-color: #cc001e;
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.12),
        0 0 24px rgba(204, 0, 30, 0.16);
}

@media (prefers-reduced-motion: no-preference) {
    .home-numbers__card {
        transition:
            translate 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
            border-color 0.35s ease,
            box-shadow 0.35s ease;
    }

    .home-numbers__card:focus-within {
        translate: 0 -7px;
    }
}

@media (hover: hover) and (pointer: fine) {
    .home-numbers__card:hover {
        border-color: #cc001e;
        box-shadow:
            0 14px 30px rgba(0, 0, 0, 0.12),
            0 0 24px rgba(204, 0, 30, 0.16);
    }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .home-numbers__card:hover {
        translate: 0 -7px;
    }
}

@media (max-width: 1085px) {
    .home-numbers__card {
        gap: 16px;
        padding: 16px;
    }
}


.home-numbers__value {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 16px 12px;
    border-radius: 45px;
    background: linear-gradient(98deg, #cc001e 38.45%, #7a0114 100%);
    color: #fff;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(24px, calc(0.740741vw + 21.333333px), 32px);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 1085px) {
    .home-numbers__value {
        min-height: 56px;
        padding: 12px 8px;
    }
}


.home-numbers__label {
    color: #111;
    font-family: "Geometria", sans-serif;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    font-weight: 700;
    line-height: 25px;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 1085px) {
    .home-numbers__label {
        line-height: 1.2;
    }
}


/* ## Numbers: photo docking and value seals */
@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="team-photo"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="team-photo"]._motion-init._motion-active._motion-ready>img {
        transform-origin: center bottom;
        animation: ds-art-team-photo 1.7s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    [data-home-motion="stat"]._motion-init._motion-active .home-numbers__value {
        transform-origin: center top;
        animation: ds-art-stat-seal 1.15s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    [data-home-motion="stat"]:nth-child(2n) .home-numbers__value {
        animation-delay: 0.1s;
    }
}

@keyframes ds-art-team-photo {
    0% {
        opacity: 0;
        transform: perspective(1400px) translateY(45px) rotateX(12deg) scale(0.97);
    }

    20% {
        opacity: 1;
    }

    75% {
        transform: perspective(1400px) translateY(-3px) rotateX(-1deg);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes ds-art-stat-seal {
    0% {
        transform: perspective(700px) rotateX(-70deg) scale(0.88);
    }

    65% {
        transform: perspective(700px) rotateX(8deg) scale(1.025);
    }

    100% {
        transform: none;
    }
}


.home-reviews .rew-global {
    padding: 0;
    background: transparent;
    color: #fff;
}

.home-reviews .rew-global__content {
    margin-top: 50px;
}


.home-reviews .rew-global__top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
}

@media (max-width: 1085px) {
    .home-reviews .rew-global__top {
        gap: 16px;
    }
}


.home-reviews .rew-global__title {
    width: 100%;
    max-width: none;
    margin: 0;
}

.home-reviews .rew-global__title h2 {
    color: #fff;
    font-size: clamp(36px, calc(2.222222vw + 28px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

.home-reviews .rew-global__desp.subtitle {
    width: min(100%, 900px);
    max-width: 900px;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: clamp(14px, calc(0.555556vw + 12px), 20px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-reviews .rew-global__desp.subtitle {
        line-height: 1.2;
    }
}



.home-benefits__inner,
.home-benefits__heading,
.home-benefits__list {
    display: flex;
    flex-direction: column;
}


.home-benefits__inner {
    gap: 50px;
}

@media (max-width: 1085px) {
    .home-benefits__inner {
        gap: 20px;
    }
}


.home-benefits__heading {
    align-items: center;
    gap: 24px;
    text-align: center;
}

@media (max-width: 1085px) {
    .home-benefits__heading {
        gap: 12px;
    }
}


.home-benefits__title h2 {
    color: #fff;
    font-size: clamp(32px, calc(2.592593vw + 22.666667px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

.home-benefits__subtitle {
    color: #cc001e;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(24px, calc(1.481481vw + 18.666667px), 40px);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.home-benefits__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 30px;
}

@media (max-width: 1085px) {
    .home-benefits__columns {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
}


.home-benefits__body {
    position: relative;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-benefits__body {
        width: 100%;
    }
}


.home-benefits__list {
    gap: 26px;
    min-width: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}

@media (max-width: 1085px) {
    .home-benefits__list {
        gap: 18px;
        width: 100%;
        max-height: 155px;
    }

}


.home-benefits__item {
    min-width: 0;
    padding-left: 30px;
    border-left: 2px solid #cc001e;
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 1.5;
}

@media (max-width: 1085px) {
    .home-benefits__item {
        padding-left: 14px;
    }
}



.home-benefits__text {
    display: inline;
}

.home-benefits__text b,
.home-benefits__text strong {
    font-weight: 700;
}

.home-benefits__tooltip {
    /* Containing block stays outside the collapsed list's overflow. */
    position: static;
    display: inline-flex;
    vertical-align: middle;
    padding-left: 8px;
}

@media (max-width: 1085px) {
    .home-benefits__tooltip {
        padding-left: 5px;
    }
}


.home-benefits .tooltip-block__button {
    display: block;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #cc001e;
    cursor: pointer;
}

@media (max-width: 1085px) {
    .home-benefits .tooltip-block__button {
        width: 16px;
        height: 16px;
    }
}


.home-benefits .tooltip-block__button svg {
    display: block;
    width: 100%;
    height: 100%;
}

.home-benefits .tooltip-block__text {
    position: absolute;
    z-index: 10;
    top: var(--home-tooltip-top);
    left: var(--home-tooltip-left);
    right: auto;
    bottom: auto;
    width: min(260px, calc(100vw - 24px));
    overflow-wrap: anywhere;
    padding: 12px;
    border-radius: 10px;
    background: #2b2b2b;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, calc(-100% + 6px));
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    pointer-events: none;
}

@media (max-width: 1085px) {
    .home-benefits .tooltip-block__text {
        width: min(320px, calc(100vw - 24px));
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-benefits .tooltip-block__text {
        transition: none;
    }
}


.home-benefits .tooltip-block._active .tooltip-block__text,
.home-benefits .tooltip-block:has(.tooltip-block__button:focus-visible) .tooltip-block__text {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -100%);
}

@media (min-width: 1086px) and (hover: hover) {
    .home-benefits .tooltip-block:hover .tooltip-block__text {
        opacity: 1;
        visibility: visible;
        transform: translate(-50%, -100%);
    }
}

.home-benefits .tooltip-block__text p {
    margin: 0;
}

.home-benefits .tooltip-block__button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

@media (max-width: 1085px) {
    .home-benefits__more {
        display: inline-flex;
        margin-top: 8px;
    }
}


.home-benefits__media {
    width: 100%;
    aspect-ratio: 685 / 511;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
}

@media (max-width: 1085px) {
    .home-benefits__media {
        aspect-ratio: 360 / 240;
    }
}


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


/* ## Benefits: system opening from its DS centre */
@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="network"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="network"]._motion-init._motion-active._motion-ready>img {
        animation: ds-art-network 1.8s cubic-bezier(0.4, 0, 0.2, 1) backwards;
    }
}

@keyframes ds-art-network {
    from {
        clip-path: circle(0% at 50% 50%);
        transform: scale(1.08);
    }

    to {
        clip-path: circle(75% at 50% 50%);
        transform: none;
    }
}


.home-honest {
    overflow: hidden;
}

.home-honest__inner,
.home-honest__heading,
.home-honest__list,
.home-honest__visual {
    display: flex;
    flex-direction: column;
}





.home-honest__inner {
    position: relative;
    z-index: 1;
    gap: 24px;
}

@media (max-width: 1085px) {
    .home-honest__inner {
        gap: 12px;
    }
}


.home-honest__heading {
    position: relative;
    z-index: 1;
}


.home-honest__title {
    width: min(100%, 1020px);
}

.home-honest__title h2 {
    color: #111;
    font-size: clamp(36px, calc(2.222222vw + 28px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

.home-honest__subtitle {
    color: #cc001e;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(24px, calc(1.481481vw + 18.666667px), 40px);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.home-honest__columns {
    display: grid;
    grid-template-columns: minmax(0, 685px) minmax(0, 635px);
    align-items: stretch;
    gap: 80px;
}

@media (max-width: 1399px) and (min-width: 1086px) {
    .home-honest__columns {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
        gap: 40px;
    }
}


@media (max-width: 1085px) {
    .home-honest__columns {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
}


.home-honest__list {
    gap: 32px;
    min-width: 0;
    color: #111;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 1.2;
}

.home-honest__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.home-honest__content> :only-child {
    margin-top: auto;
}

@media (max-width: 1085px) {
    .home-honest__content {
        flex: none;
        gap: 14px;
        max-height: 100px;
        overflow: hidden;
    }

    .home-honest__content.is-open {
        max-height: none;
        overflow: visible;
    }
}

@media (max-width: 1085px) {
    .home-honest__list {
        width: 100%;
        gap: 20px;
        line-height: 1.3;
    }
}


.home-honest__content>p {
    margin: 0;
    padding-bottom: 20px;
    border-bottom: 2px solid #cc001e;
}

@media (max-width: 1085px) {
    .home-honest__content>p {
        padding-bottom: 14px;
    }
}


.home-honest__list b,
.home-honest__list strong {
    font-weight: 700;
}



@media (max-width: 1085px) {
    .home-honest__more {
        display: block;
        width: 100%;
        font-weight: 700;
        text-align: left;
    }
}

.home-honest__visual {
    position: relative;
    isolation: isolate;
    gap: 30px;
    min-width: 0;
    padding-top: 20px;
}

@media (max-width: 1085px) {
    .home-honest__visual {
        width: 100%;
        gap: 20px;
        padding-top: 0;
    }
}


.home-honest::before {
    content: "";
    position: absolute;
    top: 220px;
    left: calc(50% + 282px);
    z-index: 0;
    width: 550px;
    aspect-ratio: 753 / 988;
    background: url("../../image/home-redesign/choice-triangle.svg") center / contain no-repeat;
    transform: rotate(-15deg) scale(1, -1);
    pointer-events: none;
}

@media (max-width: 1085px) {
    .home-honest::before {
        content: none;
    }
}


.home-honest__media {
    flex-shrink: 0;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 635 / 470;
    border-radius: 16px;
}

@media (max-width: 1085px) {
    .home-honest__media {
        aspect-ratio: 360 / 220;
    }
}


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

.home-honest__button {
    align-self: flex-start;
    min-width: 263px;
    margin-top: auto;
}

@media (max-width: 1085px) {
    .home-honest__button {
        align-self: stretch;
        min-width: 0;
    }
}


/* ## Honest marketing: inspection scan and route */
.home-honest__media {
    position: relative;
}

@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="honest"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="honest"]._motion-init._motion-active._motion-ready>img {
        animation: ds-art-honest-open 1.6s cubic-bezier(0.4, 0, 0.2, 1) backwards;
    }

    [data-home-motion="honest"]._motion-init::after {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        background: linear-gradient(transparent 48%, rgba(255, 80, 90, 0.22) 49%, transparent 50%);
    }

    [data-home-motion="honest"]._motion-init._motion-active._motion-ready::after {
        animation: ds-art-honest-scan 1.6s ease-in-out 0.3s backwards;
    }

    .home-honest[data-home-motion="route"]._motion-init:not(._motion-cue)::before {
        clip-path: inset(100% 0 0);
    }

    .home-honest[data-home-motion="route"]._motion-init._motion-cue._motion-ready::before {
        animation: ds-art-contour 1.7s ease-in-out backwards;
    }
}

@keyframes ds-art-honest-open {
    from {
        clip-path: inset(0 50%);
        transform: scale(1.04);
    }

    to {
        clip-path: inset(0);
        transform: none;
    }
}

@keyframes ds-art-honest-scan {
    0% {
        opacity: 0;
        transform: translateY(-90%);
    }

    25%,
    70% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translateY(90%);
    }
}


.home-reputation__inner {
    display: grid;
    grid-template-columns: minmax(0, 635px) minmax(0, 685px);
    align-items: center;
    gap: 80px;
}

@media (min-width: 1086px) and (max-width: 1439px) {
    .home-reputation__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
        gap: 40px;
    }
}


@media (max-width: 1085px) {
    .home-reputation__inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }
}


.home-reputation__content {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-reputation__content {
        gap: 12px;
    }
}


.home-reputation__title h2 {
    color: #111;
    font-size: clamp(32px, calc(2.592593vw + 22.666667px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

.home-reputation__text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: #111;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-reputation__text {
        gap: 12px;
        line-height: 1.2;
    }
}


.home-reputation__text p {
    margin: 0;
    line-height: inherit;
}

.home-reputation__text b,
.home-reputation__text strong {
    font-weight: 700;
}

.home-reputation__media {
    grid-column: 1;
    grid-row: 1;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 635 / 479;
    border-radius: 16px;
}

@media (max-width: 1085px) {
    .home-reputation__media {
        aspect-ratio: 360 / 220;
    }
}


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


/* ## Reputation: material light across the award */
.home-reputation__media {
    position: relative;
}

@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="award"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="award"]._motion-init._motion-active._motion-ready>img {
        transform-origin: center bottom;
        animation: ds-art-award 1.6s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    [data-home-motion="award"]._motion-init::after {
        content: "";
        position: absolute;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        background: linear-gradient(110deg, transparent 42%, rgba(255, 230, 183, 0.22) 50%, transparent 58%);
    }

    [data-home-motion="award"]._motion-init._motion-active._motion-ready::after {
        animation: ds-art-light-pass 1.4s ease-in-out 0.45s backwards;
    }
}

@keyframes ds-art-award {
    0% {
        opacity: 0;
        transform: perspective(1200px) rotateY(12deg) rotateX(5deg) scale(0.96);
    }

    22% {
        opacity: 1;
    }

    100% {
        opacity: 1;
        transform: none;
    }
}


.home-team__inner,
.home-team__top,
.home-team__intro,
.home-team__description,
.home-team__closing,
.home-team__closing-text {
    display: flex;
    flex-direction: column;
}

.home-team__inner {
    align-items: center;
    gap: 50px;
}

@media (max-width: 1085px) {
    .home-team__inner {
        gap: 28px;
    }
}


.home-team__top {
    align-items: center;
    width: 100%;
}

@media (max-width: 1085px) {
    .home-team__top {
        gap: 16px;
    }
}


.home-team__intro {
    align-items: center;
    gap: 32px;
    width: 100%;
    text-align: center;
}

@media (max-width: 1085px) {
    .home-team__intro {
        gap: 12px;
    }
}


.home-team__title,
.home-team__closing-title {
    width: 100%;
}

.home-team__title h2,
.home-team__closing-title h2 {
    color: #fff;
    line-height: 1;
    text-transform: uppercase;
}

.home-team__title h2 {
    font-size: clamp(28px, calc(2.962963vw + 17.333333px), 60px);
}

.home-team__closing-title h2 {
    font-size: clamp(24px, calc(3.333333vw + 12px), 60px);
}

.home-team__description {
    width: min(100%, 947px);
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 26px;
}

@media (max-width: 1085px) {
    .home-team__description {
        line-height: 1.2;
    }
}


.home-team__description p,
.home-team__closing-text p {
    margin: 0;
    line-height: inherit;
}

.home-team__art {
    position: relative;
    flex: none;
    width: min(100%, 1140px);
    aspect-ratio: 1140 / 803;
}

.home-team__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* ## Team: unfold the single illustrated collage */
@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="collage"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="collage"]._motion-init._motion-active._motion-ready>img {
        transform-origin: left center;
        animation: ds-art-collage 2s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }
}

@keyframes ds-art-collage {
    0% {
        opacity: 0;
        clip-path: polygon(0 0, 0 0, 0 22%, 0 48%, 0 72%, 0 100%, 0 100%);
        transform: perspective(1400px) rotateY(-14deg) rotateZ(-1deg);
    }

    15% {
        opacity: 1;
    }

    78% {
        clip-path: polygon(0 0, 100% 0, 100% 22%, 100% 48%, 100% 72%, 100% 100%, 0 100%);
        transform: perspective(1400px) rotateY(1deg) rotateZ(0.1deg);
    }

    100% {
        opacity: 1;
        clip-path: polygon(0 0, 100% 0, 100% 22%, 100% 48%, 100% 72%, 100% 100%, 0 100%);
        transform: none;
    }
}


.home-team__closing {
    align-items: center;
    gap: 32px;
    width: 100%;
    text-align: center;
}

@media (max-width: 1085px) {
    .home-team__closing {
        gap: 12px;
    }
}


.home-team__closing-text {
    gap: 16px;
    width: min(100%, 910px);
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 25px;
}

@media (max-width: 1085px) {
    .home-team__closing-text {
        gap: 12px;
        line-height: 1.2;
    }
}


.home-faq {
    margin: 0;
}

.home-faq__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

@media (max-width: 1085px) {
    .home-faq__inner {
        gap: 20px;
    }
}


.home-faq .faq-custom__header {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.home-faq .faq-custom__title h2 {
    max-width: 1240px;
    color: #fff;
    font-size: clamp(28px, calc(2.962963vw + 17.333333px), 60px);
    line-height: 1;
    text-transform: uppercase;
}

.home-faq .faq-custom__text {
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 1.4;
}

.home-faq .faq-custom__text p {
    margin: 0;
}

.home-faq .faq-custom__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

@media (max-width: 1085px) {
    .home-faq .faq-custom__content {
        grid-template-columns: minmax(0, 1fr);
    }
}


.home-faq .faq-custom__content--single {
    grid-template-columns: minmax(0, 1fr);
}

.home-faq .faq-custom__column {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

@media (max-width: 1085px) {

    .home-faq .faq-custom__content,
    .home-faq .faq-custom__column {
        gap: 12px;
    }
}


.home-faq .faq-cust {
    overflow: hidden;
    border-radius: 16px;
    background: #1d1d1d;
    color: #fff;
}

.home-faq .faq-cust__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 28px;
    border-bottom: 1px solid transparent;
    cursor: pointer;
}

@media (max-width: 1085px) {
    .home-faq .faq-cust__top {
        gap: 12px;
        padding: 14px;
    }
}


.home-faq .faq-cust._active .faq-cust__top {
    border-bottom-color: #cc001e;
}

.home-faq .faq-cust__title {
    flex: 1;
    min-width: 0;
}

.home-faq .faq-cust__title h3 {
    color: #fff;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(16px, calc(1.111111vw + 12px), 28px);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.home-faq .faq-cust__icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    color: #fff;
    transition: color 0.3s ease, transform 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
    .home-faq .faq-cust__icon {
        transition: none;
    }
}


.home-faq .faq-cust__icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.home-faq .faq-cust._active .faq-cust__icon {
    color: #cc001e;
    transform: scale(-1, 1);
}

.home-faq .faq-cust__desp {
    max-height: 0;
    overflow: hidden;
    padding-inline: 28px;
    color: #fff;
    font-size: clamp(14px, calc(0.37037vw + 12.666667px), 18px);
    line-height: 1.5;
}

@media (max-width: 1085px) {
    .home-faq .faq-cust__desp {
        padding-inline: 14px;
    }
}


.home-faq .faq-cust__desp p {
    margin: 0;
}

.home-faq .faq-cust__desp p+p {
    padding-top: 12px;
}

.home-faq__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 29px;
    border: 1px solid #cc001e;
    border-radius: 30px;
}

@media (min-width: 1086px) and (max-width: 1339px) {
    .home-faq__cta {
        flex-wrap: wrap;
    }
}


@media (max-width: 1085px) {
    .home-faq__cta {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        padding: 19px;
        border-radius: 16px;
    }
}


.home-faq__cta-title {
    flex: 1;
    min-width: 0;
}

.home-faq__cta-title h3 {
    color: #fff;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(24px, calc(1.481481vw + 18.666667px), 40px);
    line-height: 1;
    text-transform: uppercase;
}

.home-faq__actions {
    display: flex;
    flex: none;
    gap: 30px;
}

@media (min-width: 1086px) and (max-width: 1339px) {
    .home-faq__actions {
        gap: 16px;
    }
}


@media (max-width: 1085px) {
    .home-faq__actions {
        flex-direction: column;
        gap: 12px;
    }
}


.home-faq__button {
    min-width: 216px;
}

.home-faq__button:first-child {
    min-width: 251px;
}

@media (max-width: 1085px) {

    .home-faq__button,
    .home-faq__button:first-child {
        width: 100%;
        min-width: 0;
    }
}


/* Light contacts section with independent dark brush transitions. */
.home-contact {
    position: relative;
    isolation: isolate;
    padding-block: 0;
    min-height: 529px;
    overflow: hidden;
    background: #fafaf8;
}

@media (max-width: 1085px) {
    .home-contact {
        min-height: 0;
    }
}


.home-section--dark:has(+ .home-contact)::after {
    content: none;
}

.home-contact::before,
.home-contact::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    z-index: 4;
    height: 110px;
    background: url("../../image/real-estate/hero-brush.svg") center bottom / cover no-repeat;
    pointer-events: none;
}

.home-contact::before {
    top: -1px;
    transform: rotate(180deg);
}

@media (max-width: 1085px) {
    .home-contact::before {
        top: -2px;
    }
}


.home-contact::after {
    bottom: -1px;
    transform: none;
    /* The shared brush is #111111; this renders its solid fill as #070707. */
    filter: brightness(0.411765);
}

@media (max-width: 1085px) {
    .home-contact::after {
        bottom: -2px;
    }
}


@media (max-width: 1085px) {

    .home-contact::before,
    .home-contact::after {
        height: var(--brush-height);
    }
}


.home-contact__inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 480px) minmax(0, 351px) minmax(0, 1fr);
    align-items: start;
    column-gap: 47px;
    min-height: 529px;
    padding-top: 140px;
    padding-bottom: 80px;
}

@media (min-width: 1086px) and (max-width: 1299px) {
    .home-contact__inner {
        grid-template-columns: minmax(0, 38%) minmax(0, 29%) minmax(0, 1fr);
        column-gap: 20px;
    }
}


@media (max-width: 1085px) {
    .home-contact__inner {
        display: flex;
        flex-direction: column;
        gap: 0;
        min-height: 546px;
        padding-top: 60px;
        padding-bottom: 0;
    }
}


.home-contact__header {
    display: flex;
    flex-direction: column;
    gap: 40px;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-contact__header {
        width: 100%;
        gap: 16px;
    }
}


.home-contact__label {
    color: rgba(17, 17, 17, 0.6);
    font-family: "Geometria", sans-serif;
    font-size: clamp(20px, calc(1.785714vw + 12.857143px), 40px);
    line-height: 1.2;
    text-transform: uppercase;
}

.home-contact__title h2 {
    color: #111;
    font-family: "PT Sans Narrow", "Arial Narrow", sans-serif;
    font-size: clamp(44px, calc(3.214286vw + 31.142857px), 70px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

@media (max-width: 1085px) {
    .home-contact__title h2 {

        line-height: 1;
        letter-spacing: 0.02em;
    }
}


.home-contact__action {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 78px;
    min-width: 0;
}

@media (max-width: 1085px) {
    .home-contact__action {
        width: 100%;
        gap: 24px;
        margin-top: 16px;
    }
}


.home-contact__description {
    color: #111;
    font-family: "Geometria", sans-serif;
    font-size: clamp(14px, calc(0.357143vw + 12.571429px), 18px);
    line-height: 1.5;
}

@media (max-width: 1085px) {
    .home-contact__description {

        line-height: 1.5;
    }
}


.home-contact__description p {
    margin: 0;
}

.home-contact__button {
    width: 297px;
    max-width: 100%;
}

@media (max-width: 1085px) {
    .home-contact__button {
        width: 100%;
    }
}


.home-redesign .home-contact__button button.popup-link-custom {
    min-height: 60px;
    padding: 20px 30px;
    background: linear-gradient(100deg, #cc001e 38.45%, #7a0114 100%);
    color: #fff;
    font-size: 16px;
}

@media (max-width: 1085px) {
    .home-redesign .home-contact__button button.popup-link-custom {
        min-height: 50px;
        padding: 15px 20px;

    }
}


.home-contact__media {
    position: absolute;
    z-index: 4;
    right: -35px;
    bottom: -20px;
    width: min(49%, 685px);
    pointer-events: none;
}

@media (min-width: 1086px) and (max-width: 1299px) {
    .home-contact__media {
        right: -50px;
        width: 51%;
    }
}


@media (max-width: 1085px) {
    .home-contact__media {
        position: relative;
        right: auto;
        bottom: auto;
        left: -5px;
        align-self: center;
        width: min(calc(100% + 10px), 680px);
        max-width: none;
        margin-top: 15px;
        margin-bottom: -16px;
        rotate: -3.3deg;
    }
}


/* ## Contact: bear peeks in and hands attention to the CTA */
[data-home-motion="contact"] {
    --contact-peek: 60%;
}

@media (max-width: 1085px) {
    [data-home-motion="contact"] {
        --contact-peek: 42%;
    }
}

@media (prefers-reduced-motion: no-preference) {
    [data-home-motion="contact"]._motion-init:not(._motion-active)>img {
        opacity: 0;
    }

    [data-home-motion="contact"]._motion-init._motion-active._motion-ready>img {
        transform-origin: center bottom;
        animation: ds-art-contact-peek 1.9s cubic-bezier(0.25, 0.1, 0.25, 1) backwards;
    }

    .home-contact:has([data-home-motion="contact"]._motion-init._motion-active._motion-ready) .home-contact__button button::after {
        content: "";
        position: absolute;
        inset: 2px;
        border: 1px solid rgba(255, 255, 255, 0.65);
        border-radius: inherit;
        opacity: 0;
        pointer-events: none;
        animation: ds-art-contact-cue 0.9s ease-out 1s backwards;
    }

    .home-contact:has([data-home-motion="contact"]._motion-init._motion-active._motion-ready) .home-contact__button button:focus::after {
        animation: none;
    }
}

@keyframes ds-art-contact-peek {
    0% {
        opacity: 0;
        transform: translateY(var(--contact-peek)) rotate(7deg);
    }

    20% {
        opacity: 1;
    }

    67% {
        transform: translateY(-6px) rotate(-1deg);
    }

    86% {
        transform: translateY(2px) rotate(0.3deg);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

@keyframes ds-art-contact-cue {
    0% {
        opacity: 0;
        transform: scale(0.78);
    }

    35% {
        opacity: 0.8;
    }

    100% {
        opacity: 0;
        transform: scale(1.03);
    }
}


.home-contact__image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}