html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

a {
    text-decoration: none;
}

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

img {
    display: block;
    height: auto;
}

button {
    cursor: pointer;
    margin: 0;
    padding: 0;
    border: 0;
    background-color: rgba(0, 0, 0, 0);
}

button:focus {
    outline: none;
}

input,
textarea,
button {
    font-family: inherit;
}

html {
    font-size: 62.5%;
    font-family: "Onest", "Arial", sans-serif;
    color: #958378;
}

@media (min-width: 1921px) {
    html {
        font-size: 0.52vw;
    }
}

strong,
b {
    font-weight: 700;
}

em,
i {
    font-style: italic;
}

a:not(.btn) {
    color: #c8b8ae;
}

h1,
.h1 {
    font-size: 2.1rem;
}

@media (min-width: 376px) {

    h1,
    .h1 {
        font-size: calc(2.1rem + 31 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h1,
    .h1 {
        font-size: calc(52 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

h1,
.h1 {
    line-height: 1.6;
    font-weight: 700;
}

@media (min-width: 768px) and (max-width: 1280px) {

    h1,
    .h1 {
        font-size: 4.4rem;
        line-height: 1.2;
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 376px) {

    h1,
    .h1 {
        font-size: calc(4.4rem + 0 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 1921px) {

    h1,
    .h1 {
        font-size: calc(44 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

@media (min-width: 1281px) {

    h1,
    .h1 {
        line-height: 1.3;
    }
}

@media (min-width: 1921px) {

    h1,
    .h1 {
        font-size: 2.7vw;
    }
}

h2,
.h2 {
    font-size: 2.4rem;
}

@media (min-width: 376px) {

    h2,
    .h2 {
        font-size: calc(2.4rem + 24 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h2,
    .h2 {
        font-size: calc(48 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

h2,
.h2 {
    line-height: 1.33;
    font-weight: 700;
}

@media (min-width: 768px) and (max-width: 1280px) {

    h2,
    .h2 {
        font-size: 4.8rem;
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 376px) {

    h2,
    .h2 {
        font-size: calc(4.8rem + 0 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 1921px) {

    h2,
    .h2 {
        font-size: calc(48 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h2,
    .h2 {
        font-size: 2.5vw;
    }
}

h3,
.h3 {
    font-size: 2.4rem;
}

@media (min-width: 376px) {

    h3,
    .h3 {
        font-size: calc(2.4rem + 17 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h3,
    .h3 {
        font-size: calc(41 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

h3,
.h3 {
    line-height: 1.33;
    font-weight: 700;
}

@media (min-width: 768px) and (max-width: 1280px) {

    h3,
    .h3 {
        font-size: 4.1rem;
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 376px) {

    h3,
    .h3 {
        font-size: calc(4.1rem + 0 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 1921px) {

    h3,
    .h3 {
        font-size: calc(41 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h3,
    .h3 {
        font-size: 2.1vw;
    }
}

h4,
.h4 {
    font-size: 1.7rem;
}

@media (min-width: 376px) {

    h4,
    .h4 {
        font-size: calc(1.7rem + 15 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h4,
    .h4 {
        font-size: calc(32 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

h4,
.h4 {
    line-height: 1.5;
    font-weight: 500;
}

@media (min-width: 768px) and (max-width: 1280px) {

    h4,
    .h4 {
        font-size: 3.2rem;
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 376px) {

    h4,
    .h4 {
        font-size: calc(3.2rem + 0 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 1921px) {

    h4,
    .h4 {
        font-size: calc(32 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h4,
    .h4 {
        font-size: 1.65vw;
    }
}

h5,
.h5 {
    font-size: 1.6rem;
}

@media (min-width: 376px) {

    h5,
    .h5 {
        font-size: calc(1.6rem + 12 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h5,
    .h5 {
        font-size: calc(28 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

h5,
.h5 {
    line-height: 1.25;
}

@media (min-width: 768px) and (max-width: 1280px) {

    h5,
    .h5 {
        font-size: 2.8rem;
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 376px) {

    h5,
    .h5 {
        font-size: calc(2.8rem + 0 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 1921px) {

    h5,
    .h5 {
        font-size: calc(28 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) {

    h5,
    .h5 {
        line-height: 1.2;
    }
}

@media (min-width: 1921px) {

    h5,
    .h5 {
        font-size: 1.45vw;
    }
}

h6,
.h6 {
    font-size: 1.6rem;
}

@media (min-width: 376px) {

    h6,
    .h6 {
        font-size: calc(1.6rem + 6 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {

    h6,
    .h6 {
        font-size: calc(22 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

h6,
.h6 {
    line-height: 1.25;
}

@media (min-width: 768px) and (max-width: 1280px) {

    h6,
    .h6 {
        font-size: 2.2rem;
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 376px) {

    h6,
    .h6 {
        font-size: calc(2.2rem + 0 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 1921px) {

    h6,
    .h6 {
        font-size: calc(22 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) {

    h6,
    .h6 {
        line-height: 1.2;
    }
}

@media (min-width: 1921px) {

    h6,
    .h6 {
        font-size: 1.1vw;
    }
}

p,
.p1,
ul li,
ol li {
    font-size: 1.6rem;
}

p,
.p1,
ul li,
ol li {
    line-height: 1.75;
}

.h2-large {
    font-size: 2.4rem;
}

@media (min-width: 376px) {
    .h2-large {
        font-size: calc(2.4rem + 31 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 1921px) {
    .h2-large {
        font-size: calc(55 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

.h2-large {
    line-height: 1.33;
    font-weight: 700;
}

@media (min-width: 768px) and (max-width: 1280px) {
    .h2-large {
        font-size: 5.5rem;
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 376px) {
    .h2-large {
        font-size: calc(5.5rem + 0 * (100vw - 375px) / (1920 - 375));
    }
}

@media (min-width: 768px) and (max-width: 1280px) and (min-width: 1921px) {
    .h2-large {
        font-size: calc(55 * (100vw - 3.4vw * 0.01 - 375px) / (1920 - 375));
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 1.2rem;
}

@media (min-width: 768px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 3.4rem;
    }
}

@media (min-width: 1921px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-top: 1.5vw;
    }
}

h1+p,
h1+ul,
h1+ol,
h2+p,
h2+ul,
h2+ol,
h3+p,
h3+ul,
h3+ol,
h4+p,
h4+ul,
h4+ol,
h5+p,
h5+ul,
h5+ol,
h6+p,
h6+ul,
h6+ol {
    margin-top: 2rem;
}

@media (min-width: 1921px) {

    h1+p,
    h1+ul,
    h1+ol,
    h2+p,
    h2+ul,
    h2+ol,
    h3+p,
    h3+ul,
    h3+ol,
    h4+p,
    h4+ul,
    h4+ol,
    h5+p,
    h5+ul,
    h5+ol,
    h6+p,
    h6+ul,
    h6+ol {
        margin-top: 1.05vw;
    }
}

p+p {
    margin-top: 3.2rem;
}

@media (min-width: 1921px) {
    p+p {
        margin-top: 1.6vw;
    }
}

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

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

ul,
ol {
    list-style: none;
    margin: 0;
}

ul li+li,
ol li+li {
    margin-top: 0.6rem;
}

@media (min-width: 1441px) {

    ul li+li,
    ol li+li {
        margin-top: 0.65vw;
    }
}

ul li {
    position: relative;
    padding-left: 1.6rem;
}

@media (min-width: 1025px) {
    ul li {
        padding-left: 2rem;
    }
}

@media (min-width: 1921px) {
    ul li {
        padding-left: 1.05vw;
    }
}

ol {
    list-style-type: decimal;
    margin-left: 1.6rem;
}

@media (min-width: 1025px) {
    ol {
        margin-left: 2rem;
    }
}

@media (min-width: 1921px) {
    ol {
        margin-left: 1.05vw;
    }
}

.reset-list {
    list-style-type: none;
    padding: unset;
    margin: unset;
}

.reset-list li {
    padding: unset;
    margin: unset;
    line-height: 1;
}

.reset-list li:after {
    display: none;
    width: unset;
    height: unset;
    position: unset;
    top: unset;
    left: unset;
    background-color: unset;
}

.reset-table {
    border: unset;
    max-width: unset;
}

.reset-table th,
.reset-table td {
    max-width: unset;
    width: unset;
    border: unset;
    padding: unset;
}

sup {
    font-size: 50%;
    vertical-align: super;
}

.padding,
section,
header,
footer {
    box-sizing: border-box;
    padding-right: 2rem;
    padding-left: 2rem;
}

@media (min-width: 576px) {

    .padding,
    section,
    header,
    footer {
        padding-right: 3.2rem;
        padding-left: 3.2rem;
    }
}

@media (min-width: 1281px) {

    .padding,
    section,
    header,
    footer {
        padding-right: 6.4rem;
        padding-left: 6.4rem;
    }
}

@media (min-width: 1599px) {

    .padding,
    section,
    header,
    footer {
        padding-right: 3.4vw;
        padding-left: 3.4vw;
    }
}

.hero-video {
    position: relative;
    width: 100%;
    height: 660px;
    overflow: hidden;
    display: flex;
    padding: 0;
}

.hero-video__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-video__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scaleX(-1);
}

.hero-video__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    min-height: 338px;
    background-image: linear-gradient(to bottom,
            transparent,
            #030303 60%,
            #030303);
}

.hero-video__container {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
}

.hero-video__content {
    width: 100%;
    max-width: 1316px;
    margin: 0 auto;
}

.hero-video__title {
    margin: 0;
    padding: 0 20px;
}

.hero-video__title-line {
    display: block;
    font-size: clamp(48px, 56px + 64 * (100vw - 375px)/1545, 120px);
    text-transform: uppercase;
    line-height: 1;
    color: #fafafa;
}

.hero-video__title-line:nth-child(1),
.hero-video__title-line:nth-child(3) {
    margin-left: 0;
}

@media (min-width: 811px) {

    .hero-video__title-line:nth-child(1),
    .hero-video__title-line:nth-child(3) {
        margin-left: 20px;
    }
}

@media (min-width: 1101px) {

    .hero-video__title-line:nth-child(1),
    .hero-video__title-line:nth-child(3) {
        margin-left: 32px;
    }
}

@media (min-width: 1441px) {

    .hero-video__title-line:nth-child(1),
    .hero-video__title-line:nth-child(3) {
        margin-left: 64px;
    }
}

.link-inner {
    padding: 72px 20px;
    background-color: #030303;
}

@media (min-width: 811px) {
    .link-inner {
        padding: 108px 24px;
    }
}

@media (min-width: 1024px) {
    .link-inner {
        padding-top: 120px;
        padding-bottom: 120px;
    }
}

.link-inner__container {
    max-width: 1316px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

@media (min-width: 1024px) {
    .link-inner__container {
        flex-direction: row;
        justify-content: space-between;
    }
}

.link-inner__item {
    flex: 1 1 0;
}

@media (min-width: 1024px) {
    .link-inner__item {
        max-width: 294px;
    }
}

.link-inner__white-line {
    display: flex;
    width: 100%;
    height: 1px;
    margin: 34px 0;
    background-color: #fff;
}

@media (min-width: 811px) {
    .link-inner__white-line {
        margin: 48px 0;
    }
}

@media (min-width: 1024px) {
    .link-inner__white-line {
        width: 2px;
        height: auto;
        margin: 0 24px;
        align-self: stretch;
    }
}

.link-inner__link {
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-sizing: border-box;
    text-decoration: none;
    transition: color 0.3s ease;
}

.link-inner__link:hover .link-inner__title,
.link-inner__link:hover .link-inner__content {
    color: #9b9b9b;
}

.link-inner__link:hover .link-inner__icon {
    color: #9b9b9b;
    transform: translate3d(6px, -6px, 0);
}

.link-inner__text {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.link-inner__title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
    transition: color 0.3s ease;
}

@media (min-width: 811px) {
    .link-inner__title {
        font-size: 22px;
    }
}

@media (min-width: 1441px) {
    .link-inner__title {
        font-size: 24px;
    }
}

.link-inner__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #fff;
    transform: translate3d(0, 0, 0);
    transition:
        color 0.3s ease,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

@media (min-width: 811px) {
    .link-inner__icon {
        width: 24px;
        height: 24px;
    }
}

@media (min-width: 1441px) {
    .link-inner__icon {
        width: 28px;
        height: 28px;
    }
}

.link-inner__icon-svg {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.link-inner__content {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    transition: color 0.3s ease;
}

@media (min-width: 811px) {
    .link-inner__content {
        font-size: 18px;
    }
}

.services-slider {
    padding: 100px 0;
    background-color: #030303;
}

.services-slider__top {
    max-width: 1316px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
}

@media (min-width: 811px) {
    .services-slider__top {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }
}

@media (min-width: 1440px) {
    .services-slider__top {
        padding: 0;
    }
}

.services-slider__title {
    display: flex;
    flex-direction: column;
}

@media (min-width: 1024px) {
    .services-slider__title {
        max-width: 760px;
    }
}

.services-slider__title h2 {
    font-size: 34px;
    color: #fff;
    letter-spacing: 1.36px;
    text-transform: uppercase;
    line-height: 1.15;
    font-weight: 700;
}

@media (min-width: 811px) {
    .services-slider__title h2 {
        font-size: 48px;
    }
}

@media (min-width: 1024px) {
    .services-slider__title h2 {
        font-size: 56px;
    }
}

@media (min-width: 1441px) {
    .services-slider__title h2 {
        font-size: 72px;
    }
}

.services-slider__title p {
    font-size: 16px;
    color: #fff;
    line-height: 1.5;
    font-weight: 400;
}

@media (min-width: 811px) {
    .services-slider__title p {
        font-size: 18px;
    }
}

.services-slider__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.services-slider__btn:hover .services-slider__title-btn {
    color: #9b9b9b;
}

.services-slider__btn:hover .services-slider__icon-btn {
    color: #9b9b9b;
    transform: translate3d(6px, -6px, 0);
}

.services-slider__title-btn {
    letter-spacing: 1.2px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.2;
    color: #fff;
    transition: color 0.3s ease;
}

@media (min-width: 811px) {
    .services-slider__title-btn {
        font-size: 22px;
        flex-shrink: 0;
    }
}

@media (min-width: 1024px) {
    .services-slider__title-btn {
        font-size: 24px;
    }
}

.services-slider__icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #fff;
    transform: translate3d(0, 0, 0);
    transition:
        color 0.3s ease,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

@media (min-width: 811px) {
    .services-slider__icon-btn {
        width: 24px;
        height: 24px;
    }
}

@media (min-width: 1441px) {
    .services-slider__icon-btn {
        width: 28px;
        height: 28px;
    }
}

.services-slider__icon-svg {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.services-slider__icon-svg path {
    stroke: currentColor;
}

.services-slider__outer {
    position: relative;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column-reverse;
    z-index: 10;
    gap: 20px;
}

.services-slider__arrow {
    width: 56px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    background-color: #9b9b9b;
    z-index: 2;
    border: 1px solid #9b9b9b;
    border-radius: 50%;
    box-sizing: border-box;
    transition: 0.2s all;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

@media (min-width: 768px) {
    .services-slider__arrow {
        opacity: 0.6;
        width: 80px;
        height: 80px;
    }
}

.services-slider__arrow:hover {
    background-color: #fff;
    opacity: 1;
}

.services-slider__arrow:hover .services-slider__icon svg,
.services-slider__arrow:hover .services-slider__icon use {
    transition: transform 0.05s ease;
}

@media (min-width: 768px) {
    .services-slider__arrow--prev {
        left: 0;
    }
}

@media (min-width: 768px) {
    .services-slider__arrow--next {
        right: 0;
    }
}

.services-slider__foot {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

@media (min-width: 768px) {
    .services-slider__foot {
        position: absolute;
        width: stretch;
        justify-content: space-between;
        margin: 0 20px;
        top: 200px;
    }
}

@media (min-width: 1440px) {
    .services-slider__foot {
        max-width: 1316px;
        margin: 0 auto;
    }
}

.services-slider__icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 768px) {
    .services-slider__icon {
        width: 56px;
        height: 56px;
    }
}

.services-slider__icon svg,
.services-slider__icon use {
    transition: 0.1s all;
    color: #151515;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.services-slider__inner {
    max-width: 100%;
}

@media (min-width: 420px) {
    .services-slider__inner {
        max-width: 380px;
    }
}

@media (min-width: 1440px) {
    .services-slider__inner {
        max-width: 1316px;
    }
}

.services-slider__item {
    cursor: pointer;
}

.services-slider__item:hover .services-slider__video {
    opacity: 1;
}

.services-slider__item:hover .services-slider__img img {
    transform: scale(1.04);
}

.services-slider__media {
    position: relative;
    overflow: hidden;
}

.services-slider__img {
    width: 100%;
    height: 410px;
    overflow: hidden;
    border-radius: 20px;
}

@media (min-width: 810px) {
    .services-slider__img {
        height: 480px;
    }
}

.services-slider__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0.5rem;
    transition: transform 0.6s ease;
}

.services-slider__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    border-radius: 20px;
    overflow: hidden;
}

.services-slider__text h3 {
    color: #fff;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 22px;
}

@media (min-width: 811px) {
    .services-slider__text h3 {
        font-size: 30px;
    }
}

@media (min-width: 1441px) {
    .services-slider__text h3 {
        font-size: 38px;
    }
}

.services-slider__text p {
    margin-top: 12px;
    color: #fff;
    line-height: 1.6;
    font-size: 16px;
}

@media (min-width: 810px) {
    .services-slider__text p {
        font-size: 18px;
    }
}

.services-slider .slick-slide {
    cursor: pointer;
    margin: 0 22px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 810px) {
    .services-slider .slick-slide {
        gap: 24px;
    }
}

.services-slider .slick-list {
    overflow: visible;
    margin: 0 -0.4rem;
}

@media (min-width: 768px) {
    .services-slider .slick-list {
        margin: 0 -0.8rem;
    }
}

@media (min-width: 1025px) {
    .services-slider .slick-list {
        margin: 0 -4.5rem;
    }
}

.services-slider--slick-notinitial .services-slider__arrow {
    display: none !important;
}

.services-slider--slick-notinitial .services-slider__foot {
    display: none !important;
}

.services-slider--slick-notinitial .services-slider__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

@media (min-width: 1025px) {
    .services-slider--slick-notinitial .services-slider__inner {
        gap: 4rem;
    }
}

@media (min-width: 1921px) {
    .services-slider--slick-notinitial .services-slider__inner {
        gap: 2.1vw;
    }
}

.services-slider--slick-notinitial .services-slider__inner>div {
    max-width: 84rem;
    width: 100%;
}

@media (min-width: 1921px) {
    .services-slider--slick-notinitial .services-slider__inner>div {
        max-width: 42vw;
    }
}

@media (max-width: 767px) {
    .services-slider--slick-notinitial .services-slider__inner>div:not(:first-of-type) {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    .services-slider--slick-notinitial .services-slider__inner>div:nth-of-type(n + 3) {
        display: none;
    }
}

@media (min-width: 1281px) {
    .services-slider--slick-notinitial .services-slider__inner>div:nth-of-type(n + 4) {
        display: none;
    }
}

.promo {
    background-color: #030303;
    padding: 0 20px 60px 20px;
}

@media (min-width: 768px) {
    .promo {
        padding: 40px 24px 60px 24px;
    }
}

@media (min-width: 1440px) {
    .promo {
        padding: 80px 24px 80px 24px;
    }
}

@media (min-width: 991px) {
    .promo__container {
        position: relative;
        max-width: 1316px;
        margin: 0 auto;
    }
}

.promo__top {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 48px;
}

@media (min-width: 480px) {
    .promo__top {
        max-width: 400px;
        margin-bottom: -40px;
        margin-left: 24px;
    }
}

@media (min-width: 768px) {
    .promo__top {
        margin-left: 0px;
        margin-bottom: -208px;
    }
}

@media (min-width: 991px) {
    .promo__top {
        max-width: 500px;
        position: absolute;
        top: 48px;
        left: 0;
        align-items: center;
        gap: 48px;
    }
}

.promo__first-title {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

@media (min-width: 991px) {
    .promo__first-title {
        align-items: center;
    }
}

.promo__first-title h2 {
    font-size: 34px;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    display: flex;
    flex-direction: column;
    text-transform: uppercase;
}

.promo__first-title h2 span {
    transform: translate(16px);
}

@media (min-width: 480px) {
    .promo__first-title h2 {
        font-size: 40px;
    }

    .promo__first-title h2 span {
        transform: translate(24px);
    }
}

@media (min-width: 768px) {
    .promo__first-title h2 {
        font-size: 56px;
    }
}

@media (min-width: 991px) {
    .promo__first-title h2 {
        font-size: 72px;
    }

    .promo__first-title h2 span {
        transform: translate(40px);
    }
}

.promo__first-title p {
    margin-top: 0;
    transform: translate(16px);
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
}

@media (min-width: 480px) {
    .promo__first-title p {
        transform: translate(20px);
    }
}

@media (min-width: 768px) {
    .promo__first-title p {
        font-size: 18px;
    }
}

@media (min-width: 991px) {
    .promo__first-title p {
        max-width: 358px;
        transform: translate(0px);
    }
}

.promo__btn {
    padding-left: 48px;
    display: flex;
    align-items: center;
    width: fit-content;
    gap: 12px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.promo__btn:hover .promo__title-btn {
    color: #9b9b9b;
}

.promo__btn:hover .promo__icon-btn {
    color: #9b9b9b;
    transform: translate3d(6px, -6px, 0);
}

@media (min-width: 991px) {
    .promo__btn {
        gap: 24px;
        padding-left: 0;
        padding-right: 20px;
    }
}

.promo__title-btn {
    letter-spacing: 1.2px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1.2;
    color: #fff;
    transition: color 0.3s ease;
}

@media (min-width: 811px) {
    .promo__title-btn {
        font-size: 22px;
        flex-shrink: 0;
    }
}

@media (min-width: 991px) {
    .promo__title-btn {
        font-size: 24px;
    }
}

.promo__icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #fff;
    transform: translate3d(0, 0, 0);
    transition:
        color 0.3s ease,
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

@media (min-width: 811px) {
    .promo__icon-btn {
        width: 24px;
        height: 24px;
    }
}

@media (min-width: 1441px) {
    .promo__icon-btn {
        width: 28px;
        height: 28px;
    }
}

.promo__icon-svg {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.promo__video {
    min-height: 660px;
    max-height: none;
    border-radius: 12px;
    position: relative;
    max-width: 480px;
    margin: 0 auto;
}

@media (min-width: 560px) {
    .promo__video {
        max-width: 572px;
        min-height: 836px;
        width: 100%;
        height: 100%;
    }
}

.promo__video-item {
    border-radius: 12px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
}

.promo__botom {
    margin-top: 48px;
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    z-index: 2;
}

@media (min-width: 480px) {
    .promo__botom {
        max-width: 460px;
        margin-top: -64px;
        margin-left: auto;
        right: 0;
    }
}

@media (min-width: 768px) {
    .promo__botom {
        margin-top: -116px;
    }
}

@media (min-width: 991px) {
    .promo__botom {
        max-width: 460px;
        position: absolute;
        bottom: 48px;
        right: 0;
        align-items: center;
        gap: 48px;
        margin: unset;
    }
}

.showcase {
    position: relative;
    overflow: hidden;
    padding: 120px 0 0;
    background-color: #030303;
}

.showcase__title {
    position: relative;
    z-index: 10;
    max-width: 1316px;
    margin: 0 auto;
    padding: 0 20px;
    margin-bottom: -24px;
}

.showcase__title h2 {
    margin: 0;
    font-size: clamp(48px, 7vw, 90px);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #fff;
}

@media (min-width: 1140px) {
    .showcase__title {
        margin-bottom: -38px;
    }
}

.showcase__wrapper {
    position: relative;
    min-height: 600px;
    display: flex;
    align-items: center;
    overflow: hidden;
    cursor: pointer;
}

.showcase__wrapper:hover .showcase__poster {
    opacity: 0;
    transform: translateZ(0) scale(1.06);
}

.showcase__wrapper:hover .showcase__video {
    opacity: 1;
    transform: translateZ(0) scale(1.04);
}

.showcase__wrapper:hover .showcase__icon-svg {
    transform: translateZ(0) rotate(45deg);
}

@media (min-width: 480px) {
    .showcase__wrapper {
        min-height: unset;
        max-height: 500px;
    }
}

.showcase__item {
    width: 100%;
    max-width: 1316px;
    margin: 0 auto;
    padding: 280px 20px 48px 20px;
}

@media (min-width: 480px) {
    .showcase__item {
        padding: 200px 20px 80px 20px;
    }
}

@media (min-width: 1024px) {
    .showcase__item {
        padding: 140px 20px 140px 20px;
    }
}

.showcase__text {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 11;
}

.showcase__text h3 {
    max-width: 640px;
    margin: 0 0 34px;
    font-size: clamp(22px, 3.4vw, 38px);
    line-height: 1.15;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #fff;
}

@media (min-width: 1024px) {
    .showcase__text h3 {
        max-width: 524px;
    }
}

@media (min-width: 480px) {
    .showcase__text {
        max-width: 524px;
    }
}

@media (min-width: 768px) {
    .showcase__text {
        margin-bottom: 40px;
    }
}

@media (min-width: 1024px) {
    .showcase__text {
        width: 100%;
        max-width: unset;
        margin-bottom: 0px;
    }
}

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

@media (min-width: 480px) {
    .showcase__content {
        flex-direction: row;
        justify-content: space-between;
    }
}

@media (min-width: 1024px) {
    .showcase__content {
        max-width: 524px;
    }
}

.showcase__content-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 140px;
}

.showcase__content-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.1;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #fff;
    opacity: 0.7;
}

@media (min-width: 768px) {
    .showcase__content-item p {
        font-size: 16px;
        line-height: 1.25;
    }
}

.showcase__content-item span {
    font-size: 14px;
    line-height: 1.1;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
}

@media (min-width: 768px) {
    .showcase__content-item span {
        font-size: 16px;
        line-height: 1.5;
    }
}

.showcase__icon-btn {
    position: absolute;
    top: -64px;
    right: 20px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    z-index: 6;
}

@media (min-width: 1024px) {
    .showcase__icon-btn {
        top: 0px;
        right: 0;
    }
}

@media (min-width: 1140px) {
    .showcase__icon-btn {
        top: -64px;
        width: 60px;
        height: 60px;
    }
}

.showcase__icon-svg {
    width: 100%;
    height: 100%;
    display: block;
    transform: translateZ(0) rotate(0deg);
    transform-origin: center;
    backface-visibility: hidden;
    will-change: transform;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.showcase__icon-svg path {
    stroke: currentColor;
}

.showcase__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background-color: #000;
}

.showcase__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.94) 0%,
            rgba(0, 0, 0, 0.88) 16%,
            rgba(0, 0, 0, 0.52) 38%,
            rgba(0, 0, 0, 0.14) 68%,
            rgba(0, 0, 0, 0.42) 100%);
    pointer-events: none;
}

@media (min-width: 480px) {
    .showcase__media::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 4;
        background: linear-gradient(90deg,
                rgba(0, 0, 0, 0.94) 0%,
                rgba(0, 0, 0, 0.88) 16%,
                rgba(0, 0, 0, 0.52) 38%,
                rgba(0, 0, 0, 0.14) 68%,
                rgba(0, 0, 0, 0.42) 100%);
        pointer-events: none;
    }
}

@media (min-width: 1024px) {
    .showcase__media::before {
        inset: 0% 44% 0% 0%;
        z-index: 4;
        background: linear-gradient(270deg,
                transparent,
                rgba(0, 0, 0, 0.54) 50%,
                rgba(0, 0, 0, 0.9) 80%,
                #000000 94%);
    }
}

.showcase__poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 1;
    z-index: 1;
    filter: grayscale(100%);
    transform: translateZ(0) scale(1.01);
    transition:
        opacity 0.7s ease,
        transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
    backface-visibility: hidden;
    pointer-events: none;
}

.showcase__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    opacity: 0;
    z-index: 2;
    transform: translateZ(0) scale(1.01);
    transition:
        opacity 0.7s ease,
        transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
    backface-visibility: hidden;
    pointer-events: none;
}

.showcase--without-title {
    padding: 0;
}

.showcase--without-title .showcase__title {
    display: none;
}

.clients {
    padding: 120px 20px;
    background-color: #030303;
}

.clients__container {
    max-width: 1316px;
    margin: 0 auto;
}

@media (min-width: 991px) {
    .clients__title {
        max-width: 684px;
        margin: 0 auto;
    }
}

.clients__title h2 {
    margin: 0;
    font-size: clamp(34px, 6vw, 72px);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #fff;
    text-align: center;
}

.clients__title p {
    margin: 12px 0 0;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
    color: #fff;
    text-align: center;
}

@media (min-width: 991px) {
    .clients__title p {
        font-size: 18px;
    }
}

.clients__wrapper {
    margin-top: 40px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
}

@media (min-width: 768px) {
    .clients__wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 991px) {
    .clients__wrapper {
        grid-template-columns: repeat(3, 1fr);
        margin-top: 48px;
    }
}

.clients__item {
    width: 100%;
    border-radius: 20px;
    position: relative;
    height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    outline: 2px solid 30303;
    box-sizing: border-box;
}

.clients__item:hover .clients__overlay {
    opacity: 0;
}

.clients__media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    border-radius: 20px;
    display: flex;
}

.clients__video {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.clients__overlay {
    position: absolute;
    top: -2px;
    left: -2px;
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    z-index: 2;
    border-radius: 20px;
    background: #131313;
    transition: opacity 0.4s ease;
}

.clients__logo {
    position: relative;
    z-index: 4;
}

.cta {
    padding: 20px;
    background-color: #030303;
}

@media (min-width: 1140px) {
    .cta {
        padding-top: 130px;
        padding-bottom: 130px;
    }
}

.cta__container {
    background-color: #1b1b1b;
    max-width: 1316px;
    border-radius: 20px;
    margin: 0 auto;
    padding: 56px 32px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

@media (min-width: 768px) {
    .cta__container {
        padding: 100px 50px;
    }
}

@media (min-width: 991px) {
    .cta__container {
        gap: 48px;
    }
}

.cta__title {
    display: flex;
    flex-direction: column-reverse;
    gap: 24px;
}

@media (min-width: 768px) {
    .cta__title {
        position: relative;
    }
}

.cta__title h2 {
    font-size: 40px;
    color: #fff;
    text-transform: uppercase;
    line-height: 1;
}

@media (min-width: 575px) {
    .cta__title h2 {
        font-size: 64px;
    }
}

@media (min-width: 768px) {
    .cta__title h2 {
        font-size: 90px;
    }

    .cta__title h2 span {
        margin-left: 40px;
    }
}

@media (min-width: 991px) {
    .cta__title h2 {
        font-size: 120px;
    }

    .cta__title h2 span {
        margin-left: 80px;
    }
}

@media (min-width: 1140px) {
    .cta__title h2 span {
        margin-left: 214px;
    }
}

.cta__title img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    margin-left: auto;
}

@media (min-width: 575px) {
    .cta__title img {
        width: 48px;
        height: 48px;
    }
}

@media (min-width: 768px) {
    .cta__title img {
        width: 56px;
        height: 56px;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 1;
    }
}

@media (min-width: 991px) {
    .cta__title img {
        width: 62px;
        height: 62px;
        bottom: unset;
        top: 0;
    }
}

.cta__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
}

@media (min-width: 991px) {
    .cta__wrapper {
        grid-template-columns: repeat(3, 1fr);
    }
}

.cta__item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    cursor: pointer;
}

@media (min-width: 991px) {
    .cta__item {
        gap: 16px;
    }
}

.cta__item:hover .cta__item-top,
.cta__item:hover .cta__item-bottom {
    color: #9b9b9b;
}

.cta__item-top {
    font-size: 18px;
    text-transform: uppercase;
    line-height: 1.1;
    color: #fff;
    opacity: 0.8;
    letter-spacing: 1px;
    font-weight: 300;
    transition: color 0.3s ease;
}

@media (min-width: 991px) {
    .cta__item-top {
        font-size: 20px;
    }
}

.cta__item-bottom {
    color: #fff;
    letter-spacing: 1.2px;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.05;
    transition: color 0.3s ease;
}

@media (min-width: 991px) {
    .cta__item-bottom {
        font-size: 24px;
        line-height: 1.66;
    }
}

.testimonials {
    padding: 120px 20px;
}

@media (min-width: 991px) {
    .testimonials {
        padding: 130px 20 200px;
    }
}

.testimonials {
    background-color: #030303;
}

.testimonials__container {
    max-width: 1316px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.testimonials__title {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 800px;
    margin: 0 auto;
}

@media (min-width: 991px) {
    .testimonials__title {
        gap: 16px;
    }
}

.testimonials__title h2 {
    margin: 0;
    font-size: clamp(34px, 5vw, 72px);
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
    text-align: center;
}

.testimonials__title p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
    text-align: center;
}

@media (min-width: 991px) {
    .testimonials__title p {
        font-size: 18px;
    }
}

.testimonials__wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
}

@media (min-width: 991px) {
    .testimonials__wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
}

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

@media (min-width: 991px) {
    .testimonials__column--offset {
        margin-top: 80px;
    }
}

.testimonials__item {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    border-radius: 20px;
    cursor: pointer;
}

@media (min-width: 991px) {
    .testimonials__item {
        min-height: 720px;
    }

    .testimonials__item:hover .testimonials__media::before {
        opacity: 1;
        transform: translateY(0);
    }

    .testimonials__item:hover .testimonials__video {
        filter: grayscale(0%) brightness(1);
        transform: translateZ(0) scale(1.08);
    }

    .testimonials__item:hover .testimonials__overlay {
        opacity: 1;
    }

    .testimonials__item:hover .testimonials__content {
        opacity: 1;
        transform: translateY(0);
    }
}

.testimonials__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background-color: #000;
}

.testimonials__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.96) 0%,
            rgba(0, 0, 0, 0.72) 28%,
            rgba(0, 0, 0, 0.38) 52%,
            rgba(0, 0, 0, 0.08) 100%);
    pointer-events: none;
}

@media (max-width: 990px) {
    .testimonials__media::before {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 991px) {
    .testimonials__media::before {
        opacity: 0;
        transform: translateY(80px);
        transition:
            opacity 0.7s ease,
            transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, transform;
    }
}

.testimonials__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    z-index: 1;
}

@media (max-width: 990px) {
    .testimonials__video {
        filter: grayscale(0%) brightness(1);
        transform: scale(1.04);
    }
}

@media (min-width: 991px) {
    .testimonials__video {
        transform: translateZ(0) scale(1.01);
        transition:
            transform 1.8s cubic-bezier(0.22, 1, 0.36, 1),
            filter 0.7s ease;
    }
}

.testimonials__overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    padding: 32px 24px;
    display: flex;
    align-items: flex-end;
    pointer-events: none;
}

@media (max-width: 768px) {
    .testimonials__overlay {
        padding: 40px 32px;
    }
}

@media (max-width: 990px) {
    .testimonials__overlay {
        opacity: 1;
    }
}

@media (min-width: 991px) {
    .testimonials__overlay {
        opacity: 0;
        transition: opacity 0.5s ease;
    }
}

.testimonials__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

@media (max-width: 990px) {
    .testimonials__content {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (min-width: 991px) {
    .testimonials__content {
        opacity: 0;
        transform: translateY(40px);
        transition:
            transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
            opacity 0.5s ease;
    }
}

.testimonials__avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 20px;
}

.testimonials__name {
    margin: 0;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 8px;
}

@media (max-width: 768px) {
    .testimonials__name {
        font-size: 28px;
    }
}

.testimonials__text {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
}

[data-animate] {
    will-change: transform, opacity;
    backface-visibility: hidden;
    transform: translateZ(0);
}

[data-animate="fade-up"] {
    opacity: 0;
    transform: translate3d(0, 80px, 0);
    transition:
        opacity 1.2s ease,
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="fade-up"].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

[data-animate="fade-down"] {
    opacity: 0;
    transform: translate3d(0, -80px, 0);
    transition:
        opacity 1.2s ease,
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="fade-down"].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

[data-animate="fade-left"] {
    opacity: 0;
    transform: translate3d(80px, 0, 0);
    transition:
        opacity 1.2s ease,
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="fade-left"].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

[data-animate="fade-right"] {
    opacity: 0;
    transform: translate3d(-80px, 0, 0);
    transition:
        opacity 1.2s ease,
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="fade-right"].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

[data-animate="scale"] {
    opacity: 0;
    transform: scale(0.9);
    transition:
        opacity 1.2s ease,
        transform 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="scale"].is-visible {
    opacity: 1;
    transform: scale(1);
}

[data-animate="image-reveal"] {
    overflow: hidden;
}

[data-animate="image-reveal"] img,
[data-animate="image-reveal"] video {
    opacity: 0;
    transform: scale(1.18);
    transition:
        opacity 1.4s ease,
        transform 2.8s cubic-bezier(0.22, 1, 0.36, 1);
}

[data-animate="image-reveal"].is-visible img,
[data-animate="image-reveal"].is-visible video {
    opacity: 1;
    transform: scale(1);
}

@keyframes floating {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }

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

@keyframes rotate-slow {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes marquee {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

html {
    scroll-behavior: smooth;
}