@charset "UTF-8";

@font-face {
    font-family: FeatureDisplay;
    src: url(FeatureDisplay-regular-c31bed04.woff2) format("woff2"), url(FeatureDisplay-regular-d8397f5f.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: FeatureDeck;
    src: url(FeatureDeck-regular-51b40cb4.woff2) format("woff2"), url(FeatureDeck-regular-9fbb9931.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: FeatureText;
    src: url(FeatureText-regular-cd130324.woff2) format("woff2"), url(FeatureText-regular-dd266eee.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: FeatureText;
    src: url(FeatureText-regularitalic-31e9c486.woff2) format("woff2"), url(FeatureText-regularitalic-a7b6a060.woff) format("woff");
    font-weight: 400;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: FeatureText;
    src: url(FeatureText-extrabold-12cfbba1.woff2) format("woff2"), url(FeatureText-extrabold-afa86296.woff) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: FeatureText;
    src: url(FeatureText-extrabolditalic-caad0a79.woff2) format("woff2"), url(FeatureText-extrabolditalic-42320d53.woff) format("woff");
    font-weight: 700;
    font-style: italic;
    font-display: swap
}

@font-face {
    font-family: Sohne;
    src: url(Sohne-regular-534fc3ab.woff2) format("woff2"), url(Sohne-regular-465a16c9.woff) format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Sohne;
    src: url(Sohne-semibold-42673010.woff2) format("woff2"), url(Sohne-semibold-ae2d1805.woff) format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Sohne;
    src: url(Sohne-bold-03e42746.woff2) format("woff2"), url(Sohne-bold-1263096d.woff) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%
}

ul {
    list-style: none
}

button,
input,
select,
textarea {
    margin: 0;
    border: 0;
    background-image: none;
    background-color: transparent;
    box-shadow: none
}

button:focus,
button:active,
input:focus,
input:active,
select:focus,
select:active,
textarea:focus,
textarea:active {
    outline: none
}

html {
    box-sizing: border-box
}

* {
    box-sizing: inherit
}

*,
*:before,
*:after {
    box-sizing: inherit
}

img,
video {
    height: auto;
    max-width: 100%
}

iframe {
    border: 0
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

td,
th {
    padding: 0
}

td:not([align]),
th:not([align]) {
    text-align: inherit
}

address {
    font-style: initial
}

[data-barba=container] {
    width: 100%;
    height: 100%
}

.is-animating [data-barba=container] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.hide-animation canvas,
.hide-animation .webgl {
    visibility: hidden
}

.is-animating canvas,
.is-animating .webgl {
    pointer-events: none
}

.wrapper {
    position: relative;
    z-index: 1
}

.webgl-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0
}

.v-show-text {
    overflow: hidden;
    display: inline-block
}

.v-show-text-el {
    transform: translateY(101%);
    display: inline-block
}

.line-wrapper {
    overflow: hidden;
    margin-top: -.21em;
    width: -moz-max-content;
    width: max-content
}

.big-title .line-wrapper {
    width: auto
}

.text-center .line-wrapper {
    margin-inline: auto
}

.a--sm-text .line-wrapper,
.suptitle .line-wrapper {
    margin-top: 0
}

.line-wrapper .line {
    white-space: nowrap;
    line-height: 1.22
}

.text-center .line-wrapper .line {
    text-align: center !important
}

.title-text__title .line-wrapper .line {
    white-space: normal
}

.a--sm-text .line-wrapper .line,
.suptitle .line-wrapper .line {
    padding-bottom: 0;
    margin-top: 0;
    line-height: 1.3
}

.line-wrapper .button {
    top: 2px
}

.transition-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100.1vh
}

.transition-overlay__slice {
    display: block;
    background-color: #fff;
    height: 33.3333333333%;
    width: 50%
}

.dark-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    background-color: #000;
    opacity: 0;
    pointer-events: none
}

.js-slice-image {
    position: relative
}

.js-slice-image img {
    display: block;
    opacity: 0
}

@media (min-width: 481px) {
    .js-slice-image.sm-screen img {
        opacity: 1
    }
}

@media (max-width: 480px) {
    .js-slice-image:not(.sm-screen) img {
        opacity: 1
    }
}

.js-slice-image .slice-image {
    position: absolute;
    background-repeat: no-repeat;
    z-index: 1
}

.js-slice-image:not(.js-slice-vertical) .slice-image {
    width: 100%;
    background-position-x: center
}

.js-slice-image.js-slice-vertical .slice-image {
    height: 100%;
    background-position-y: center
}

@media (max-width: 480px) {
    .js-slice-image.js-slice-vertical .slice-image {
        background-size: auto 100%
    }
}

.js-horizontal-reveal-text {
    overflow: hidden
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

html {
    font-size: 10px
}

.lenis-stopped {
    overflow-y: scroll !important
}

body {
    width: 100%;
    height: 100vh;
    font-family: FeatureText, sans-serif;
    font-size: min(22px, max(16px, 1600vw / var(--default-w)));
    font-weight: 300;
    letter-spacing: 0
}

body.is-fixed {
    overflow: hidden
}

.page__wrapper {
    min-height: 100vh;
    overflow-x: hidden
}

@media (max-width: 1024px) {
    .page__wrapper {
        padding-top: 85px
    }
}

@media (max-width: 767px) {
    .page__wrapper {
        padding-top: 80px
    }
}

.main-wrapper {
    position: relative;
    --opacity: 0
}

.main-wrapper:after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #000;
    opacity: var(--opacity);
    z-index: 1;
    pointer-events: none
}

main {
    position: relative;
    z-index: 1
}

.main-container {
    width: 100%;
    margin: 0 auto;
    padding-inline: calc(2000vw / var(--default-w))
}

@media (max-width: 767px) {
    .main-container {
        padding-inline: 10px
    }
}

.section {
    padding-top: 60px;
    padding-bottom: 60px
}

@media (max-width: 767px) {
    .section+.section {
        padding-top: 0
    }
}

a,
.link {
    font-family: FeatureText, sans-serif;
    color: #3971ff;
    text-decoration: none;
    cursor: pointer
}

button {
    cursor: pointer
}

@media (max-width: 767px) {
    .is--desktop:not(.img) {
        display: none !important
    }
}

@media (min-width: 768px) {
    .is--mobile:not(.img) {
        display: none !important
    }
}

@media (max-width: 480px) {
    .img.is--desktop {
        display: none !important
    }
}

@media (min-width: 481px) {
    .img.is--mobile {
        display: none !important
    }
}

.dynamic {
    position: relative;
    z-index: 1
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.end-padding {
    display: block;
    height: 80px
}

@media (max-width: 767px) {
    .end-padding {
        height: 0
    }
}

.text-center {
    text-align: center
}

html.lenis {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto
}

.lenis.lenis-smooth [data-lenis-prevent] {
    -ms-scroll-chaining: none;
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

.lenis.lenis-scrolling iframe {
    pointer-events: none
}

p {
    display: block;
    color: #0e172f;
    font-family: FeatureText, sans-serif;
    font-weight: 300;
    font-size: max(1.5rem, 1600vw / var(--default-w));
    line-height: 1.3;
    margin-bottom: 0
}

@media (max-width: 767px) {
    p {
        font-size: 1.5rem;
        line-height: 1.32
    }
}

strong,
.bold {
    font-weight: 700
}

em,
i {
    font-style: italic
}

small,
.small {
    font-size: 1.2rem;
    line-height: 1.69rem
}

.upper-text {
    text-transform: uppercase
}

.text-second,
.text-second p {
    font-family: Sohne, sans-serif
}

h1,
.h1,
.h1 p,
.big-title,
.big-title p {
    display: block;
    color: #242733;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: max(5rem, 14000vw / var(--default-w));
    line-height: .95;
    margin-bottom: 0
}

@media (min-width: 1921px) {

    h1,
    .h1,
    .h1 p,
    .big-title,
    .big-title p {
        font-size: calc(12500vw / var(--default-w))
    }
}

.info-section__text,
h2,
.h2,
.h2 p,
.main-title,
.main-title p {
    display: block;
    color: #242733;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: max(3.2rem, 6400vw / var(--default-w));
    line-height: 1.03;
    margin-bottom: .65em
}

@media (max-width: 767px) {

    .info-section__text,
    h2,
    .h2,
    .h2 p,
    .main-title,
    .main-title p {
        font-size: 3.2rem;
        line-height: 1.12
    }
}

h3,
.h3,
.h3 p,
.medium-title,
.medium-title p,
.medium-title .line-wrapper {
    display: block;
    color: #242733;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: max(2.2rem, 4800vw / var(--default-w));
    line-height: 1.32;
    margin-bottom: .65em
}

@media (max-width: 767px) {

    h3,
    .h3,
    .h3 p,
    .medium-title,
    .medium-title p,
    .medium-title .line-wrapper {
        font-family: FeatureDeck, sans-serif;
        font-size: 2.2rem;
        line-height: 1.29
    }
}

#contact-content .fui-heading,
h4,
.h4,
.h4 p,
.title,
.title p {
    display: block;
    color: #242733;
    font-family: FeatureDeck, sans-serif;
    font-weight: 400;
    font-size: max(1.6rem, 3400vw / var(--default-w));
    line-height: 1.2;
    margin-bottom: .65em
}

@media (max-width: 767px) {

    #contact-content .fui-heading,
    h4,
    .h4,
    .h4 p,
    .title,
    .title p {
        font-size: 1.6rem;
        line-height: 1.36
    }
}

h3,
.h3,
.h3 p,
.medium-title,
.medium-title p,
.medium-title .line-wrapper {
    margin: 0
}

h5,
.h5,
.h5 p {
    display: block;
    color: #242733;
    font-family: FeatureDeck, sans-serif;
    font-weight: 400;
    font-size: max(2rem, 2200vw / var(--default-w));
    line-height: 1.05;
    margin-bottom: .65em
}

#contact-content .fui-type-html,
.expertises__pre-footer-btn,
.project-grid__link,
.home-banner__text,
.slice-link__text,
.back-button,
.cta,
.link-bg,
.simple-link,
.suptitle--15,
.suptitle {
    display: block;
    color: #0e172f;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(12px, 1400vw / var(--default-w));
    line-height: 1.1;
    margin-bottom: 0;
    text-transform: uppercase
}

#contact-content .fui-type-html:not(:last-child),
.expertises__pre-footer-btn:not(:last-child),
.project-grid__link:not(:last-child),
.home-banner__text:not(:last-child),
.slice-link__text:not(:last-child),
.back-button:not(:last-child),
.cta:not(:last-child),
.link-bg:not(:last-child),
.simple-link:not(:last-child),
.suptitle--15:not(:last-child),
.suptitle:not(:last-child) {
    margin-bottom: 30px
}

@media (max-width: 767px) {

    #contact-content .fui-type-html:not(:last-child),
    .expertises__pre-footer-btn:not(:last-child),
    .project-grid__link:not(:last-child),
    .home-banner__text:not(:last-child),
    .slice-link__text:not(:last-child),
    .back-button:not(:last-child),
    .cta:not(:last-child),
    .link-bg:not(:last-child),
    .simple-link:not(:last-child),
    .suptitle--15:not(:last-child),
    .suptitle:not(:last-child) {
        margin-bottom: 10px
    }
}

.suptitle--15 {
    font-size: 1.5rem
}

.c-dark,
.c-dark * {
    color: #242733 !important
}

.c-white,
.c-white * {
    color: #fff !important
}

.c-grey-200,
.c-grey-200 * {
    color: #f0f1f5 !important
}

.c-grey-300,
.c-grey-300 * {
    color: #e6e7eb !important
}

#contact-content .fui-btn,
.button {
    display: inline-block;
    min-width: 200px;
    font-family: Sohne, sans-serif;
    font-size: max(1.5rem, 1500vw / var(--default-w));
    line-height: max(1.12, 1680vw / var(--default-w));
    text-transform: uppercase;
    padding: max(14px, 1400vw / var(--default-w)) max(30px, 3000vw / var(--default-w)) max(10px, 1000vw / var(--default-w));
    margin-left: max(10px, 1000vw / var(--default-w));
    text-align: center;
    position: relative;
    z-index: 1;
    transition: color .35s cubic-bezier(.16, 1, .3, 1);
    color: #fff
}

#contact-content .fui-btn:after,
.button:after,
#contact-content .fui-btn:before,
.button:before {
    background-color: #242733
}

#contact-content .fui-btn:hover,
.button:hover {
    color: #fff
}

#contact-content .fui-btn:hover:before,
.button:hover:before,
#contact-content .fui-btn:hover:after,
.button:hover:after {
    background-color: #3971ff
}

#contact-content .fui-btn:after,
.button:after,
#contact-content .fui-btn:before,
.button:before {
    content: "";
    position: absolute;
    height: calc(100% - max(15px, 1500vw / var(--default-w)));
    width: 100%;
    transition: transform .35s, background-color .35s cubic-bezier(.16, 1, .3, 1);
    z-index: -1
}

#contact-content .fui-btn:before,
.button:before {
    top: 0;
    left: 0;
    transform: translate(min(-10px, -1000vw / var(--default-w)))
}

#contact-content .fui-btn:after,
.button:after {
    bottom: 0;
    right: 0;
    transform: translate(max(10px, 1000vw / var(--default-w)))
}

#contact-content .fui-btn .button__inner,
.button .button__inner {
    overflow: hidden;
    position: relative;
    display: inline-block
}

#contact-content .fui-btn .button__text,
.button .button__text {
    display: block;
    transition: transform .4s cubic-bezier(.65, 0, .35, 1)
}

#contact-content .fui-btn .button__text+.button__text,
.button .button__text+.button__text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    transform: translateY(100%)
}

#contact-content .fui-btn .button__text+.button__text:after,
.button .button__text+.button__text:after {
    content: attr(data-content);
    display: block
}

#contact-content .fui-btn:hover:before,
.button:hover:before,
#contact-content .fui-btn:hover:after,
.button:hover:after {
    background-color: #3971ff;
    transform: translate(0)
}

#contact-content .fui-btn:hover .button__text,
.button:hover .button__text {
    transform: translateY(-100%)
}

#contact-content .fui-btn:hover .button__text+.button__text,
.button:hover .button__text+.button__text {
    transform: translateY(0)
}

#contact-content .b--white.fui-btn,
.b--white.button {
    color: #242733
}

#contact-content .b--white.fui-btn:after,
.b--white.button:after,
#contact-content .b--white.fui-btn:before,
.b--white.button:before {
    background-color: #fff
}

#contact-content .b--white.fui-btn:hover,
.b--white.button:hover {
    color: #fff
}

#contact-content .b--white.fui-btn:hover:before,
.b--white.button:hover:before,
#contact-content .b--white.fui-btn:hover:after,
.b--white.button:hover:after {
    background-color: #242733
}

@media (max-width: 767px) {
    .simple-button-mb {
        display: block;
        width: 100%;
        border: 1px solid #242733;
        text-align: center
    }

    .simple-button-mb .slice-wrapper {
        margin-bottom: 0
    }

    .simple-button-mb .slice-el {
        font-size: 2.2rem !important;
        line-height: .89 !important
    }

    .simple-button-mb .slice-wrapper.is--bottom:after {
        transform: none;
        margin-top: -17px;
        margin-bottom: 5px;
        font-size: 2.2rem !important
    }

    .simple-button-mb.c-grey-200 {
        border-color: #f0f1f5
    }
}

.link-arrow {
    display: inline-block;
    width: 10px;
    height: 10px;
    position: relative;
    margin-left: 10px
}

.link-arrow:before,
.link-arrow:after {
    content: "";
    position: absolute
}

.link-arrow:before {
    top: 0;
    left: 1px;
    width: 115%;
    height: 1px;
    background-color: #fff;
    transform: rotate(45deg);
    transform-origin: left top;
    transition: background-color .3s ease
}

.link-arrow:after {
    bottom: 0;
    right: 0;
    width: 70%;
    height: 70%;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transition: border-color .3s ease
}

a:hover .link-arrow:before {
    background-color: #000
}

a:hover .link-arrow:after {
    border-color: #000
}

.simple-link {
    display: inline-block;
    position: relative
}

.simple-link:after {
    content: "";
    display: block;
    height: 1px;
    background-color: currentcolor;
    transform-origin: left;
    transform: scaleX(1);
    transition: transform .7s cubic-bezier(.16, 1, .3, 1)
}

.simple-link:hover:after {
    transform-origin: right;
    transform: scaleX(0)
}

.simple-link.to--underline:after {
    transform-origin: right;
    transform: scaleX(0)
}

.simple-link.to--underline:hover:after {
    transform-origin: left;
    transform: scaleX(1)
}

.link-bg {
    display: inline-block;
    position: relative;
    z-index: 1;
    transition: color .6s cubic-bezier(.16, 1, .3, 1)
}

.link-bg:after {
    content: "";
    display: block;
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -4px;
    background-color: #242733;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .7s cubic-bezier(.16, 1, .3, 1);
    z-index: -1
}

.link-bg:hover {
    color: #fff
}

.link-bg:hover:after {
    transform-origin: left;
    transform: scaleX(1)
}

.link-bg.is--light {
    color: #fff
}

.link-bg.is--light:after {
    background-color: #fff
}

.link-bg.is--light:hover {
    color: #242733
}

.button-close {
    position: relative;
    width: max(25px, 2900vw / var(--default-w));
    height: max(25px, 2900vw / var(--default-w));
    text-indent: -9999px
}

.button-close:before,
.button-close:after {
    content: "";
    width: 100%;
    height: 2px;
    background-color: #d2d2d2;
    position: absolute;
    top: 45%;
    left: 0
}

.button-close:before {
    transform: rotate(45deg)
}

.button-close:after {
    transform: rotate(-45deg)
}

.cta {
    font-size: max(1.5rem, 1500vw / var(--default-w));
    background-color: #242733;
    color: #fff;
    display: inline-block;
    border-radius: 50px;
    padding: max(12px, 1200vw / var(--default-w)) max(22px, 2200vw / var(--default-w));
    padding-bottom: max(11px, 1100vw / var(--default-w));
    transition: background-color .35s cubic-bezier(.16, 1, .3, 1)
}

.cta:hover {
    background-color: #3971ff
}

.back-button {
    display: inline-block
}

.back-button svg {
    height: .7em;
    margin-right: .5em
}

.back-button:after {
    content: "";
    display: block;
    height: 1px;
    background-color: currentcolor;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .7s cubic-bezier(.16, 1, .3, 1)
}

.back-button:hover:after {
    transform-origin: left;
    transform: scaleX(1)
}

.cursor {
    pointer-events: none;
    position: fixed;
    padding: .3rem;
    overflow: hidden;
    transform: translate(-50%, -50%) scale(0);
    transition: opacity .5s ease, visibility .5s ease, transform 1s cubic-bezier(.65, 0, .35, 1);
    opacity: 0;
    visibility: hidden;
    z-index: 100;
    width: 100px;
    height: 100px
}

@media (max-width: 767px) {
    .cursor {
        display: none
    }
}

.cursor:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    background-color: rgba(18, 19, 25, .6)
}

.cursor.is-drag:after {
    display: block;
    color: #fff;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.1;
    margin-bottom: 0;
    content: "DRAG";
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

html[lang=fr-CA] .cursor.is-drag:after {
    content: "D\c9 FILER"
}

.hover-cursor {
    transition: all .3s ease;
    display: inline-block;
    position: relative;
    padding: 5% 5% 5% 0
}

.hover-cursor-el {
    transition: transform .1s linear
}

.js-hover-cursor:hover,
.js-hover-cursor *:hover {
    cursor: none
}

.js-hover-cursor:hover .cursor {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    visibility: visible
}

@keyframes bigger {
    50% {
        transform: translate(-50%, -50%) scale(12)
    }

    to {
        transform: translate(-50%, -50%) scale(8)
    }
}

.l-cursor {
    pointer-events: none;
    position: fixed;
    padding-inline: 10px;
    background-color: #242733;
    transition: transform .5s, opacity .5s, visibility .5s ease-out;
    z-index: 10;
    opacity: 0;
    visibility: hidden
}

.l-cursor:before,
.l-cursor:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #242733;
    width: calc(100% + 10px);
    height: 100%;
    transition: transform .3s ease .15s
}

.l-cursor:before {
    transform: translate(-5px, -20%)
}

.l-cursor:after {
    transform: translate(-5px, 23%)
}

.l-cursor.is--active {
    transform: translate(-50%, -50%);
    opacity: 1;
    visibility: visible
}

.l-cursor.is--active:before {
    transform: translate(-10px, -20%)
}

.l-cursor.is--active:after {
    transform: translateY(23%)
}

.l-cursor__text {
    color: #fff;
    font-family: Sohne, sans-serif;
    font-size: 2.4rem;
    line-height: 26px;
    position: relative;
    z-index: 1
}

body>.cookiefirst-root>span {
    display: none
}

.slice-link {
    display: inline-block;
    height: max(80px, min(100px, 10000vw / var(--default-w)));
    overflow: hidden;
    position: relative;
    pointer-events: auto
}

.slice-link .js-slice-image {
    height: max(80px, min(100px, 10000vw / var(--default-w)))
}

.slice-link .slice-image {
    transition: background-position .3s cubic-bezier(.22, 1, .36, 1)
}

.slice-link.s-sm {
    width: max(320px, min(400px, 38500vw / var(--default-w)))
}

.slice-link.s-sm .slice-image:first-of-type {
    transform: translate(max(-180px, -10000vw / var(--default-w)));
    background-position-x: min(120px, 5000vw / var(--default-w));
    background-position-y: min(10px, -1000vw / var(--default-w)) !important
}

@media (max-width: 1366px) {
    .slice-link.s-sm .slice-image:first-of-type {
        transform: translate(-27%)
    }
}

.slice-link.s-sm .slice-image:nth-of-type(2) {
    background-position-x: max(0px, -500vw / var(--default-w));
    background-position-y: min(-27.6667px, -2766.67vw / var(--default-w)) !important;
    transition-duration: .5s
}

.slice-link.s-sm .slice-image:last-of-type {
    transform: translate(min(140px, 15000vw / var(--default-w)));
    background-position-x: max(-100px, -10000vw / var(--default-w));
    background-position-y: max(-55.3333px, -5533.33vw / var(--default-w)) !important
}

.slice-link.s-sm:hover .slice-image:first-of-type {
    background-position-x: min(180px, 10000vw / var(--default-w));
    background-position-y: 0 !important
}

.slice-link.s-sm:hover .slice-image:nth-of-type(2) {
    background-position-x: 0;
    background-position-y: min(-32.6667px, 3266.67vw / var(--default-w)) !important
}

.slice-link.s-sm:hover .slice-image:last-of-type {
    background-position-x: max(-140px, -15000vw / var(--default-w));
    background-position-y: min(-65.3333px, 6533.33vw / var(--default-w)) !important
}

.slice-link.s-lg {
    width: max(280px, min(500px, 48000vw / var(--default-w)))
}

.slice-link.s-lg .slice-image {
    transition-duration: .4s
}

.slice-link.s-lg .slice-image:first-of-type {
    background-position-x: max(-170px, -17000vw / var(--default-w));
    transform: translate(min(120px, 12000vw / var(--default-w)))
}

.slice-link.s-lg .slice-image:nth-of-type(2) {
    background-position-x: max(-25px, -2000vw / var(--default-w))
}

.slice-link.s-lg .slice-image:last-of-type {
    background-position-x: min(160px, 16000vw / var(--default-w));
    transform: translate(max(-160px, -16000vw / var(--default-w)))
}

.slice-link.s-lg:hover .slice-image:first-of-type {
    background-position-x: max(-160px, -16000vw / var(--default-w))
}

.slice-link.s-lg:hover .slice-image:nth-of-type(2) {
    background-position-x: max(-40px, -4000vw / var(--default-w))
}

.slice-link.s-lg:hover .slice-image:last-of-type {
    background-position-x: min(120px, 12000vw / var(--default-w))
}

.slice-link .img {
    display: none
}

.slice-link__text-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
    width: 100%;
    text-align: center;
    z-index: 1
}

.slice-link__text {
    color: #fff;
    font-size: min(18px, max(12px, 1400vw / var(--default-w)));
    transition: transform .5s cubic-bezier(.3, 0, 0, 1);
    overflow: hidden;
    position: relative
}

@media (max-width: 1024px) {
    .slice-link__text {
        font-size: min(18px, max(14px, 1400vw / var(--default-w)))
    }
}

.slice-link__text-inner {
    display: block;
    transition: transform .4s cubic-bezier(.65, 0, .35, 1)
}

.slice-link__text-inner+.slice-link__text-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateY(100%)
}

.slice-link__text-inner+.slice-link__text-inner:after {
    content: attr(data-content);
    display: block
}

.slice-link:hover .slice-link__text-inner {
    transform: translateY(-100%)
}

.slice-link:hover .slice-link__text-inner+.slice-link__text-inner {
    transform: translateY(0)
}

.js-slice-wrapper {
    height: max(80px, min(100px, 10000vw / var(--default-w)));
    overflow: hidden;
    position: relative
}

.js-slice-wrapper.s-sm {
    width: max(320px, min(400px, 38500vw / var(--default-w)))
}

.js-slice-wrapper.s-lg {
    width: max(280px, min(500px, 48000vw / var(--default-w)))
}

.js-slice-wrapper .slice-link {
    position: absolute;
    display: block !important
}

.js-slice-wrapper .slice-link .js-slice-image,
.js-slice-wrapper .slice-link__text {
    display: block !important
}

.js-slice-wrapper .slice-link__text-wrapper {
    position: absolute !important
}

@keyframes hover-slice-top {
    to {
        transform: translate(4px)
    }
}

.slice-wrapper {
    display: block;
    overflow: hidden;
    transition: transform .5s cubic-bezier(.2, 0, 0, 1);
    position: relative
}

.slice-wrapper .slice-el {
    display: block;
    margin: 0
}

.slice-wrapper.is--top .slice-el {
    transform: translateY(42%)
}

.slice-wrapper.is--bottom:after {
    content: attr(data-content);
    display: block;
    transform: translateY(-58%)
}

.slice-hover:hover .slice-wrapper.is--top {
    transform: translate(4px)
}

.slice-hover:hover .slice-wrapper.is--bottom {
    transform: translate(-4px)
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    z-index: 10
}

.is-animating .header {
    pointer-events: none
}

.header-inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 30px calc(2000vw / var(--default-w)) 10px
}

@media (max-width: 767px) {
    .header-inner {
        padding-left: 10px;
        padding-right: 0
    }
}

.header-left {
    position: relative;
    y: 200%;
    pointer-events: auto
}

.header .logo {
    display: block;
    transition: filter .5s ease-in-out;
    width: max(120px, 11600vw / var(--default-w))
}

.header:not(.is--light) .logo {
    filter: invert(.85)
}

.header-menu {
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 5px;
    column-gap: 5px;
    align-items: center;
    position: relative;
    pointer-events: auto
}

@media (max-width: 767px) {
    .header-menu {
        display: none
    }
}

.header-menu__hover {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #242733;
    pointer-events: none;
    height: 100%;
    width: 125px
}

.header-menu__wrapper {
    position: relative;
    z-index: 1;
    display: flex;
    flex-flow: row wrap
}

.header-menu__item {
    display: block
}

.header-menu__link {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.2rem, 1200vw / var(--default-w));
    line-height: max(1.3rem, 1300vw / var(--default-w));
    margin-bottom: 0;
    text-transform: uppercase;
    padding: calc(500vw / var(--default-w)) calc(1000vw / var(--default-w)) calc(400vw / var(--default-w));
    min-width: calc(12500vw / var(--default-w));
    text-align: center
}

.header-menu__link.is-active,
.is--light .header-menu__link {
    color: #fff
}

.is--light .header-menu__link.is-active {
    color: #242733
}

.header-menu__button {
    font-size: max(1.2rem, 1200vw / var(--default-w));
    line-height: max(1.3rem, 1300vw / var(--default-w));
    min-width: 100px;
    margin-left: 0;
    padding: calc(400vw / var(--default-w)) calc(2000vw / var(--default-w))
}

.is--light .header-menu__button,
.is--light+.menu .header-menu__button {
    color: #242733
}

.header-menu__button:before,
.header-menu__button:after {
    height: calc(100% - max(8px, 800vw / var(--default-w)))
}

.menu-is-open .header-menu__button:before,
.is--light .header-menu__button:before,
.is--light+.menu .header-menu__button:before,
.menu-is-open .header-menu__button:after,
.is--light .header-menu__button:after,
.is--light+.menu .header-menu__button:after {
    background-color: #fff
}

.header-menu__button:before {
    transform: translate(max(6px, 600vw / var(--default-w)))
}

.header-menu__button:after {
    transform: translate(min(-6px, -600vw / var(--default-w)))
}

.header-menu__button:hover {
    color: #fff
}

.header-menu__button:hover:before,
.header-menu__button:hover:after {
    background-color: #242733
}

.menu-is-open .header-menu__button:hover:before,
.menu-is-open .header-menu__button:hover:after {
    background-color: #fff
}

.menu-is-open .header-menu__button:hover {
    color: #242733
}

.menu-is-open .header-menu__button:hover .button-text:nth-child(2) {
    transform: translate(-50%, -200%)
}

.menu-is-open .header-menu__button:hover .button-text.is--hover {
    transform: translateY(0)
}

.is--light .header-menu__button:hover {
    color: #242733
}

.is--light .header-menu__button:hover:before,
.is--light .header-menu__button:hover:after {
    background-color: #fff
}

.header-menu__button .button-inner {
    display: block;
    position: relative;
    top: .5px;
    overflow: hidden;
    padding-inline: max(10px, 1000vw / var(--default-w))
}

.header-menu__button .button-text {
    display: block;
    transition: transform .5s cubic-bezier(.22, 1, .36, 1)
}

.header-menu__button .button-text:nth-child(2) {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%)
}

.menu .header-menu__button .button-text:nth-child(2) {
    color: #242733
}

.menu-is-open .header-menu__button .button-text {
    transform: translateY(-100%);
    color: #242733
}

.menu-is-open .header-menu__button .button-text:nth-child(2) {
    transform: translate(-50%, -100%)
}

.header-menu__button .button-text.is--hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateY(100%)
}

.header-menu__button .button-text.is--hover:after {
    content: attr(data-content);
    display: block
}

.menu-is-open .header .header-menu__button {
    opacity: 0
}

.header-aside {
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 10px;
    column-gap: 10px;
    align-items: center;
    pointer-events: auto
}

@media (max-width: 767px) {
    .header-aside {
        padding-right: 15px
    }
}

.toggle-menu {
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    transform: translateY(-55%) !important;
    padding: 0 6px;
    z-index: 10
}

@media (min-width: 768px) {
    .toggle-menu {
        left: 0;
        transform: translate(-150%, -70%)
    }
}

@media (max-width: 767px) {
    .toggle-menu {
        right: 10px
    }
}

.toggle-menu__bar {
    display: block;
    background-color: #000;
    width: 14px;
    height: 2px;
    position: relative;
    transition: background-color .5s, transform .2s cubic-bezier(.3, 0, 0, 1)
}

.toggle-menu__bar:after {
    content: "";
    display: block;
    background-color: #000;
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 2px;
    transition: background-color .5s, transform .2s cubic-bezier(.3, 0, 0, 1)
}

.toggle-menu__bar+.toggle-menu__bar {
    transform: translate(100%)
}

.is--light .toggle-menu__bar,
.is--light .toggle-menu__bar:after {
    background-color: #fff
}

.menu-is-active .toggle-menu__bar:first-child {
    transform: rotate(45deg) translateY(-1.5px);
    transform-origin: right
}

.menu-is-active .toggle-menu__bar:first-child:after {
    transform: rotate(-90deg) translate(3px, 1px);
    transform-origin: right
}

.menu-is-active .toggle-menu__bar:nth-child(2) {
    transform: rotate(-45deg) translate(95%, 9px);
    transform-origin: left
}

.menu-is-active .toggle-menu__bar:nth-child(2):after {
    transform: rotate(90deg) translate(-3px, 1px);
    transform-origin: left
}

.menu-is-active .header .toggle-menu__bar {
    opacity: 0
}

body:not(.menu-is-active) .toggle-menu:hover {
    cursor: pointer
}

body:not(.menu-is-active) .toggle-menu:hover .toggle-menu__bar {
    transform: translateY(1px)
}

body:not(.menu-is-active) .toggle-menu:hover .toggle-menu__bar+.toggle-menu__bar {
    transform: translate(100%, -1px)
}

.js-header {
    overflow: hidden
}

.menu {
    --bottom-path: 100%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    z-index: 10;
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    overflow: auto;
    filter: brightness(100%);
    -webkit-clip-path: polygon(0 0, 100% 0, 100% var(--bottom-path), 0 var(--bottom-path));
    clip-path: polygon(0 0, 100% 0, 100% var(--bottom-path), 0 var(--bottom-path))
}

@media (max-width: 767px) {
    .menu {
        row-gap: 50px;
        align-items: center
    }
}

.menu-is-active .menu {
    opacity: 1;
    visibility: visible
}

.menu .logo {
    position: absolute;
    top: 30px;
    left: 10px;
    width: max(120px, 11600vw / var(--default-w))
}

@media (min-width: 768px) {
    .menu .logo {
        display: none
    }
}

.menu__background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform-origin: top;
    background-color: #121319;
    z-index: -1
}

.menu-container {
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 1fr
}

@media (max-width: 767px) {
    .menu-container {
        padding-top: calc(80px + 7vh)
    }
}

.menu__link {
    --scale: 1;
    display: block;
    color: #f0f1f5;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: max(10.8rem, 10800vw / var(--default-w));
    line-height: .8;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    padding-inline: calc(2000vw / var(--default-w));
    position: relative;
    width: 100%
}

.menu__link:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    background-color: #fff;
    opacity: .2;
    transform: scale(var(--scale));
    transform-origin: left;
    z-index: 1
}

@media (min-width: 768px) {
    .menu__link:nth-child(even) {
        justify-content: flex-end
    }

    .menu__link:nth-child(odd):after {
        transform-origin: right
    }

    .menu__link:nth-child(3) {
        padding-left: 15%
    }

    .menu__link:nth-child(4) {
        padding-right: 15%
    }
}

@media (max-width: 767px) {
    .menu__link {
        font-size: 12.4vw;
        justify-content: center;
        text-align: center;
        padding: 12px 10px
    }

    .menu__link:first-child:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        height: 1px;
        width: 100%;
        background-color: #fff;
        opacity: .3;
        transform: scale(var(--scale));
        transform-origin: left;
        z-index: 1
    }
}

.menu__link .slice-wrapper.is--top {
    height: max(.45em, 4859vw / var(--default-w))
}

.menu__link .slice-wrapper.is--top .slice-el {
    transform: translateY(0)
}

.menu__link .slice-wrapper.is--bottom {
    height: max(.39em, 4212vw / var(--default-w))
}

.menu__link .slice-wrapper.is--bottom:after {
    transform: translateY(-56%)
}

.menu__link .slice-wrapper.is--bottom .slice-el {
    transform: translateY(min(-49px, -4900vw / var(--default-w)))
}

@media (max-width: 767px) {
    .menu__link .slice-wrapper.is--bottom .slice-el {
        transform: translateY(-50%)
    }
}

.menu__link .link-size {
    display: block;
    color: #f0f1f5;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: max(10.8rem, 10800vw / var(--default-w));
    line-height: .8;
    margin-bottom: 0
}

@media (max-width: 767px) {
    .menu__link .link-size {
        font-size: 12.4vw
    }
}

.menu__link-text {
    overflow: hidden
}

@media (max-width: 767px) {
    .menu__link-text {
        width: 100%
    }
}

.menu__link-icon {
    display: inline-block;
    vertical-align: middle;
    margin-inline: 15px;
    position: relative;
    top: -.8rem;
    overflow: hidden;
    width: 106px;
    height: 100px
}

@media (max-width: 767px) {
    .menu__link-icon {
        margin-inline: 2.5%;
        top: -3px;
        width: 10vw;
        height: 10vw
    }
}

.menu__link svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 106px;
    height: 100px
}

@media (max-width: 767px) {
    .menu__link svg {
        width: 10vw;
        height: auto
    }
}

.menu__bg-banner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: scaleY(0);
    transform-origin: bottom;
    background-color: #121319;
    z-index: -1
}

.menu-bottom {
    position: relative
}

@media (min-width: 768px) {
    .menu-bottom {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: center;
        padding-inline: calc(2000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .menu-bottom {
        margin-top: 6vh;
        padding-inline: 10px;
        padding-bottom: calc(10vh + 30px)
    }
}

@media (min-width: 768px) {
    .menu-aside {
        order: 2
    }
}

@media (max-width: 767px) {
    .menu-aside {
        width: 100%
    }
}

.menu-aside__link {
    display: block;
    color: #f0f1f5;
    font-family: FeatureDeck, sans-serif;
    font-weight: 400;
    font-size: 3rem;
    line-height: 1.32;
    margin-bottom: 0;
    display: inline-block;
    overflow: hidden;
    position: relative;
    top: 2px
}

@media (max-width: 767px) {
    .menu-aside__link {
        width: 100%
    }
}

@media (min-width: 768px) {
    .menu-aside__link:not(:last-child) {
        margin-right: 75px
    }
}

@media (max-width: 767px) {
    .menu-aside__link:not(:last-child) {
        margin-bottom: 5px
    }
}

.menu-aside__link .title {
    display: block;
    color: #f0f1f5;
    font-family: FeatureDeck, sans-serif;
    font-weight: 400;
    font-size: 3rem;
    line-height: 1.32;
    margin-bottom: 0
}

@media (min-width: 768px) {
    .menu .lang {
        order: 1
    }
}

@media (max-width: 767px) {
    .menu .lang {
        text-align: center;
        margin-top: 3vh
    }
}

.menu .lang__link {
    overflow: hidden
}

.menu-close {
    position: absolute;
    top: 37px;
    right: 60px;
    width: 40px;
    height: 40px;
    transition: transform .3s cubic-bezier(.65, 0, .35, 1);
    z-index: 1
}

@media (max-width: 767px) {
    .menu-close {
        top: 35px;
        right: 5px
    }
}

.menu-close:before,
.menu-close:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #d2d2d2;
    width: 65%;
    height: 2px
}

.menu-close:before {
    transform: translate(-50%) rotate(45deg)
}

.menu-close:after {
    transform: translate(-50%) rotate(-45deg)
}

.menu-close:hover {
    cursor: pointer
}

.menu__toggle-menu {
    position: absolute;
    top: 45px;
    right: 10px
}

.menu__toggle-menu .toggle-menu__bar {
    --color: #000
}

.menu__toggle-menu .toggle-menu__bar,
.menu__toggle-menu .toggle-menu__bar:after {
    background-color: var(--color)
}

.menu .header-menu__button {
    position: absolute;
    top: 35px;
    right: calc(2000vw / var(--default-w));
    z-index: 1
}

.menu .js-menu-link-text {
    display: block;
    padding-bottom: max(.2rem, 200vw / var(--default-w))
}

@media (max-width: 767px) {
    .menu .js-menu-link-text {
        white-space: nowrap
    }
}

.menu__webgl-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    overflow: hidden;
    transform-origin: bottom;
    z-index: -1
}

.footer {
    background-color: #fff;
    position: relative;
    z-index: 1
}

.footer__container {
    display: flex;
    flex-flow: column wrap;
    padding-top: max(10px, 2000vw / var(--default-w));
    padding-bottom: max(30px, 4000vw / var(--default-w))
}

@media (min-width: 768px) {
    .footer__container {
        min-height: 100vh;
        justify-content: space-between
    }
}

.footer-top {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between
}

@media (max-width: 767px) {
    .footer-top {
        order: 2;
        flex-direction: column;
        align-items: center;
        row-gap: 10px;
        margin-bottom: 90px
    }
}

.footer-top .simple-button-mb.is-contact-link .slice-wrapper.is--top {
    animation: slide-x-top 1s cubic-bezier(.65, 0, .35, 1) infinite alternate
}

.footer-top .simple-button-mb.is-contact-link .slice-wrapper.is--bottom {
    animation: slide-x-bottom 1s cubic-bezier(.65, 0, .35, 1) infinite alternate
}

@keyframes slide-x-top {
    3% {
        transform: translate(-2px)
    }

    10% {
        transform: translate(2px)
    }

    20% {
        transform: translate(0)
    }

    to {
        transform: translate(0)
    }
}

@keyframes slide-x-bottom {
    5% {
        transform: translate(2px)
    }

    10% {
        transform: translate(-2px)
    }

    20% {
        transform: translate(0)
    }

    to {
        transform: translate(0)
    }
}

.footer-body {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-top: calc(10000vw / var(--default-w));
    margin-bottom: calc(15000vw / var(--default-w));
    height: calc(25000vw / var(--default-w))
}

@media (max-width: 767px) {
    .footer-body {
        order: 1
    }
}

.footer-body__background {
    --pos-1: 32.6%;
    --pos-2: 41.2%;
    --pos-4: 58.5%;
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(86000vw / var(--default-w) + 20%);
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transform: translate(-50%);
    -webkit-mask-image:url(Logo-catalysts-part1.svg), url(Logo-catalysts-part2.svg), url(Logo-catalysts-part3.svg), url(Logo-catalysts-part4.svg);
    mask-image:url(Logo-catalysts-part1.svg),  url(Logo-catalysts-part2.svg), url(Logo-catalysts-part3.svg), url(Logo-catalysts-part4.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: var(--pos-1) 57.5%, var(--pos-2) 55%, center 48.9%, var(--pos-4) 48.9%;
    mask-position: var(--pos-1) 57.5%, var(--pos-2) 55%, center 48.9%, var(--pos-4) 48.9%;
    -webkit-mask-size: 80% auto;
    mask-size: 80% auto
}

.footer-bottom {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between
}

@media (max-width: 767px) {
    .footer-bottom {
        flex-direction: column;
        order: 3
    }
}

.footer-col__item a {
    color: #242733;
    transition: color .3s ease
}

.footer-col__item a:hover {
    color: #3971ff
}

@media (max-width: 767px) {
    .footer-col__contact {
        order: 1;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        border-bottom: 1px solid #242733;
        padding-bottom: 10px;
        width: 100%
    }

    .footer-col__social {
        order: 2;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        width: 100%;
        margin-top: 10px
    }

    .footer-col__social a {
        font-family: Sohne, sans-serif;
        font-size: 1.2rem
    }

    .footer-col__hour {
        order: 3;
        margin-top: 50px
    }

    .footer-col__address {
        order: 4;
        text-align: center;
        margin-top: 30px;
        font-family: Sohne, sans-serif;
        font-size: 1.2rem;
        line-height: 1.3
    }
}

.footer-col__hour {
    display: flex;
    flex-flow: row nowrap;
    -moz-column-gap: 10px;
    column-gap: 10px;
    align-items: center
}

@media (min-width: 768px) {
    .footer-col__hour {
        margin-top: -20px
    }
}

@media (max-width: 767px) {
    .footer-col__hour {
        -moz-column-gap: 0;
        column-gap: 0;
        justify-content: center
    }
}

.hour {
    color: #242733;
    font-family: Sohne, sans-serif;
    font-size: max(4.2rem, 6200vw / var(--default-w));
    font-weight: 700;
    line-height: 1;
    min-width: calc(27500vw / var(--default-w))
}

@media (max-width: 767px) {
    .hour {
        width: 191px
    }
}

.notification__btn {
    font-family: FeatureDeck, sans-serif;
    font-size: max(2rem, 3000vw / var(--default-w));
    line-height: 1.2;
    border: 1px solid #242733;
    border-radius: 50px;
    cursor: default;
    padding: 0 max(12px, 1800vw / var(--default-w)) max(1px, 200vw / var(--default-w));
    height: max(3.6rem, 4600vw / var(--default-w));
    position: relative;
    color: #000
}

@media (max-width: 767px) {
    .notification__btn {
        height: 3.2rem
    }
}

.notification__number {
    position: absolute;
    top: 0;
    right: 0;
    width: max(15px, 2000vw / var(--default-w));
    height: max(15px, 2000vw / var(--default-w));
    transform: translate(20%, -40%);
    text-align: center;
    border-radius: 50%;
    background-color: #3971ff;
    color: #fff;
    font-family: Sohne, sans-serif;
    font-size: max(.8rem, 1200vw / var(--default-w));
    line-height: max(15px, 2000vw / var(--default-w))
}

.project-thumbnail {
    display: inline-block;
    width: 100%
}

.project-thumbnail__img-wrapper {
    --first-top: 0%;
    --first-bottom: 33.3333%;
    --second-top: 33.3333%;
    --second-bottom: 66.6666%;
    --third-top: 66.6666%;
    --third-bottom: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(0% var(--first-top), 100% var(--first-top), 100% var(--first-bottom), 0% var(--first-bottom), 0% var(--second-top), 100% var(--second-top), 100% var(--second-bottom), 0% var(--second-bottom), 0% var(--third-top), 100% var(--third-top), 100% var(--third-bottom), 0% var(--third-bottom));
    clip-path: polygon(0% var(--first-top), 100% var(--first-top), 100% var(--first-bottom), 0% var(--first-bottom), 0% var(--second-top), 100% var(--second-top), 100% var(--second-bottom), 0% var(--second-bottom), 0% var(--third-top), 100% var(--third-top), 100% var(--third-bottom), 0% var(--third-bottom))
}

.project-thumbnail__img {
    --clip-bottom: 100%;
    padding-bottom: 130.4%;
    position: relative;
    overflow: hidden;
    z-index: 1;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% var(--clip-bottom), 0% var(--clip-bottom));
    clip-path: polygon(0% 0%, 100% 0%, 100% var(--clip-bottom), 0% var(--clip-bottom))
}

.project-thumbnail__img.is-shown {
    --clip-bottom: 100% !important
}

.project-thumbnail__img .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

.home .project-thumbnail__img {
    padding-bottom: 0;
    aspect-ratio: .76
}

.project-thumbnail__img-hover {
    z-index: -1
}

.project-thumbnail__title {
    font-size: max(20px, 2000vw / var(--default-w));
    margin-top: max(10px, 1000vw / var(--default-w));
    margin-bottom: 0;
    padding-right: max(30px, 3000vw / var(--default-w))
}

.project-thumbnail__title .line-wrapper {
    margin-top: 0
}

.project-thumbnail__suptitle {
    margin-top: max(8px, 800vw / var(--default-w));
    opacity: .5
}

.project-thumbnail__tag {
    position: absolute;
    top: max(4px, 400vw / var(--default-w));
    right: max(4px, 400vw / var(--default-w));
    background-color: #3971ff;
    padding: max(4px, 400vw / var(--default-w)) max(8px, 800vw / var(--default-w)) max(3px, 300vw / var(--default-w))
}

.lines-list__item {
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-top: -1px
}

.lines-list__item .suptitle {
    color: #fff
}

.is--dark .lines-list__item .suptitle {
    color: #242733
}

.lines-list__item .has--icon .line-wrapper {
    display: inline-block
}

.lines-list__border {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #e6e7eb;
    transform-origin: left
}

@media (min-width: 768px) {
    .lines-list__border {
        left: calc(2000vw / var(--default-w));
        right: calc(2000vw / var(--default-w))
    }
}

.lines-list__border.is--bottom {
    top: auto;
    bottom: 0
}

.is--dark .lines-list__border {
    background-color: #121319
}

.lines-list__item-inner {
    display: block;
    position: relative
}

@media (min-width: 768px) {
    .lines-list__item-inner * {
        margin-bottom: 0 !important
    }
}

.lines-list__item-content {
    width: 100%;
    position: relative;
    z-index: 1
}

@media (min-width: 768px) {
    .lines-list__item-content {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;
        -moz-column-gap: 20px;
        column-gap: 20px;
        min-height: 90px;
        padding-top: 25px;
        padding-bottom: 25px
    }
}

@media (max-width: 767px) {
    .lines-list__item-content {
        padding: 15px 0 50px
    }
}

@media (min-width: 768px) {
    .lines-list__item-first {
        width: 47%
    }
}

@media (max-width: 767px) {
    .lines-list__item-first {
        margin-bottom: 10px;
        padding-right: 15%
    }
}

.lines-list__item-title {
    display: block;
    color: #fff;
    font-family: FeatureDeck, sans-serif;
    font-weight: 400;
    font-size: max(2.2rem, 2200vw / var(--default-w));
    line-height: 1.05;
    margin-bottom: 0
}

.is--dark .lines-list__item-title {
    color: #242733
}

.lines-list__item-second {
    width: 100%
}

@media (min-width: 768px) {
    .lines-list__item-second {
        width: 30%
    }
}

@media (max-width: 767px) {
    .lines-list__item-second {
        padding-right: 15%
    }
}

.lines-list__item-third {
    width: 100%
}

@media (min-width: 768px) {
    .lines-list__item-third {
        width: 20%;
        text-align: right
    }
}

.lines-list__small-col {
    width: 100%
}

@media (min-width: 768px) {
    .lines-list__small-col {
        width: 15%
    }
}

.lines-list__overlay {
    width: 100%;
    height: 100%;
    background-color: #e6e7eb;
    display: block;
    position: absolute;
    top: 100%;
    bottom: 0%;
    left: 0%;
    right: 0%;
    pointer-events: none
}

.is--dark .lines-list__overlay {
    background-color: #121319
}

@media (min-width: 1921px) {
    .lines-list__overlay {
        width: auto;
        left: -6%;
        right: -6%
    }
}

#contact-content .fui-field-container,
#contact-content .text-field {
    position: relative
}

#contact-content .fui-field-container label,
#contact-content .text-field label {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.2rem, 1200vw / var(--default-w));
    line-height: 1.1;
    margin-bottom: 0;
    text-transform: uppercase;
    margin-bottom: max(7px, 700vw / var(--default-w));
    text-align: left;
    transform: translateY(calc(100% + max(10px, 1000vw / var(--default-w))));
    transition: transform .5s cubic-bezier(.22, 1, .36, 1)
}

#contact-content .fui-field-container.is-active label,
#contact-content .text-field.is-active label {
    transform: translateY(0);
    opacity: .3
}

#contact-content .fui-input,
#contact-content textarea,
#contact-content input[type=text],
#contact-content input[type=email],
#contact-content input[type=tel],
#contact-content select {
    --focus-color: #6200ee;
    --valid-color: #6200ee;
    --error-color: #e00;
    display: block;
    color: #242733;
    font-family: FeatureText, sans-serif;
    font-weight: 400;
    font-size: max(2.2rem, 2200vw / var(--default-w));
    line-height: 1.05;
    margin-bottom: 0;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #242733;
    border-radius: 0;
    width: 100%;
    height: max(3.2rem, 3200vw / var(--default-w));
    padding-inline: 0;
    padding-bottom: max(10px, 1000vw / var(--default-w));
    outline: none;
    box-sizing: border-box
}

@media (min-width: 768px) {

    #contact-content .fui-input,
    #contact-content textarea,
    #contact-content input[type=text],
    #contact-content input[type=email],
    #contact-content input[type=tel],
    #contact-content select {
        max-width: max(350px, 44000vw / var(--default-w))
    }
}

@media (max-width: 767px) {

    #contact-content .fui-input,
    #contact-content textarea,
    #contact-content input[type=text],
    #contact-content input[type=email],
    #contact-content input[type=tel],
    #contact-content select {
        font-size: 1.6rem
    }
}

#contact-content select {
    padding: 0;
    margin-bottom: max(5px, 500vw / var(--default-w));
    line-height: 1.35
}

#contact-content textarea {
    resize: none;
    min-height: max(3.2rem, 3200vw / var(--default-w));
    font-size: max(1.6rem, 1600vw / var(--default-w));
    line-height: 1.2;
    max-height: max(360px, 36000vw / var(--default-w));
    transition: padding-bottom .25s ease;
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-x: scroll
}

#contact-content textarea::-webkit-scrollbar {
    display: none
}

.is-active #contact-content textarea {
    padding-bottom: max(40px, 4000vw / var(--default-w))
}

#contact-content .fui-input:focus,
#contact-content .fui-input.fui-error:focus {
    border-color: #242733;
    box-shadow: none
}

#contact-content .fui-limit-text,
#contact-content .field-info {
    display: block;
    color: #3971ff;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.2rem, 1200vw / var(--default-w));
    line-height: 1.5;
    margin-bottom: 0;
    text-align: right
}

@media (min-width: 768px) {

    #contact-content .fui-limit-text,
    #contact-content .field-info {
        position: absolute;
        right: 0;
        bottom: max(10px, 1000vw / var(--default-w))
    }
}

#contact-content .fui-fieldset {
    border: none
}

#contact-content .fui-radio,
#contact-content .radio {
    position: relative;
    width: 100%;
    margin-bottom: 10px
}

#contact-content .fui-radio label,
#contact-content .radio label {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.4rem, 1400vw / var(--default-w));
    line-height: 1.05;
    margin-bottom: 0;
    width: 100%;
    border: 1px solid #242733;
    text-transform: uppercase;
    text-align: center;
    padding: 10px 20px;
    transition: color .25s, background-color .25s, border-color .25s ease;
    cursor: pointer
}

#contact-content .fui-radio label:before,
#contact-content .radio label:before {
    display: none
}

#contact-content .fui-radio input,
#contact-content .radio input {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    cursor: pointer;
    opacity: 0;
    z-index: 1
}

#contact-content .fui-radio input:checked+label,
#contact-content .radio input:checked+label {
    background-color: #3971ff;
    border-color: #3971ff;
    color: #fff
}

#contact-content .fui-checkbox,
#contact-content .checkbox {
    display: inline-block;
    position: relative;
    margin-bottom: 10px;
    margin-inline: 5px
}

#contact-content .fui-checkbox label,
#contact-content .checkbox label {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.4rem, 1400vw / var(--default-w));
    line-height: 1.05;
    margin-bottom: 0;
    border: 1px solid #242733;
    text-transform: uppercase;
    text-align: center;
    padding: 10px 10px 9px;
    transition: color .25s, background-color .25s, border-color .25s ease;
    position: relative;
    cursor: pointer
}

#contact-content .fui-checkbox label:before,
#contact-content .fui-checkbox label:after,
#contact-content .checkbox label:before,
#contact-content .checkbox label:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    left: auto;
    transform: translateY(-50%);
    background-color: #fff;
    width: 15px;
    height: 1px;
    opacity: 0;
    transition: opacity 0s ease
}

#contact-content .fui-checkbox label:before,
#contact-content .checkbox label:before {
    transform: rotate(45deg)
}

#contact-content .fui-checkbox label:after,
#contact-content .checkbox label:after {
    transform: rotate(-45deg)
}

#contact-content .fui-checkbox input,
#contact-content .checkbox input {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    cursor: pointer;
    opacity: 0;
    z-index: 1
}

#contact-content .fui-checkbox input:checked+label,
#contact-content .checkbox input:checked+label {
    background-color: #3971ff;
    border-color: #3971ff;
    color: #fff;
    padding-right: 35px
}

#contact-content .fui-checkbox input:checked+label:before,
#contact-content .fui-checkbox input:checked+label:after,
#contact-content .checkbox input:checked+label:before,
#contact-content .checkbox input:checked+label:after {
    border: none;
    background-image: none;
    background-color: #fff;
    outline: none;
    box-shadow: none;
    opacity: 1;
    transition-duration: .25s
}

#contact-content .fui-type-file-upload,
#contact-content .file-field {
    position: relative
}

#contact-content .fui-type-file-upload label,
#contact-content .file-field label {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.5rem, 1500vw / var(--default-w));
    line-height: 1.05;
    margin-bottom: 0;
    border: 1px solid #242733;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 0 !important;
    padding: max(35px, 3500vw / var(--default-w)) 15px;
    width: 100%;
    cursor: pointer;
    transform: translateY(0)
}

#contact-content .fui-type-file-upload label strong,
#contact-content .file-field label strong {
    font-weight: 400;
    text-decoration: underline;
    text-underline-position: under
}

#contact-content .fui-type-file-upload input,
#contact-content .file-field input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0
}

#contact-content .fui-type-file-upload__file,
#contact-content .file-field__file {
    background-color: #3971ff;
    padding: max(20px, 2000vw / var(--default-w));
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    -moz-column-gap: 15px;
    column-gap: 15px;
    position: relative
}

#contact-content .fui-type-file-upload__file img,
#contact-content .file-field__file img {
    width: 80px;
    height: 50px;
    -o-object-fit: cover;
    object-fit: cover
}

#contact-content .fui-type-file-upload__file p,
#contact-content .file-field__file p {
    display: block;
    color: #fff;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.2rem, 1200vw / var(--default-w));
    line-height: 1.05;
    margin-bottom: 0
}

#contact-content .delete-file {
    width: 22px;
    height: 22px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    cursor: pointer
}

#contact-content .delete-file:before,
#contact-content .delete-file:after {
    content: "";
    background-color: #fff;
    width: 100%;
    height: 1.5px;
    position: absolute;
    top: 45%;
    left: 0
}

#contact-content .delete-file:before {
    transform: rotate(45deg)
}

#contact-content .delete-file:after {
    transform: rotate(-45deg)
}

.media {
    padding-top: 2px;
    padding-bottom: 2px;
    background-color: #fff
}

.media:first-child {
    padding-top: 0
}

.media.has--gutters {
    padding-top: 60px;
    padding-bottom: 60px
}

.section+.media.has--gutters {
    padding-top: 0
}

.media.has--gutters+.media.has--gutters {
    padding-top: 2px
}

@media (min-width: 768px) {
    .media.has--gutters+.section {
        padding-top: 0
    }
}

@media (max-width: 767px) {
    .media.has--gutters {
        padding: 2px 0
    }
}

.media.no-padding,
.section.no-padding {
    padding-bottom: 2px
}

.media.no-padding+.media,
.media.no-padding+.section,
.section.no-padding+.media,
.section.no-padding+.section {
    padding-top: 2px
}

.medias__container {
    display: flex;
    flex-flow: row nowrap;
    row-gap: 4px
}

@media (max-width: 767px) {
    .medias__container {
        flex-direction: column;
        padding-inline: 0
    }
}

.medias__container.has--1 .media__wrapper {
    width: 100%
}

@media (min-width: 768px) {
    .medias__container.has--2 {
        -moz-column-gap: 4px;
        column-gap: 4px
    }

    .medias__container.has--2 .media__wrapper {
        width: 50%
    }
}

@media (min-width: 768px) {
    .medias__container.has--3 {
        -moz-column-gap: 4px;
        column-gap: 4px
    }

    .medias__container.has--3 .media__wrapper {
        width: 33.3333333333%
    }
}

.medias__wrapper {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden
}

.has--3 .medias__wrapper.is--video {
    height: auto
}

.has--3 .medias__wrapper.is--video .medias__video-wrapper {
    position: initial
}

.medias__image {
    width: 100%;
    display: block
}

.medias__legend {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 10px 20px;
    width: 390px;
    background-color: #fff
}

.medias__legend p {
    font-size: 1.2rem;
    line-height: 1.44rem;
    max-width: 80%
}

@media (max-width: 767px) {
    .medias__legend {
        width: 245px;
        padding: 8px
    }

    .medias__legend p {
        max-width: 90%
    }
}

.medias__video-wrapper {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
    width: 100%
}

.medias__video-wrapper iframe,
.medias__video-wrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.has--2 .medias__video-wrapper {
    padding-bottom: 100%
}

@media (max-width: 767px) {
    .has--3 .medias__video-wrapper {
        padding-bottom: 162%
    }
}

.medias__video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(.8);
    color: #f0f1f5;
    pointer-events: none;
    transition: transform .5s cubic-bezier(.65, 0, .35, 1);
    mix-blend-mode: difference
}

.medias__video-play * {
    color: #f0f1f5
}

.medias__video-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform .5s cubic-bezier(.65, 0, .35, 1)
}

.medias__video-thumbnail:hover {
    cursor: pointer
}

.gallery {
    background-color: #fff
}

.gallery__swiper .swiper-slide {
    width: auto
}

@media (max-width: 480px) {
    .gallery__swiper .swiper-slide {
        width: calc(100% - 20px)
    }
}

.gallery__swiper .img {
    display: block
}

.textSection {
    background-color: #fff
}

.expertise .textSection {
    background-color: #f0f1f5
}

.textSection__top {
    padding-right: 3%
}

.textSection__top:not(:last-child) {
    margin-bottom: 30px
}

@media (max-width: 767px) {
    .textSection__top:not(:last-child) {
        margin-bottom: 10px
    }
}

.textSection__text-wrapper {
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 10px;
    column-gap: 10px;
    justify-content: flex-end;
    width: 100%
}

@media (max-width: 767px) {
    .textSection__text-wrapper {
        flex-direction: column;
        align-items: flex-end;
        row-gap: 30px;
        padding: 40px 7px
    }
}

@media (min-width: 1025px) {
    .textSection__text-wrapper.has--button {
        margin-top: -70px
    }
}

.textSection__text-col {
    width: calc(33.3333333333% - 10px);
    max-width: max(327px, 32700vw / var(--default-w))
}

@media (max-width: 767px) {
    .textSection__text-col {
        width: 100%;
        max-width: 75%
    }
}

@media (max-width: 480px) {
    .textSection__text-col {
        max-width: 287px
    }
}

.threeColumnText {
    background-color: #fff
}

.threeColumnText__text-wrapper {
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 8%;
    column-gap: 8%;
    margin-top: 60px
}

@media (max-width: 1024px) {
    .threeColumnText__text-wrapper {
        -moz-column-gap: 30px;
        column-gap: 30px
    }
}

@media (max-width: 767px) {
    .threeColumnText__text-wrapper {
        flex-direction: column;
        row-gap: 30px;
        margin-top: 30px
    }
}

.threeColumnText__text-col {
    width: 25.3333333333%;
    max-width: 327px
}

@media (max-width: 1024px) {
    .threeColumnText__text-col {
        width: calc(33.3333333333% - 30px)
    }
}

@media (max-width: 767px) {
    .threeColumnText__text-col {
        width: 100%;
        max-width: 75%
    }
}

@media (max-width: 480px) {
    .threeColumnText__text-col {
        max-width: 347px
    }
}

@media (max-width: 767px) {
    .threeColumnText__text-col p {
        padding-left: 50px
    }
}

.threeColumnText .suptitle {
    margin-bottom: 20px
}

.statistics {
    background-color: #fff
}

@media (min-width: 768px) {
    .statistics {
        padding-bottom: 0
    }
}

.statistics__text-wrapper {
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 5px;
    column-gap: 5px;
    row-gap: 60px;
    margin-top: 85px;
    overflow: hidden
}

@media (max-width: 767px) {
    .statistics__text-wrapper {
        margin-top: 30px
    }
}

.statistics__text-col {
    width: calc(33.3333333333% - 5px)
}

@media (min-width: 768px) {
    .statistics__text-col {
        padding-bottom: 60px;
        border-bottom: 1px solid #242733;
        transform: translateY(1px)
    }
}

@media (max-width: 767px) {
    .statistics__text-col {
        width: 100%;
        max-width: 75%
    }
}

@media (max-width: 480px) {
    .statistics__text-col {
        max-width: 375px
    }
}

.statistics__text-col-inner {
    padding-right: 25%
}

@media (max-width: 1024px) {
    .statistics__text-col-inner {
        padding-right: 5%
    }
}

.statistics__text-header {
    display: flex;
    flex-flow: row nowrap;
    -moz-column-gap: 10px;
    column-gap: 10px;
    margin-bottom: 20px
}

@media (max-width: 767px) {
    .statistics__text-title {
        margin-left: 60px
    }
}

.statistics__suptitle {
    margin-bottom: 0
}

@media (max-width: 767px) {
    .statistics__suptitle {
        font-size: 5rem;
        width: 50px
    }

    .statistics__suptitle+.statistics__text-title {
        margin-left: 0
    }
}

.statistics__title {
    margin-bottom: 10px
}

@media (max-width: 767px) {
    .statistics__title {
        font-size: 5rem
    }
}

.statistics__description {
    text-transform: uppercase;
    font-size: 1.2rem
}

@media (max-width: 767px) {
    .statistics__description {
        padding-left: 60px
    }
}

.wysiwyg-block {
    background-color: #fff
}

.wysiwyg-block .toolbox__content {
    padding-top: 0;
    padding-bottom: 0
}

.wysiwyg-block .wysiwyg h2,
.wysiwyg-block .wysiwyg .h2,
.toolbox .wysiwyg h2,
.toolbox .wysiwyg .h2 {
    font-size: max(3.2rem, 3200vw / var(--default-w));
    line-height: 1.07
}

.wysiwyg-block .wysiwyg h3,
.wysiwyg-block .wysiwyg .h3,
.toolbox .wysiwyg h3,
.toolbox .wysiwyg .h3 {
    font-size: max(2.2rem, 2600vw / var(--default-w));
    line-height: 1.2
}

@media (max-width: 767px) {

    .wysiwyg-block .wysiwyg h3,
    .wysiwyg-block .wysiwyg .h3,
    .toolbox .wysiwyg h3,
    .toolbox .wysiwyg .h3 {
        line-height: 1.05
    }
}

.wysiwyg-block .wysiwyg h4,
.wysiwyg-block .wysiwyg .h4,
.toolbox .wysiwyg h4,
.toolbox .wysiwyg .h4 {
    display: block;
    color: #0e172f;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.4rem, 1400vw / var(--default-w));
    line-height: 1.1;
    margin-bottom: 0;
    text-transform: uppercase
}

.wysiwyg-block .wysiwyg h2,
.wysiwyg-block .wysiwyg h3,
.wysiwyg-block .wysiwyg h4,
.toolbox .wysiwyg h2,
.toolbox .wysiwyg h3,
.toolbox .wysiwyg h4 {
    margin-bottom: 0
}

.wysiwyg-block .wysiwyg h2:not(:first-child),
.wysiwyg-block .wysiwyg h3:not(:first-child),
.wysiwyg-block .wysiwyg h4:not(:first-child),
.toolbox .wysiwyg h2:not(:first-child),
.toolbox .wysiwyg h3:not(:first-child),
.toolbox .wysiwyg h4:not(:first-child) {
    margin-top: 30px
}

.wysiwyg-block .wysiwyg br+p,
.wysiwyg-block .wysiwyg br+h2:not(:first-child),
.wysiwyg-block .wysiwyg br+h3:not(:first-child),
.wysiwyg-block .wysiwyg br+h4:not(:first-child),
.toolbox .wysiwyg br+p,
.toolbox .wysiwyg br+h2:not(:first-child),
.toolbox .wysiwyg br+h3:not(:first-child),
.toolbox .wysiwyg br+h4:not(:first-child) {
    margin-top: 10px
}

.wysiwyg-block .wysiwyg br+ul,
.wysiwyg-block .wysiwyg br+ol,
.wysiwyg-block .wysiwyg br+blockquote,
.toolbox .wysiwyg br+ul,
.toolbox .wysiwyg br+ol,
.toolbox .wysiwyg br+blockquote {
    margin-top: 20px
}

.wysiwyg-block .wysiwyg ul,
.wysiwyg-block .wysiwyg ol,
.toolbox .wysiwyg ul,
.toolbox .wysiwyg ol {
    margin-top: 40px
}

@media (max-width: 767px) {

    .wysiwyg-block .wysiwyg ul,
    .wysiwyg-block .wysiwyg ol,
    .toolbox .wysiwyg ul,
    .toolbox .wysiwyg ol {
        margin-top: 20px
    }
}

.wysiwyg-block .wysiwyg p,
.toolbox .wysiwyg p {
    margin-top: 30px
}

.wysiwyg-block .wysiwyg blockquote,
.toolbox .wysiwyg blockquote {
    margin-top: 40px
}

@media (max-width: 767px) {

    .wysiwyg-block .wysiwyg blockquote,
    .toolbox .wysiwyg blockquote {
        margin-top: 20px
    }
}

.wysiwyg a {
    color: #242733;
    text-decoration: underline;
    -webkit-text-decoration-color: currentcolor;
    text-decoration-color: currentcolor;
    text-underline-position: under;
    transition: -webkit-text-decoration .3s ease;
    transition: text-decoration .3s ease;
    transition: text-decoration .3s ease, -webkit-text-decoration .3s ease
}

.wysiwyg a:hover {
    -webkit-text-decoration-color: transparent;
    text-decoration-color: transparent
}

.wysiwyg ul,
.wysiwyg ol {
    padding-left: max(1.4rem, 1400vw / var(--default-w))
}

.wysiwyg ul li,
.wysiwyg ol li {
    font-size: max(1.3rem, 1300vw / var(--default-w));
    line-height: 2;
    padding-left: max(40px, 4000vw / var(--default-w))
}

@media (max-width: 767px) {

    .wysiwyg ul li,
    .wysiwyg ol li {
        padding-left: 20px
    }
}

.wysiwyg ul li {
    list-style-type: square
}

.wysiwyg blockquote {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(2.5rem, 3000vw / var(--default-w));
    line-height: 1.2;
    margin-bottom: 0;
    letter-spacing: -.6px
}

.wysiwyg blockquote:before,
.wysiwyg blockquote:after {
    display: inline-block
}

@media (max-width: 767px) {
    .wysiwyg blockquote {
        line-height: 1.3
    }
}

.wysiwyg figcaption {
    display: block;
    color: #0e172f;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(12px, 1400vw / var(--default-w));
    line-height: 1.1;
    margin-bottom: 0;
    text-transform: uppercase;
    margin-top: 10px
}

.js-featured-projects+div {
    position: relative
}

.featured-project {
    position: relative;
    background-color: #e6e7eb;
    min-height: 100vh
}

@media (min-width: 768px) {
    .featured-project {
        min-height: 350px
    }

    .featured-project.full-image {
        min-height: 800px
    }

    .case-study .featured-project.full-image {
        min-height: 650px
    }
}

@media (max-width: 767px) {
    .case-study .featured-project {
        min-height: 10px
    }
}

@media (min-width: 768px) {
    .pin-spacer .featured-project.js-featured-project {
        padding-bottom: 20vh !important
    }
}

.featured-project+div:not(.featured-project) {
    position: relative;
    z-index: 1
}

.featured-project__heading {
    width: calc(70000vw / var(--default-w));
    transform: translateY(120px);
    position: relative;
    margin: 0 auto;
    text-align: center;
    z-index: 2
}

@media (max-width: 1366px) {
    .featured-project__heading {
        width: 100%;
        max-width: 620px
    }
}

@media (max-width: 767px) {
    .featured-project__heading {
        max-width: 100%;
        transform: translateY(0);
        padding-top: 120px;
        padding-bottom: 120px
    }
}

@media (min-width: 1921px) {
    .featured-project__heading {
        width: calc(76000vw / var(--default-w));
        transform: translateY(180px)
    }
}

@media (max-width: 1366px) {
    .featured-project__heading-title {
        font-size: 4.7vw
    }
}

@media (max-width: 767px) {
    .featured-project__heading-title {
        font-size: 3.4rem
    }
}

.light-title .featured-project__heading-title {
    color: #fff
}

.featured-project__heading-title .line-wrapper {
    margin-top: 0
}

.featured-project__heading-title .line-wrapper .line {
    margin-top: -.21em
}

.featured-project__main-image {
    position: relative;
    z-index: 1
}

.featured-project__main-image.is--right {
    text-align: right
}

.full-image .featured-project__main-image {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

.full-image .featured-project__main-image .js-featured-project-image {
    height: 105%
}

@media (min-width: 768px) {
    .full-image .featured-project__main-image .js-featured-project-image {
        transform: translateY(-20vh)
    }
}

@media (min-width: 1921px) {
    .full-image .featured-project__main-image .js-featured-project-image {
        height: 115%
    }
}

.full-image .featured-project__main-image .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 1921px) {
    .featured-project__main-image .img {
        width: 50%
    }
}

@media (min-width: 768px) {
    .featured-project__main-image {
        min-height: 800px
    }
}

@media (max-width: 767px) {
    .featured-project__main-image {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0
    }
}

.featured-project__content {
    position: absolute;
    left: 0;
    bottom: 8px;
    display: block;
    max-width: 960px;
    width: 100%;
    z-index: 2
}

.featured-project__content.js-featured-project-content * {
    pointer-events: none
}

@media (min-width: 768px) {
    .featured-project__content {
        left: 50%;
        transform: translate(-50%);
        bottom: 10vh
    }
}

@media (min-width: 1025px) {
    .featured-project__content {
        margin-inline: 13px 4px;
        max-width: 60vw
    }
}

@media (max-width: 1024px) {
    .featured-project__content {
        padding-inline: 28px 12px
    }
}

@media (max-width: 767px) {
    .featured-project__content {
        padding-inline: 8px
    }
}

@media (max-width: 767px) {
    .is--detail .featured-project__content {
        position: absolute;
        bottom: 8px
    }

    .case-study .featured-project__content {
        position: relative;
        padding: 33vh 8px 8px
    }
}

.featured-project__container {
    padding: 4px 0;
    position: relative;
    transition: transform .1s linear;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    -moz-column-gap: 20px;
    column-gap: 20px
}

.featured-project__container:before {
    content: "";
    position: absolute;
    top: 0;
    left: -30px;
    right: -4px;
    bottom: 0;
    background-color: rgba(255, 255, 255, .5);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    z-index: -1;
    transition: background-color .5s ease
}

@media (max-width: 1024px) {
    .featured-project__container:before {
        left: -20px
    }
}

@media (max-width: 1024px) {
    .featured-project__container {
        -moz-column-gap: 10px;
        column-gap: 10px
    }
}

@media (min-width: 768px) {
    .featured-project__container {
        align-items: center
    }
}

@media (max-width: 767px) {
    .featured-project__container {
        padding: 20px 16px
    }

    .featured-project__container:before {
        left: 0;
        right: 0;
        background-color: rgba(255, 255, 255, .25)
    }
}

.featured-project__content:hover {
    cursor: pointer
}

.featured-project__content:hover .featured-project__container:before {
    background-color: rgba(255, 255, 255, .8)
}

.featured-project__content:hover .featured-project__title {
    color: #121319
}

.featured-project__content:hover .featured-project__suptitle {
    color: #1f1f1f
}

@media (min-width: 768px) {
    .featured-project__info {
        width: calc(50% - 10px);
        padding-top: 40px
    }

    .collections .featured-project__info {
        width: calc(33% - 10px)
    }
}

@media (max-width: 1200px) {
    .featured-project__info {
        padding-top: 40px
    }
}

@media (max-width: 767px) {
    .featured-project__info {
        padding-top: 0;
        margin-bottom: 0;
        width: 70%
    }
}

.featured-project__title {
    font-size: min(34px, max(1.6rem, 2200vw / var(--default-w)));
    font-weight: 400;
    margin-bottom: 12px
}

@media (max-width: 767px) {
    .featured-project__title {
        font-size: 2.2rem;
        line-height: 1.1;
        margin-bottom: 10px
    }
}

.featured-project__suptitle {
    color: #1f1f1f;
    opacity: .4;
    font-size: min(14px, max(1.2rem, 1400vw / var(--default-w)))
}

.featured-project__suptitle:not(:last-child) {
    margin-bottom: 20px
}

.featured-project__suptitle-top {
    opacity: 1
}

@media (min-width: 768px) {
    .featured-project__suptitle-top {
        position: absolute;
        top: 30px;
        left: 0;
        z-index: 1
    }
}

.featured-project__preview {
    display: flex;
    flex-flow: row nowrap;
    -moz-column-gap: 4px;
    column-gap: 4px;
    justify-content: flex-end
}

@media (min-width: 768px) {
    .featured-project__preview {
        width: calc(60% - 10px)
    }
}

@media (max-width: 767px) {
    .featured-project__preview {
        width: calc(30% - 10px)
    }
}

@media (min-width: 768px) {
    .featured-project__preview-image {
        width: 217px
    }

    .collections .featured-project__preview-image {
        width: auto
    }
}

@media (max-width: 767px) {
    .featured-project__preview-image:not(:first-child) {
        display: none
    }
}

.featured-project__preview-image .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 768px) {
    .home-featured-projects .featured-project.full-image {
        min-height: 150vh
    }

    .home-featured-projects .featured-project.full-image:last-child {
        min-height: 126vh
    }
}

@media (min-width: 1921px) {
    .home-featured-projects .featured-project.full-image {
        min-height: 130vh
    }
}

@media (min-width: 768px) {
    .home-featured-projects .featured-project.full-image .featured-project__content {
        bottom: 15vh
    }
}

@media (min-width: 768px) {
    .home-featured-projects .featured-project__content {
        bottom: 0
    }
}

.collections .featured-project__container {
    padding-top: 30px;
    padding-bottom: 30px
}

@media (min-width: 1025px) {
    .collections .featured-project__container:before {
        right: -30px
    }
}

@media (min-width: 1025px) {
    .collections .featured-project__content {
        margin-right: 30px
    }
}

@media (max-width: 1024px) {
    .collections .featured-project__content {
        padding-inline: 28px 12px
    }
}

@media (max-width: 767px) {
    .collections .featured-project__content {
        padding-inline: 8px
    }
}

@media (max-width: 767px) {
    .collections .featured-project__preview {
        justify-content: safe center;
        -ms-overflow-style: none;
        scrollbar-width: none;
        overflow-x: scroll;
        pointer-events: auto
    }

    .collections .featured-project__preview::-webkit-scrollbar {
        display: none
    }

    .collections .featured-project__preview .img {
        width: 238px;
        max-width: none
    }
}

.home-banner {
    min-height: 110vh;
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 18vh;
    overflow: hidden;
    position: relative
}

@media (max-width: 767px) {
    .home-banner {
        min-height: 100vh;
        align-items: flex-end;
        padding-bottom: 18vh
    }
}

.home-banner__content {
    padding-inline: calc(2000vw / var(--default-w));
    width: 100%;
    margin: 0 auto;
    color: #fff;
    position: relative
}

@media (max-width: 767px) {
    .home-banner__content {
        padding-inline: 10px
    }
}

.home-banner__title {
    color: #e6e7eb;
    font-size: min(145px, 12500vw / var(--default-w))
}

@media (min-width: 1921px) {
    .home-banner__title {
        font-size: min(160px, 7600vw / var(--default-w));
        transform: scale(1.3);
        transform-origin: left bottom
    }
}

@media (max-width: 1366px) {
    .home-banner__title {
        font-size: calc(11000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .home-banner__title {
        font-size: calc(4500vw / var(--mobile-w));
        line-height: .5
    }
}

@media (max-width: 1024px) {
    .home-banner__title .line-wrapper {
        display: inline-block;
        margin-right: calc(1500vw / var(--default-w))
    }
}

@media (min-width: 1025px) and (max-width: 1366px) {
    .home-banner__title .line-wrapper .line {
        line-height: 1.5
    }
}

.home-banner__title-line {
    display: block
}

.home-banner__text {
    vertical-align: middle;
    color: #e6e7eb;
    white-space: normal;
    margin-left: calc(1000vw / var(--default-w))
}

@media (min-width: 1025px) {
    .home-banner__text {
        position: absolute;
        max-width: max(180px, min(260px, 20000vw / var(--default-w)));
        text-align: center
    }
}

@media (min-width: 1921px) {
    .home-banner__text {
        font-size: min(18px, max(12px, 1400vw / var(--default-w)))
    }
}

@media (max-width: 1024px) {
    .home-banner__text {
        font-size: max(16px, 1800vw / var(--default-w));
        top: 0;
        left: 0;
        margin-top: 20px;
        max-width: 480px
    }

    .home-banner__text.is--desktop {
        display: none !important
    }

    .home-banner__text.is--mobile {
        display: block !important
    }
}

@media (max-width: 767px) {
    .home-banner__text {
        font-size: min(16px, 1400vw / var(--mobile-w));
        max-width: 90%
    }
}

@media (max-width: 767px) {
    .home-banner__text-inner {
        line-height: 1.3
    }
}

.home-banner__slice {
    display: inline-block
}

@media (max-width: 1024px) {
    .home-banner__slice.is-desktop {
        display: none !important
    }
}

@media (min-width: 1025px) {
    .home-banner__slice.is-mobile {
        opacity: 0;
        visibility: hidden;
        position: absolute;
        left: -9999px
    }
}

@media (max-width: 1024px) {
    .home-banner__slice.is-mobile {
        margin-top: 30px
    }
}

.js-home-banner-text-reveal {
    overflow: hidden
}

.js-home-banner-text-reveal .js-home-banner-text {
    display: block
}

.project-carousel {
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: max(60px, 12000vw / var(--default-w)) 0 max(80px, 15000vw / var(--default-w))
}

@media (min-width: 768px) {
    .project-carousel {
        min-height: 100vh
    }
}

.project-carousel__heading {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: max(20px, 2000vw / var(--default-w))
}

@media (max-width: 767px) {
    .project-carousel__heading {
        justify-content: center
    }

    .project-carousel__heading .button {
        display: none
    }
}

.project-carousel__heading .simple-link {
    margin-bottom: 10px
}

@media (max-width: 767px) {
    .project-carousel__title {
        font-size: 5rem
    }
}

.project-carousel .slice-hover {
    padding-top: 1rem
}

@media (min-width: 768px) {
    .project-carousel .slice-hover .title {
        font-size: calc(3000vw / var(--default-w))
    }

    .project-carousel .slice-hover .title.is--bottom {
        margin-bottom: calc(0vw / var(--default-w));
        line-height: 1
    }
}

@media (max-width: 767px) {
    .project-carousel .slice-hover {
        display: none
    }
}

.project-carousel .project-thumbnail {
    width: 29% !important;
    max-width: max(325px, 43000vw / var(--default-w))
}

@media (max-width: 1024px) {
    .project-carousel .project-thumbnail {
        width: 43% !important
    }
}

@media (max-width: 767px) {
    .project-carousel .project-thumbnail {
        width: 100% !important
    }
}

.big-title-images {
    padding-top: 160px;
    position: relative
}

@media (max-width: 767px) {
    .big-title-images {
        padding-top: 120px;
        padding-bottom: 100px
    }
}

.big-title-images__container {
    display: flex;
    flex-flow: row wrap
}

.big-title-images__title-col {
    pointer-events: none;
    width: 85%;
    max-width: 1440px
}

@media (min-width: 1921px) {
    .big-title-images__title-col {
        width: 95%;
        max-width: none
    }
}

.big-title-images__title {
    font-size: min(145px, 12500vw / var(--default-w))
}

@media (min-width: 1921px) {
    .big-title-images__title {
        font-size: calc(10000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .big-title-images__title {
        font-size: calc(4500vw / var(--mobile-w))
    }
}

.big-title-images__title:not(:last-child) {
    margin-bottom: 0
}

.big-title-images__img-col {
    width: 37%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center
}

@media (max-width: 767px) {
    .big-title-images__img-col {
        display: none
    }
}

.big-title-images__img-col .image {
    position: absolute;
    top: 0;
    left: 0;
    will-change: transform;
    opacity: 0;
    pointer-events: none
}

.link-list {
    padding-top: 160px;
    padding-bottom: 160px
}

@media (max-width: 767px) {
    .link-list {
        padding-top: 90px;
        padding-bottom: 80px
    }
}

.link-list__main-title {
    margin-bottom: 60px
}

@media (max-width: 1366px) {
    .link-list__main-title {
        margin-bottom: 30px
    }
}

.link-list__item:before {
    content: "";
    position: absolute;
    top: -1px;
    left: -60px;
    bottom: -1px;
    right: -60px;
    background-color: #e6e7eb;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s cubic-bezier(.65, 0, .35, 1);
    z-index: -1
}

@media (min-width: 768px) {
    .link-list__item .lines-list__item-title {
        width: 50%;
        padding-right: 3%
    }
}

@media (max-width: 767px) {
    .link-list__item .lines-list__item-title {
        font-size: 2rem;
        margin-bottom: 10px
    }
}

.link-list__item-title,
.link-list__item-subtitle {
    transition: color .3s ease
}

.link-list__item-details {
    width: 50%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    position: relative
}

@media (max-width: 767px) {
    .link-list__item-details {
        opacity: .5
    }
}

@media (min-width: 768px) {
    .link-list__item-details>.link-list__item-second {
        width: 35%;
        padding-right: 5px
    }
}

.link-list__item-hover {
    width: 65%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    -moz-column-gap: 10px;
    column-gap: 10px;
    transform: translate(200%, -50%);
    transition: transform .4s cubic-bezier(.65, 0, .35, 1);
    position: absolute;
    top: 50%;
    right: 0
}

@media (max-width: 767px) {
    .link-list__item-hover {
        display: none
    }
}

.link-list__item:hover:before {
    transform: scaleX(1)
}

.link-list__item:hover .link-list__item-title,
.link-list__item:hover .link-list__item-subtitle {
    color: #242733 !important
}

.link-list__item:hover .link-list__item-hover {
    transform: translateY(-50%)
}

.link-list .lines-list__item-content {
    padding-top: 15px
}

@media (min-width: 768px) {
    .link-list .lines-list__item-content {
        min-height: calc(16000vw / var(--default-w));
        padding-bottom: 15px
    }
}

@media (min-width: 768px) {
    .link-list .lines-list__item-title {
        max-width: calc(44200vw / var(--default-w))
    }
}

.link-list .lines-list__item-second:not(:last-child) {
    margin-bottom: 0
}

@media (min-width: 1025px) {
    .link-list .lines-list__item-second {
        width: 20%
    }
}

@media (min-width: 768px) {
    .link-list .lines-list__item-second {
        width: 15%
    }
}

@media (min-width: 1025px) {
    .link-list .lines-list__item-third {
        width: 30%
    }
}

@media (min-width: 768px) {
    .link-list .lines-list__item-third {
        width: 35%
    }
}

.link-list .lines-list__item-images {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    -moz-column-gap: 2px;
    column-gap: 2px
}

@media (min-width: 768px) {
    .link-list .lines-list__item-images {
        justify-content: flex-end
    }
}

.link-list .lines-list__item-images .action {
    color: #000;
    overflow: hidden;
    width: max(32px, 4000vw / var(--default-w))
}

@media (min-width: 768px) {
    .link-list .lines-list__item-images .action {
        margin-left: 15px
    }
}

@media (min-width: 1921px) {
    .link-list .lines-list__item-images .action {
        padding-inline: 0;
        margin-left: 20px
    }
}

@media (max-width: 1024px) {
    .link-list .lines-list__item-images .action {
        color: #fff
    }
}

@media (max-width: 767px) {
    .link-list .lines-list__item-images .action {
        position: absolute;
        top: 20px;
        right: 0;
        width: auto
    }
}

.link-list .lines-list__item-images .action span {
    display: inline-block
}

@media (min-width: 1025px) {
    .link-list .lines-list__item-images .action span {
        transform: translateY(-115%)
    }
}

@media (max-width: 1024px) {
    .link-list .lines-list__item-images .action span {
        transform: translateY(0) !important
    }
}

@media (min-width: 768px) {
    .link-list .lines-list__item-images .action .simple-link:after {
        position: relative;
        top: -2px
    }
}

.link-list .lines-list__item-image {
    display: inline-block;
    max-height: min(260px, max(130px, 13000vw / var(--default-w)));
    max-width: min(200px, max(100px, 10000vw / var(--default-w)));
    width: calc(33.3333333333% - 20px);
    overflow: hidden
}

.link-list .lines-list__item-image .img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 1025px) {
    .link-list .lines-list__item-image .img {
        transform: translateY(-100%)
    }
}

@media (max-width: 1024px) {
    .link-list .lines-list__item-image .img {
        transform: translateY(0) !important
    }
}

.info-section {
    min-height: 100vh;
    padding-top: 150px;
    padding-bottom: 125px
}

@media (max-width: 767px) {
    .info-section {
        padding-top: 90px;
        padding-bottom: 120px
    }
}

@media (min-width: 768px) {
    .info-section__container {
        display: flex;
        flex-flow: row nowrap;
        -moz-column-gap: 9px;
        column-gap: 9px
    }
}

.info-section__container-heading {
    margin-bottom: 60px
}

@media (max-width: 767px) {
    .info-section__container-heading {
        margin-bottom: 30px
    }
}

.info-section__suptitle {
    font-size: max(15px, 1500vw / var(--default-w));
    border-bottom: 1px solid #fff;
    padding-bottom: 13px
}

.info-section__text-col {
    width: 100%
}

@media (min-width: 768px) {
    .info-section__text-col {
        width: 70%
    }
}

@media (max-width: 767px) {
    .info-section__text-col {
        margin-bottom: 90px
    }
}

@media (max-width: 767px) {
    .info-section__text-col__first {
        margin-bottom: 60px
    }
}

.info-section__aside {
    width: 100%
}

@media (min-width: 768px) {
    .info-section__aside {
        width: 30%
    }

    .info-section__aside.is-mobile {
        display: none
    }
}

@media (max-width: 767px) {
    .info-section__aside.is-desktop {
        display: none
    }

    .info-section__aside:not(:last-child) {
        margin-bottom: 30px
    }
}

.info-section__text {
    color: #f0f1f5;
    margin-bottom: 0
}

.info-section .project-thumbnail__title,
.info-section .project-thumbnail__suptitle {
    color: #f0f1f5
}

.project-filters__heading {
    background-color: #f0f1f5;
    padding-top: 180px;
    padding-bottom: 15px
}

@media (max-width: 767px) {
    .project-filters__heading {
        padding-top: 115px
    }
}

.project-filters__list {
    position: relative
}

.project-filters__reset {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -5
}

.project-filters__item {
    position: relative;
    z-index: 1;
    overflow: hidden
}

.project-filters__item-bg {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f0f1f5;
    z-index: -1
}

.is-animating .project-filters__item-bg {
    transition-duration: 0s
}

.project-filters__item:hover {
    cursor: pointer
}

.project-filters__item-container {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    padding-top: max(4px, 800vw / var(--default-w));
    padding-bottom: max(5px, 1000vw / var(--default-w))
}

@media (max-width: 767px) {
    .project-filters__item-container {
        flex-direction: column;
        align-items: flex-start
    }
}

.project-filters__title {
    margin-bottom: 0;
    transition: color .6s ease;
    color: #fff;
    mix-blend-mode: difference
}

.is-animating .project-filters__title {
    transition-duration: 0s
}

@media (min-width: 768px) and (max-width: 1024px) {
    .project-filters__title {
        font-size: max(2.2rem, 5200vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .project-filters__title {
        max-width: 90%
    }
}

.project-filters__title strong {
    display: inline-block;
    font-weight: 400;
    position: relative;
    white-space: nowrap
}

.project-filters__title strong:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: currentcolor;
    transform-origin: left;
    transform: scaleX(1);
    transition: transform 1s cubic-bezier(.16, 1, .3, 1) .25s
}

@media (max-width: 767px) {
    .project-filters__title strong:after {
        height: 1px
    }
}

.project-filters__item:hover .project-filters__title strong:after {
    transform-origin: right;
    transform: scaleX(0)
}

.project-filters__suptitle {
    font-size: min(20px, max(12px, 1400vw / var(--default-w)));
    margin-top: 5px;
    margin-right: calc(3000vw / var(--default-w));
    max-width: calc(35000vw / var(--default-w));
    width: 100%;
    transition: transform .2s ease-in-out .1s, max-height .5s ease, padding .5s ease
}

@media (min-width: 768px) {
    .project-filters__item:not(.is-active, .is-selected) .project-filters__suptitle .line-wrapper:nth-child(1) .line {
        transition: transform 1s cubic-bezier(.18, .97, .51, 1.01) .1s
    }

    .project-filters__item:not(.is-active, .is-selected) .project-filters__suptitle .line-wrapper:nth-child(2) .line {
        transition: transform 1s cubic-bezier(.18, .97, .51, 1.01) .2s
    }

    .project-filters__item:not(.is-active, .is-selected) .project-filters__suptitle .line-wrapper:nth-child(3) .line {
        transition: transform 1s cubic-bezier(.18, .97, .51, 1.01) .3s
    }

    .project-filters__item:not(.is-active, .is-selected) .project-filters__suptitle .line-wrapper:nth-child(4) .line {
        transition: transform 1s cubic-bezier(.18, .97, .51, 1.01) .4s
    }

    .project-filters__item:not(.is-active, .is-selected) .project-filters__suptitle .line-wrapper:nth-child(5) .line {
        transition: transform 1s cubic-bezier(.18, .97, .51, 1.01) .5s
    }

    .project-filters__item:not(.is-active, .is-selected) .project-filters__suptitle .line-wrapper .line {
        transform: translateY(100%)
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .project-filters__suptitle {
        max-width: max(270px, 45000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .project-filters__suptitle {
        overflow: hidden;
        max-height: 0;
        max-width: none;
        margin-top: 0
    }
}

.project-filters__item:hover .project-filters__suptitle .js-text-anim:not(.project-filters__link) .line-wrapper .line {
    transform: translateY(0);
    transition-delay: .3s
}

.project-filters__text {
    display: block
}

.project-filters__text.has--link {
    transform: translateY(13px);
    transition: transform .5s ease-in-out
}

@media (max-width: 767px) {
    .project-filters__text {
        display: none
    }
}

.project-filters__link {
    display: inline-block;
    color: #f0f1f5;
    text-decoration: underline;
    text-underline-position: under;
    transition: transform 1s cubic-bezier(.18, .97, .51, 1.01), padding .5s ease
}

.project-filters__link:hover {
    text-decoration: none
}

.project-filters__link .line-wrapper .line {
    transform: translateY(101%);
    transition: transform .5s ease-in-out
}

@media (max-width: 1110px) {
    .project-filters__link {
        font-size: 1.3rem
    }
}

.project-filters__delete {
    position: absolute;
    top: 50%;
    right: calc(2000vw / var(--default-w));
    width: 21px;
    height: 21px;
    transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
    transition: all .2s ease-in-out;
    transform-origin: center;
    z-index: 2;
    cursor: pointer
}

.project-filters__delete:before,
.project-filters__delete:after {
    content: "";
    background-color: #fff;
    width: 100%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    transition: background-color .2s ease-in-out
}

.project-filters__delete:before {
    transform: rotate(45deg)
}

.project-filters__delete:after {
    transform: rotate(-45deg)
}

@media (max-width: 767px) {
    .project-filters__delete {
        right: 10px;
        top: 16px;
        opacity: 1;
        visibility: visible;
        transform: translateY(-20%) rotate(45deg);
        pointer-events: none
    }

    .project-filters__delete:before,
    .project-filters__delete:after {
        background-color: #242733;
        height: 1px
    }

    .project-filters__item:hover .project-filters__delete:before,
    .project-filters__item:hover .project-filters__delete:after {
        background-color: #f0f1f5
    }
}

.project-filters__input {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    cursor: pointer
}

body:not(.is-animating) .project-filters__input:checked {
    z-index: 0
}

body:not(.is-animating) .project-filters__input:checked~.project-filters__item-bg {
    transform: scaleY(0)
}

body:not(.is-animating) .project-filters__input:checked~.project-filters__item-container .project-filters__title strong:after {
    opacity: 0
}

body:not(.is-animating) .project-filters__input:checked~.project-filters__item-container .project-filters__suptitle,
body:not(.is-animating) .project-filters__input:checked~.project-filters__item-container .project-filters__text.has--link {
    transform: translateY(0)
}

body:not(.is-animating) .project-filters__input:checked~.project-filters__item-container .project-filters__link .line-wrapper .line {
    transform: translateY(0)
}

@media (max-width: 767px) {
    body:not(.is-animating) .project-filters__input:checked~.project-filters__item-container .project-filters__suptitle {
        max-height: 50px
    }

    body:not(.is-animating) .project-filters__input:checked~.project-filters__item-container .project-filters__link {
        padding-top: 10px;
        padding-bottom: 10px
    }
}

body:not(.is-animating) .project-filters__input:checked~.project-filters__delete {
    opacity: 1;
    visibility: visible
}

@media (max-width: 767px) {
    body:not(.is-animating) .project-filters__input:checked~.project-filters__delete {
        transform: translateY(0);
        pointer-events: auto
    }

    body:not(.is-animating) .project-filters__input:checked~.project-filters__delete:before,
    body:not(.is-animating) .project-filters__input:checked~.project-filters__delete:after {
        background-color: #fff
    }
}

.project-grid {
    background-color: #f0f1f5;
    padding-top: 120px;
    padding-bottom: 80px;
    min-height: calc(85000vw / var(--default-w))
}

@media (max-width: 767px) {
    .project-grid {
        padding-top: 50px
    }
}

.project-grid__heading {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px
}

.project-grid__text {
    color: #242733;
    font-family: Sohne, sans-serif;
    font-size: max(12px, 1500vw / var(--default-w));
    line-height: 1.32;
    font-weight: 400
}

.project-grid__link {
    font-size: max(12px, 1200vw / var(--default-w));
    padding-right: 4px
}

.project-grid__wrapper {
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 4px;
    column-gap: 4px;
    row-gap: 40px
}

.project-grid .project-thumbnail {
    width: 100%;
    transition: opacity .4s, transform .5s cubic-bezier(.3, 0, 0, 1)
}

@media (max-width: 767px) {
    .project-grid .project-thumbnail {
        max-width: none
    }
}

@media (min-width: 768px) {
    .project-grid .project-thumbnail {
        max-width: calc(33.3333333333% - 4px)
    }

    .project-listing:not(.is--filtered) .project-grid .project-thumbnail.is--large {
        max-width: calc(66.6666666667% - 4px)
    }

    .project-listing:not(.is--filtered) .project-grid .project-thumbnail.is--large .project-thumbnail__img {
        padding-bottom: 64.703%
    }
}

.project-grid .project-thumbnail__img {
    padding-bottom: 130%;
    position: relative
}

.project-grid .project-thumbnail__img .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

.project__loadmore {
    border-top: 1px solid #242733;
    border-bottom: 1px solid #242733;
    padding: 65px 20px;
    margin-bottom: 0;
    text-align: center;
    width: 100%;
    position: relative;
    cursor: pointer;
    transition: border-color .3s cubic-bezier(.3, 0, 0, 1);
    z-index: 1
}

@media (max-width: 767px) {
    .project__loadmore {
        padding-top: 40px;
        padding-bottom: 40px
    }
}

.project__loadmore:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #f0f1f5;
    transform-origin: top;
    transition: transform .3s cubic-bezier(.3, 0, 0, 1);
    z-index: -1
}

.project__loadmore:hover {
    border-color: transparent;
    color: #fff
}

.project__loadmore:hover:before {
    transform: scaleY(0)
}

.load-more__wrapper {
    background-color: #f0f1f5;
    border-top: 1px solid #d2d2d2;
    padding-top: 20px;
    text-align: center
}

.htmx-swapping .project-thumbnail {
    opacity: 0;
    transform: translateY(5%)
}

.agency-intro {
    background-color: #f0f1f5;
    padding-top: 180px;
    padding-bottom: min(120px, 12000vw / var(--default-w))
}

@media (max-width: 767px) {
    .agency-intro {
        padding-top: 120px;
        padding-bottom: 100px
    }
}

.agency-intro__title-wrapper {
    width: 100%;
    max-width: calc(144000vw / var(--default-w));
    margin: 0 auto;
    text-align: center;
    margin-bottom: max(35px, 3500vw / var(--default-w));
    padding-inline: calc(6000vw / var(--default-w))
}

@media (min-width: 1921px) {
    .agency-intro__title-wrapper {
        max-width: none;
        padding-inline: calc(3000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .agency-intro__title-wrapper {
        padding-inline: 10px
    }

    .agency-intro__title-wrapper .line-wrapper .line {
        text-align: left !important
    }
}

.agency-intro__title {
    font-size: min(145px, 12000vw / var(--default-w))
}

.agency-intro__image {
    overflow: hidden;
    margin-bottom: max(30px, 6000vw / var(--default-w))
}

.agency-intro__image img {
    width: 100%
}

@media (max-width: 480px) {
    .agency-intro__image {
        padding-bottom: 185%;
        margin-bottom: 25px;
        position: relative
    }

    .agency-intro__image img {
        -o-object-fit: cover;
        object-fit: cover;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        right: 0
    }
}

.agency-intro__button {
    margin-top: max(30px, 5000vw / var(--default-w))
}

.list-image {
    background-color: #f0f1f5
}

@media (max-width: 767px) {
    .list-image {
        border-top: 1px solid rgba(36, 39, 51, .5);
        border-bottom: 1px solid rgba(36, 39, 51, .5);
        padding-top: 78px;
        padding-bottom: 100px
    }
}

.list-image+div {
    position: relative;
    z-index: 1
}

.list-image__container {
    position: relative
}

@media (min-width: 768px) {

    .list-image__container:before,
    .list-image__container:after {
        content: "";
        display: block;
        position: sticky;
        width: 100%;
        height: 20vh;
        z-index: 1
    }

    .list-image__container:before {
        background: linear-gradient(#f0f1f5, transparent);
        top: 0;
        margin-bottom: -20vh
    }

    .list-image__container:after {
        background: linear-gradient(transparent, #f0f1f5);
        bottom: 0;
        height: 16vh
    }
}

@media (min-width: 768px) {
    .list-image__list {
        margin-top: -84vh
    }
}

.list-image__item {
    position: relative
}

@media (min-width: 768px) {
    .list-image__item {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        padding-top: 25px;
        padding-bottom: 145px;
        min-height: 68vh
    }
}

@media (max-width: 767px) {
    .list-image__item {
        display: grid;
        grid-template-areas: "b" "a" "c"
    }

    .list-image__item:not(:last-child) {
        margin-bottom: 60px
    }

    .list-image__item:last-child {
        padding-bottom: 0 !important
    }
}

.list-image__item .js-lines-list-border {
    left: 0;
    right: 0;
    background-color: #242733
}

@media (max-width: 767px) {
    .list-image__item .js-lines-list-border {
        display: none
    }
}

.list-image__text-wrapper {
    width: 100%
}

@media (min-width: 768px) {
    .list-image__text-wrapper {
        max-width: 33%
    }
}

@media (min-width: 1367px) {
    .list-image__text-wrapper {
        max-width: calc(33000vw / var(--default-w))
    }

    .list-image__text-wrapper.is--title {
        max-width: calc(36000vw / var(--default-w))
    }
}

@media (min-width: 768px) {
    .list-image__text-wrapper.is--title {
        padding-right: 10px
    }

    .list-image__text-wrapper.is--text {
        padding-left: 10px
    }
}

@media (max-width: 767px) {
    .list-image__text-wrapper {
        padding-bottom: 20px
    }

    .list-image__text-wrapper.is--title {
        grid-area: a
    }

    .list-image__text-wrapper.is--text {
        grid-area: c
    }
}

.list-image__title {
    margin-bottom: 0
}

@media (min-width: 768px) and (max-width: 1024px) {
    .list-image__title {
        font-size: 3vw
    }
}

@media (max-width: 767px) {
    .list-image__title {
        display: block;
        color: #242733;
        font-family: FeatureDisplay, sans-serif;
        font-weight: 400;
        font-size: calc(9000vw / var(--default-w));
        line-height: 1.03;
        margin-bottom: 0
    }
}

.list-image__images {
    position: sticky;
    top: 0;
    height: 100vh;
    pointer-events: none;
    z-index: 2
}

@media (min-width: 768px) {
    .list-image__images-wrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: opacity .15s ease;
        width: min(440px, 44000vw / var(--default-w));
        height: min(570px, 57000vw / var(--default-w));
        overflow: hidden
    }
}

@media (min-width: 768px) {
    .list-image__image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: translateY(101%)
    }

    .list-image__image:first-child {
        transform: translateY(0)
    }
}

@media (min-width: 768px) and (max-width: 1366px) {
    .list-image__image {
        max-width: 26vw
    }
}

@media (max-width: 767px) {
    .list-image__image {
        grid-area: b;
        margin-bottom: 10px
    }
}

.list-image__image .img {
    width: 100%
}

.logo-grid {
    background-color: #f0f1f5;
    padding-top: 60px;
    padding-bottom: 80px
}

@media (max-width: 767px) {
    .logo-grid {
        padding-top: 70px;
        padding-bottom: 70px
    }
}

.logo-grid__container {
    display: grid;
    gap: 4px;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 60px
}

@media (min-width: 768px) and (max-width: 991px) {
    .logo-grid__container {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (max-width: 767px) {
    .logo-grid__container {
        grid-template-columns: repeat(2, 1fr);
        margin-top: 10px
    }
}

.logo-grid__logo-wrapper {
    background-color: #fff;
    height: max(120px, 18000vw / var(--default-w));
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    padding: 0 20px
}

.logo-grid__logo-wrapper .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 767px) {
    .logo-grid__logo-wrapper {
        padding: 0
    }
}

.title-text {
    padding-top: 150px
}

@media (max-width: 1024px) {
    .title-text {
        padding-top: 100px
    }
}

@media (max-width: 767px) {
    .title-text {
        padding-top: 70px
    }
}

.title-text__title-wrapper {
    position: relative
}

.title-text__title {
    margin-bottom: .6em
}

@media (max-width: 767px) {
    .title-text__title {
        margin-bottom: 30px
    }
}

@media (min-width: 768px) {
    .title-text__subtitle {
        text-align: center;
        line-height: 1
    }

    .title-text__subtitle span {
        width: 210px
    }

    .title-text__subtitle .suptitle {
        font-size: min(15px, max(12px, 1400vw / var(--default-w)))
    }
}

@media (max-width: 767px) {
    .title-text__subtitle {
        margin-bottom: 45px;
        padding-left: 15%
    }
}

.title-text__text-wrapper {
    max-width: 438px;
    transform: translateY(-30px);
    margin-left: auto;
    margin-right: 10%
}

@media (max-width: 1366px) {
    .title-text__text-wrapper {
        transform: translateY(0);
        margin-right: 0
    }
}

.title-text__text-wrapper p {
    font-size: 1.3rem
}

.title-text__text-wrapper .button {
    margin-top: 50px
}

.awards-list {
    padding-top: max(70px, 7000vw / var(--default-w))
}

@media (min-width: 768px) {
    .awards-list {
        padding-bottom: max(70px, 15000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .awards-list__main-container {
        padding-inline: 0
    }
}

.awards-list__container {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    -moz-column-gap: 4px;
    column-gap: 4px
}

@media (min-width: 768px) {
    .awards-list__container {
        padding-right: 60px
    }
}

.awards-list__item-wrapper {
    width: 100%
}

@media (min-width: 768px) {
    .awards-list__item-wrapper {
        width: 75%;
        min-height: 420px
    }
}

@media (max-width: 767px) {
    .awards-list__item-wrapper .lines-list__item:last-of-type {
        margin-bottom: max(70px, 15000vw / var(--default-w))
    }

    .awards-list__item-wrapper .lines-list__item:last-of-type .lines-list__border.is--bottom {
        display: none
    }
}

@media (min-width: 768px) {
    .awards-list .lines-list__border {
        right: 0
    }
}

@media (min-width: 1025px) {
    .awards-list .lines-list__item-inner {
        padding-right: 0
    }
}

@media (max-width: 767px) {
    .awards-list .lines-list__item-inner {
        display: flex
    }
}

@media (max-width: 767px) {
    .awards-list .lines-list__item-content {
        width: 74%
    }
}

.awards-list .lines-list__item-first {
    width: 100%
}

@media (min-width: 768px) {
    .awards-list .lines-list__item-first {
        width: 47%
    }
}

@media (min-width: 768px) {
    .awards-list .lines-list__item-second {
        width: 43%
    }
}

@media (max-width: 767px) {
    .awards-list .lines-list__item-second {
        margin-top: 15px
    }
}

@media (min-width: 768px) {
    .awards-list .lines-list__item-third {
        width: 10%;
        text-align: left
    }
}

@media (max-width: 767px) {
    .awards-list .lines-list__item-third {
        margin-top: 20px
    }
}

.awards-list__image-wrapper {
    position: relative;
    width: 25%
}

.awards-list__image-inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

.awards-list__image {
    position: relative
}

.awards-list__image+.awards-list__image {
    position: absolute;
    top: 0;
    left: 0
}

.awards-list__image:first-child {
    z-index: 1
}

@media (max-width: 767px) {
    .awards-list__image {
        width: 26%;
        padding: 15px 10px
    }

    .awards-list__image .img {
        width: 100%
    }
}

.push-articles {
    background-color: #f0f1f5;
    padding-top: max(50px, 7000vw / var(--default-w));
    padding-bottom: min(130px, max(70px, 13000vw / var(--default-w)));
    position: relative
}

.push-articles__container {
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 4px;
    column-gap: 4px;
    row-gap: calc(6000vw / var(--default-w))
}

.push-articles__container:not(:first-child) {
    margin-top: calc(6000vw / var(--default-w))
}

@media (max-width: 767px) {
    .push-articles__container {
        row-gap: max(50px, 7000vw / var(--default-w))
    }
}

.push-articles__mainTitle {
    max-width: 90%
}

@media (max-width: 767px) {
    .push-articles__suptitle:not(:last-child) {
        margin-bottom: 10px
    }
}

.push-articles__mainText {
    max-width: 330px;
    margin-left: auto
}

.push-article {
    width: 100%
}

.push-article__info {
    max-width: 75%
}

@media (max-width: 767px) {
    .push-article__suptitle {
        opacity: .5
    }
}

.push-article__img {
    --clip-bottom: 100%;
    margin-bottom: 15px;
    aspect-ratio: 2;
    position: relative;
    overflow: hidden;
    z-index: 1;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% var(--clip-bottom), 0% var(--clip-bottom));
    clip-path: polygon(0% 0%, 100% 0%, 100% var(--clip-bottom), 0% var(--clip-bottom))
}

.push-article__img.is-shown {
    --clip-bottom: 100% !important
}

.is--sm .push-article__img {
    aspect-ratio: 1
}

.push-article__img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute
}

@media (min-width: 768px) {
    .push-article.is--sm {
        width: calc(50% - 2px)
    }
}

.team {
    height: 1200px;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    z-index: 6 !important
}

@media (max-width: 767px) {
    .team {
        height: 100vh
    }
}

.team__header {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none
}

.team__header-texts {
    height: min(80px, 7800vw / var(--default-w));
    overflow: hidden
}

@media (max-width: 767px) {
    .team__header-texts {
        height: 35px
    }
}

.team__header-text {
    display: block !important;
    white-space: nowrap
}

.team__header-first-text {
    display: flex !important;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center
}

.team__info {
    padding-top: calc(2500vw / var(--default-w));
    text-align: center
}

.team__info .suptitle {
    font-size: min(3rem, max(12px, 1400vw / var(--default-w)))
}

.team__item-title {
    font-size: min(4rem, max(1.6rem, 3400vw / var(--default-w)));
    margin-bottom: 15px
}

.team .title-text__title {
    font-size: min(6.4rem, max(2.5rem, 6400vw / var(--default-w)))
}

.team .title-text__title .line-wrapper {
    width: -moz-max-content;
    width: max-content;
    margin-top: 0
}

@media (max-width: 767px) {
    .team .title-text__title .line-wrapper {
        margin-bottom: 5px
    }
}

.team__header-number {
    position: relative;
    display: flex;
    margin-right: .2em;
    width: min(75px, max(30px, 7500vw / var(--default-w)));
    overflow: hidden;
    height: min(58px, max(30px, 5800vw / var(--default-w)));
    transition: width 1.8s ease
}

.team__header-number>span {
    display: flex;
    text-align: center;
    flex-direction: column;
    opacity: 0;
    flex-shrink: 2;
    flex-basis: min(58px, max(30px, 5800vw / var(--default-w)));
    width: 1px;
    position: absolute;
    right: 0;
    line-height: min(58px, max(30px, 5800vw / var(--default-w)));
    transition: all 2s ease
}

.team__header-number span.visible {
    position: static;
    width: 25px;
    opacity: 1;
    flex-shrink: 1
}

.team__suptitle {
    max-width: min(350px, max(240px, 25000vw / var(--default-w)));
    margin-inline: auto;
    text-align: center
}

.team__container {
    perspective: 700px;
    height: 100%;
    overflow: hidden
}

.team__wrapper {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-gap: 20vw 10vw;
    transform-style: preserve-3d;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%) scale(1);
    pointer-events: none
}

@media (max-width: 767px) {
    .team__wrapper {
        grid-gap: 90vw 5vw
    }
}

.team__wrapper:nth-child(1) {
    z-index: 5
}

.team__wrapper:nth-child(2) {
    z-index: 4
}

.team__wrapper:nth-child(3) {
    z-index: 3
}

.team__wrapper:nth-child(4) {
    z-index: 2
}

.team__wrapper:nth-child(5) {
    z-index: 1
}

.team__wrapper:nth-child(6) {
    z-index: 0
}

.team__item-image {
    position: relative;
    pointer-events: auto
}

.team__button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media (max-width: 767px) {
    .team__button {
        padding-inline: 15px
    }
}

.team__carousel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 2;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding-top: 5vh;
    opacity: 0;
    visibility: hidden
}

.team__carousel .swiper-wrapper {
    transition-timing-function: cubic-bezier(.65, 0, .35, 1)
}

.team__carousel-image {
    --scale-y: 1;
    overflow: hidden;
    transform: scaleY(var(--scale-y));
    transform-origin: top
}

.team__carousel-image .img {
    transform: scaleY(calc(1 / var(--scale-y)));
    transform-origin: top
}

.team__carousel #team-carousel .team__carousel-slide {
    min-width: min(400px, max(300px, 38000vw / var(--default-w)));
    transition-timing-function: cubic-bezier(.65, 0, .35, 1)
}

@media (min-width: 1921px) {
    .team__carousel #team-carousel .team__carousel-slide {
        min-width: min(500px, max(300px, 38000vw / var(--default-w)))
    }
}

.team__carousel #team-carousel .team__carousel-slide img {
    width: 100%
}

.team__carousel-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #121319;
    opacity: .8;
    z-index: -1
}

.team__carousel .button-close {
    position: absolute;
    top: min(50px, 5000vw / var(--default-w));
    right: min(50px, 5000vw / var(--default-w))
}

.js-team-image,
.js-team-header-text {
    opacity: 0
}

.leadership {
    background-color: #e6e7eb;
    padding-top: max(120px, 12000vw / var(--default-w));
    overflow: hidden
}

@media (min-width: 768px) {
    .leadership {
        padding-bottom: max(130px, 16000vw / var(--default-w)) !important
    }
}

@media (max-width: 767px) {
    .leadership {
        padding-top: max(50px, 5000vw / var(--default-w))
    }
}

.leadership__header {
    padding-bottom: 100px
}

@media (max-width: 1024px) {
    .leadership__header {
        padding-bottom: 50px
    }
}

@media (min-width: 768px) {
    .leadership__header {
        max-width: 60%
    }
}

.leadership .title-text__title {
    font-size: min(140px, 13000vw / var(--default-w));
    margin-bottom: max(60px, 9000vw / var(--default-w))
}

@media (min-width: 768px) {
    .leadership .title-text__subtitle span {
        width: 260px
    }
}

@media (min-width: 768px) {
    .leadership__container-wrapper {
        display: flex;
        flex-direction: column
    }
}

@media (max-width: 767px) {
    .leadership__container-wrapper {
        padding-bottom: 100px
    }
}

@media (min-width: 768px) {
    .leadership__content {
        order: 1
    }

    .leadership__content.js-leadership-content {
        height: 0
    }
}

@media (max-width: 767px) {
    .leadership__content {
        margin-top: 20px
    }
}

.leadership__info-wrapper {
    position: relative;
    width: 100%;
    margin-bottom: 50px
}

@media (max-width: 1024px) {
    .leadership__info-wrapper {
        margin-bottom: 80px
    }
}

@media (max-width: 767px) {
    .leadership__info-wrapper {
        margin-bottom: 0
    }
}

.leadership__info {
    width: 100%
}

@media (min-width: 768px) {
    .leadership__info {
        display: flex;
        flex-flow: row wrap
    }
}

@media (min-width: 1025px) {
    .leadership__info {
        -moz-column-gap: 4px;
        column-gap: 4px;
        padding-right: 6.5%
    }
}

.leadership__info:not(.is-active) {
    position: absolute;
    top: 0;
    left: 0
}

.leadership__info .line {
    transform: translateY(115%)
}

.leadership__id {
    width: calc(46% - 4px)
}

@media (max-width: 1024px) {
    .leadership__id {
        width: 100%
    }
}

.leadership__title {
    margin-bottom: 15px
}

@media (max-width: 767px) {
    .leadership__title {
        font-size: 3.2rem;
        margin-bottom: 5px
    }
}

.leadership__description {
    margin-top: 60px;
    padding-right: 5px;
    width: 100%
}

@media (min-width: 768px) {
    .leadership__description {
        width: 50%
    }
}

@media (min-width: 1025px) {
    .leadership__description {
        width: calc(27% - 4px)
    }
}

@media (max-width: 1024px) {
    .leadership__description {
        margin-top: 20px
    }
}

@media (max-width: 767px) {
    .leadership__description {
        padding-left: 15%
    }

    .leadership__description:not(:last-child) {
        margin-bottom: 20px
    }
}

.leadership__description p {
    font-size: max(1.3rem, 1300vw / var(--default-w))
}

.leadership__swiper {
    height: calc(41000vw / var(--default-w));
    position: relative;
    width: -moz-max-content;
    width: max-content;
    flex-wrap: nowrap;
    align-items: flex-end
}

@media (min-width: 768px) {
    .leadership__swiper {
        order: 2
    }
}

@media (max-width: 767px) {
    .leadership__swiper {
        height: 220px
    }
}

.leadership__image img {
    display: block
}

.leadership__item {
    height: auto !important;
    min-height: auto !important;
    min-width: max(148px, 24700vw / var(--default-w));
    max-width: max(148px, 24700vw / var(--default-w));
    transition: transform 0s, min-width .3s, max-width .3s cubic-bezier(.16, 1, .3, 1)
}

@media (max-width: 767px) {
    .leadership__item {
        min-width: 148px;
        max-width: 148px
    }
}

.leadership__item .leadership__image {
    width: 100%
}

.leadership__item.is-inactive {
    pointer-events: none
}

.culture-intro {
    padding-top: 110px;
    padding-bottom: 3%;
    min-height: 100vh;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: flex-end;
    position: relative;
    overflow: hidden
}

@media (max-width: 767px) {
    .culture-intro {
        padding-bottom: 15vh
    }
}

.culture-intro__main-container {
    position: relative;
    text-align: center;
    z-index: 1
}

.culture-intro__mainTitle {
    display: block;
    color: #e6e7eb;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: max(6.4rem, 23200vw / var(--default-w));
    line-height: .82;
    margin-bottom: max(20px, 3000vw / var(--default-w))
}

.culture-intro__mainTitle .line-wrapper .line {
    line-height: .9
}

@media (max-width: 767px) {
    .culture-intro__mainTitle {
        margin-bottom: 15px
    }
}

.culture-intro__subtitle {
    color: #e6e7eb
}

@media (max-width: 767px) {
    .culture-intro__subtitle {
        font-size: 1.6rem
    }
}

.culture-intro__images {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 90vw;
    height: 40vw;
    margin: 3% auto 0;
    display: flex;
    flex-flow: row nowrap;
    transform-style: preserve-3d
}

@media (max-width: 1024px) {
    .culture-intro__images {
        top: 33%
    }
}

.culture-intro__images-wrapper {
    width: 50%;
    position: relative;
    perspective: 1000px
}

.culture-intro__images-wrapper:first-child {
    perspective-origin: 140%;
    transform: translate(25%)
}

@media (max-width: 767px) {
    .culture-intro__images-wrapper:first-child {
        transform: translate(25%) scale(2)
    }
}

.culture-intro__images-wrapper:first-child .culture-intro__image {
    left: 0
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(odd) {
    top: 10vw
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(1) {
    top: 0;
    left: 8vw
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(1) .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(54800vw / var(--default-w))
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(3n) {
    top: auto;
    bottom: 0;
    left: 10vw
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(3n) .image-inner {
    width: calc(43700vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(2n):not(:nth-child(4n)) {
    top: -2vw;
    left: 13vw
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(2n):not(:nth-child(4n)) .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(43700vw / var(--default-w))
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(4n) {
    top: 0
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(4n) .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(5n) {
    top: auto;
    bottom: -3vw;
    left: 10vw
}

.culture-intro__images-wrapper:first-child .culture-intro__image:nth-child(5n) .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__images-wrapper:nth-child(2) {
    perspective-origin: -60% 50%;
    transform: translate(10%)
}

@media (max-width: 767px) {
    .culture-intro__images-wrapper:nth-child(2) {
        transform: translate(15%) scale(2)
    }
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image {
    transform-origin: top left;
    right: 0
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(odd) {
    top: 7vw;
    right: 3vw
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(1) {
    top: -1vw;
    right: 18vw
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(1) .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(43700vw / var(--default-w))
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(3n) {
    top: 4vw;
    right: 18vw
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(2n):not(:nth-child(4n), :last-child) {
    top: 15vw;
    right: 14vw
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(4n) {
    top: 6vw;
    right: 8vw
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(4n) .image-inner {
    width: calc(54800vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(5n) {
    top: auto;
    bottom: 0;
    left: -4vw
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:nth-child(5n) .image-inner {
    width: calc(43700vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:last-child {
    top: auto;
    bottom: 1vw;
    left: -21vw;
    transform: translate(50%);
    opacity: 1
}

.culture-intro__images-wrapper:nth-child(2) .culture-intro__image:last-child .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__image {
    position: absolute;
    will-change: transform;
    overflow: hidden
}

.culture-intro__image .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__image:nth-child(2n) .image-inner {
    width: calc(43700vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__image:nth-child(4n) .image-inner {
    width: calc(54800vw / var(--default-w));
    height: calc(32700vw / var(--default-w))
}

.culture-intro__image:nth-child(5n) .image-inner {
    width: calc(32700vw / var(--default-w));
    height: calc(54800vw / var(--default-w))
}

.culture-intro__image .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    will-change: transform
}

.overlappingSections {
    position: relative
}

.overlappingSections .pin-spacer {
    pointer-events: none
}

.overlappingSections__section {
    background-color: #e6e7eb;
    height: 100vh;
    transform: none !important
}

.overlappingSections__section:nth-of-type(even),
.pin-spacer:nth-child(even) .overlappingSections__section {
    background-color: #f0f1f5
}

.overlappingSections__container {
    padding-top: 12vh;
    height: calc(100% - 3600vw / var(--default-w));
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

@media (max-width: 767px) {
    .overlappingSections__container {
        height: calc(100% - 12500vw / var(--default-w));
        padding-top: 20px;
        justify-content: center;
        row-gap: 30px
    }
}

.overlappingSections__content {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: flex-end;
    -moz-column-gap: 10px;
    column-gap: 10px
}

.overlappingSections__col-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 5%;
    width: 100%
}

@media (min-width: 768px) {
    .overlappingSections__col-wrapper {
        width: calc(33.3333333333% - 10px);
        padding-left: 10px
    }
}

.overlappingSections__title {
    z-index: 1;
    color: #e6e7eb;
    mix-blend-mode: exclusion
}

@media (min-width: 768px) {
    .overlappingSections__title {
        max-width: 60%
    }
}

@media (max-width: 767px) {
    .overlappingSections__title {
        margin-bottom: 0;
        text-align: center
    }
}

.overlappingSections__text {
    z-index: 1;
    mix-blend-mode: exclusion
}

.overlappingSections__text p {
    display: block;
    color: #e6e7eb;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(16px, 2000vw / var(--default-w));
    line-height: 1.3;
    margin-bottom: 0;
    letter-spacing: -.06rem
}

.overlappingSections__text.no-blend {
    mix-blend-mode: normal
}

.overlappingSections__text.no-blend>p {
    display: block;
    color: #0e172f;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(16px, 2000vw / var(--default-w));
    line-height: 1.3;
    margin-bottom: 0
}

@media (min-width: 768px) {
    .overlappingSections__text {
        max-width: calc(44000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .overlappingSections__text {
        width: 80%;
        margin-inline: auto;
        text-align: center
    }
}

.overlappingSections__tab {
    padding-top: 10px;
    padding-bottom: 10px;
    pointer-events: auto;
    cursor: pointer;
    z-index: 2
}

.overlappingSections__tab.is-sticky {
    background-color: #e6e7eb
}

.overlappingSections__section:nth-of-type(even) .overlappingSections__tab.is-sticky,
.pin-spacer:nth-child(even) .overlappingSections__section .overlappingSections__tab.is-sticky {
    background-color: #f0f1f5
}

.overlappingSections__tab-container {
    display: flex;
    flex-flow: row nowrap
}

.overlappingSections__tab-num {
    width: 33.3333333333%
}

@media (min-width: 768px) {
    .overlappingSections__tab-num {
        width: 66.6666666667%
    }
}

.overlappingSections__tab-subtitle {
    width: 66.6666666667%;
    text-align: right
}

@media (min-width: 768px) {
    .overlappingSections__tab-subtitle {
        width: calc(33.3333333333% - 10px);
        padding-left: 20px
    }
}

.overlappingSections__images-section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    pointer-events: none
}

@media (max-width: 1024px) and (max-height: 1100px) {
    .overlappingSections__images-section {
        align-items: center
    }
}

.overlappingSections__images {
    height: max(460px, 46000vw / var(--default-w));
    overflow: hidden
}

.overlappingSections__image {
    width: max(327px, 32700vw / var(--default-w));
    height: max(460px, 46000vw / var(--default-w));
    margin: 0 auto;
    overflow: hidden
}

@media (max-width: 767px) {
    .overlappingSections__image {
        width: calc(23800vw / var(--mobile-w));
        height: calc(29000vw / var(--mobile-w))
    }
}

.overlappingSections__image .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.full-image-quote {
    position: relative;
    height: 100vh
}

@media (min-width: 1025px) {
    .full-image-quote {
        min-height: 80vh
    }
}

@media (max-width: 767px) {
    .full-image-quote {
        height: 162.67vw
    }
}

.full-image-quote__title-wrapper {
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    text-align: center
}

@media (min-width: 1921px) {
    .full-image-quote__title-wrapper {
        max-width: 90%
    }
}

@media (max-width: 767px) {
    .full-image-quote__title-wrapper {
        padding-inline: 10px;
        top: 60px
    }
}

.full-image-quote__title {
    color: #e6e7eb;
    mix-blend-mode: exclusion
}

@media (max-width: 767px) {
    .full-image-quote__title {
        font-size: 4.8rem
    }
}

.full-image-quote__image-wrapper {
    overflow: hidden;
    height: 100%
}

@media (min-width: 768px) {
    .full-image-quote__image-wrapper {
        -webkit-clip-path: inset(36.1% 39.7% 13%);
        clip-path: inset(36.1% 39.7% 13%)
    }
}

.full-image-quote__image {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

@media (min-width: 768px) {
    .js-full-image-quote {
        transform: translateY(-100%)
    }

    .js-full-image-quote .line {
        transform: translateY(101%)
    }
}

.overlappingImages {
    display: flex;
    flex-flow: row nowrap;
    position: relative;
    isolation: isolate
}

@media (max-width: 767px) {
    .overlappingImages {
        padding-bottom: 60px
    }
}

.overlappingImages__bg {
    background-color: #e6e7eb;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1
}

@media (min-width: 768px) {
    .overlappingImages__bg {
        width: 50%;
        height: 100vh
    }

    .overlappingImages__bg:nth-child(2) {
        left: 50%
    }
}

.overlappingImages__sections {
    z-index: 1
}

@media (min-width: 768px) {
    .overlappingImages__sections {
        width: 66.6666666667%
    }
}

.overlappingImages__container {
    padding: 70px 8px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 5vh
}

.overlappingImages__container:not([data-index="0"]) {
    background-color: #e6e7eb
}

@media (min-width: 768px) {
    .overlappingImages__container {
        height: 100vh;
        min-height: 700px;
        padding: calc(2000vw / var(--default-w))
    }
}

@media (max-width: 767px) {
    .overlappingImages__container {
        row-gap: 15px
    }
}

.overlappingImages__title {
    display: block;
    color: #242733;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: calc(9000vw / var(--default-w));
    line-height: 1.03;
    margin-bottom: 0;
    width: 100%;
    max-width: 80%
}

.overlappingImages__text {
    width: 100%
}

@media (min-width: 768px) {
    .overlappingImages__text {
        max-width: 440px
    }
}

.overlappingImages__text p {
    display: block;
    color: #0e172f;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(16px, 2000vw / var(--default-w));
    line-height: 1.3;
    margin-bottom: 0;
    letter-spacing: -.03rem
}

.overlappingImages__images {
    width: 100%;
    position: relative;
    overflow: hidden
}

@media (min-width: 768px) {
    .overlappingImages__images {
        width: 33.3333333333%;
        height: 100vh;
        min-height: 850px
    }
}

.overlappingImages__images .img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    bottom: 0
}

.overlappingImages__image {
    width: 100%
}

@media (min-width: 768px) {
    .overlappingImages__image {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%
    }

    .overlappingImages__image:not(:first-child) {
        overflow: hidden
    }

    .overlappingImages__image:first-child {
        top: 0
    }
}

@media (max-width: 767px) {
    .overlappingImages__image {
        overflow: hidden;
        height: calc(41200vw / var(--mobile-w))
    }

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

.overlappingSlides {
    background-color: #f0f1f5
}

.overlappingSlides__heading {
    padding-top: 100px;
    padding-bottom: 60px
}

.overlappingSlides__sections {
    background-color: #e6e7eb;
    width: 66.6666666667%
}

.overlappingSlides__mainTitle {
    margin-bottom: 70px;
    max-width: 90%
}

.overlappingSlides__mainText {
    width: 100%;
    max-width: 437px;
    margin-left: auto;
    margin-right: 15%
}

.overlappingSlides__slides {
    display: flex;
    flex-flow: row nowrap;
    width: -moz-max-content;
    width: max-content
}

.overlappingSlides__slide {
    background: rgb(36, 39, 51);
    background: linear-gradient(145deg, rgb(36, 39, 51) 0%, rgb(6, 65, 213) 75%);
    width: 480px;
    height: 500px;
    padding: 35px 40px 55px 35px
}

.overlappingSlides__slide-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%
}

.overlappingSlides__title {
    color: #f0f1f5
}

.overlappingSlides__title span {
    display: inline-block;
    margin-right: 28px
}

.overlappingSlides__text {
    padding-left: 48px
}

.overlappingSlides__text p {
    display: block;
    color: #f0f1f5;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: 4.8rem;
    line-height: 1.07;
    margin-bottom: 0
}

.jobs-list {
    padding-top: 150px;
    padding-bottom: 150px
}

@media (max-width: 767px) {
    .jobs-list {
        padding-top: 90px;
        padding-bottom: 90px
    }
}

@media (max-width: 767px) {
    .jobs-list__main-container {
        padding-inline: 0
    }
}

.jobs-list__container {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: 20px;
    column-gap: 20px
}

@media (max-width: 767px) {
    .jobs-list .title-text__title {
        padding-inline: 10px
    }
}

.jobs-list__link-wrapper {
    width: 100%
}

@media (min-width: 1025px) {
    .jobs-list__link-wrapper {
        width: calc(25% - 20px)
    }
}

@media (max-width: 1024px) {
    .jobs-list__link-wrapper {
        padding-inline: 10px;
        margin-top: 30px;
        order: 2
    }
}

.jobs-list__link-wrapper .title {
    font-size: max(2.2rem, 2200vw / var(--default-w))
}

.jobs-list__content {
    width: 100%
}

@media (min-width: 1025px) {
    .jobs-list__content {
        width: 75%;
        padding-top: 6px
    }
}

@media (max-width: 1024px) {
    .jobs-list__content {
        order: 1
    }
}

.jobs-list__text {
    font-size: 1.3rem;
    margin-bottom: 20px
}

.jobs-list .lines-list__item-inner {
    padding-inline: 10px
}

@media (min-width: 768px) {
    .jobs-list .lines-list__item-inner {
        padding-inline: 16px
    }
}

.jobs-list .lines-list__border {
    left: 0;
    right: 0
}

@media (min-width: 768px) {
    .jobs-list .lines-list__item-content {
        padding-bottom: 20px
    }
}

@media (min-width: 768px) {
    .jobs-list .lines-list__item-third {
        width: 40%;
        text-align: right;
        padding-right: 10px
    }

    .jobs-list .lines-list__item-third .line-wrapper {
        margin-left: auto
    }
}

.manifesto-is-active .agency-inner,
.manifesto-is-active .header,
.manifesto-is-active .footer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -2
}

.closing-manifesto .agency-inner {
    z-index: -1
}

.opening-manifesto canvas,
.opening-manifesto .webgl {
    pointer-events: none
}

.manifesto {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1
}

.opening-manifesto .manifesto {
    z-index: 0
}

.manifesto-is-active .manifesto {
    position: relative;
    z-index: 1
}

.manifesto .header {
    z-index: 1
}

@media (min-width: 768px) {

    .manifesto .header-left,
    .manifesto .header-aside {
        min-width: 20%
    }
}

@media (min-width: 768px) {
    .manifesto .header-aside {
        justify-content: flex-end
    }
}

.manifesto__content {
    padding-bottom: 70px;
    overflow-x: hidden
}

.manifesto__heading {
    height: 100vh;
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    padding-top: 12vh;
    margin-bottom: 50vh
}

.manifesto__main-title {
    display: block;
    color: #f0f1f5;
    font-family: FeatureDisplay, sans-serif;
    font-weight: 400;
    font-size: 19.4rem;
    line-height: .92;
    margin-bottom: 106px;
    text-align: center
}

@media (max-width: 1024px) {
    .manifesto__main-title {
        font-size: 12rem
    }
}

@media (max-width: 767px) {
    .manifesto__main-title {
        font-size: 6.5rem
    }
}

.manifesto__main-title .line-wrapper .line {
    padding-bottom: .15em
}

.manifesto__main-title .line-wrapper:not(:first-child) .line {
    margin-top: -100px
}

@media (max-width: 1024px) {
    .manifesto__main-title .line-wrapper:not(:first-child) .line {
        margin-top: -50px
    }
}

@media (max-width: 767px) {
    .manifesto__main-title .line-wrapper:not(:first-child) .line {
        margin-top: -30px
    }
}

.manifesto__main-title .slice-wrapper.is--top {
    line-height: 1
}

.manifesto__text {
    max-width: 878px;
    margin: 0 auto
}

.manifesto__text p {
    --scale3d: 1, 1, 1;
    --rotatex: 0deg;
    display: block;
    color: #fff;
    font-family: FeatureDeck, sans-serif;
    font-weight: 400;
    font-size: max(4rem, 6400vw / var(--default-w));
    line-height: 1.03;
    margin-bottom: 100vh;
    transform: perspective(490px) scale3d(var(--scale3d)) rotateX(var(--rotatex))
}

.manifesto__text p:last-child {
    margin-bottom: 50vh
}

@media (max-width: 767px) {
    .manifesto__text p {
        margin-bottom: 50vh
    }
}

.manifesto__bottom {
    height: 100vh;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    text-align: center
}

.manifesto__bottom .manifesto__main-title {
    font-size: min(19.4rem, 19400vw / var(--default-w));
    margin-bottom: 60px
}

.manifesto__bottom .manifesto__main-title .line-wrapper:not(:first-child) .line {
    margin-top: min(-40px, -4000vw / var(--default-w))
}

.collection-preview {
    --scale: 1;
    display: block;
    padding: 30px 0;
    position: relative
}

.collection-preview:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #ccc;
    transform: scaleX(var(--scale));
    transform-origin: left
}

.collection-preview:last-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #ccc;
    transform: scaleX(var(--scale));
    transform-origin: left
}

@media (min-width: 768px) {
    .collection-preview__container {
        display: grid;
        grid-template-columns: 2fr 5fr 5fr;
        grid-template-rows: 1fr;
        grid-column-gap: 20px
    }
}

@media (min-width: 1260px) {
    .collection-preview__container {
        grid-template-columns: 2fr 6fr 4fr
    }
}

.collection-preview__date {
    padding-top: 5px
}

@media (max-width: 767px) {
    .collection-preview__date {
        margin-bottom: 15px
    }
}

.collection-preview__title-wrapper {
    max-width: max(375px, 37500vw / var(--default-w))
}

@media (max-width: 767px) {
    .collection-preview__title-wrapper {
        max-width: 600px
    }
}

.collection-preview__title {
    transition: transform .85s cubic-bezier(.16, 1, .3, 1)
}

@media (max-width: 767px) {
    .collection-preview__title {
        margin-bottom: 20px
    }
}

@media (min-width: 768px) {
    a:hover .collection-preview__title {
        transform: translate(-20px)
    }
}

@media (min-width: 1260px) {
    a:hover .collection-preview__title {
        transform: translate(-15%)
    }
}

@media (min-width: 1500px) {
    a:hover .collection-preview__title {
        transform: translate(-30%)
    }
}

.collection-preview__image {
    width: calc(44100vw / var(--default-w));
    height: calc(26000vw / var(--default-w));
    overflow: hidden;
    transform-origin: right;
    transition: transform .85s cubic-bezier(.16, 1, .3, 1)
}

@media (max-width: 1259px) {
    .collection-preview__image {
        width: auto;
        height: 22vw
    }
}

@media (max-width: 767px) {
    .collection-preview__image {
        height: 100vw
    }
}

.collection-preview__image .img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transform-origin: right;
    transition: transform .85s cubic-bezier(.16, 1, .3, 1)
}

@media (min-width: 768px) {
    a:hover .collection-preview__image {
        transform: scaleX(1.1)
    }

    a:hover .collection-preview__image .img {
        transform: scaleY(1.1)
    }
}

@media (min-width: 1260px) {
    a:hover .collection-preview__image {
        transform: scaleX(1.24)
    }

    a:hover .collection-preview__image .img {
        transform: scaleY(1.24)
    }
}

.collection-intro {
    padding-top: 90px;
    padding-bottom: 70px
}

@media (max-width: 767px) {
    .collection-intro {
        padding-top: 60px;
        padding-bottom: 60px
    }
}

.collection-intro__image-wrapper {
    position: relative;
    overflow: hidden;
    height: 110%
}

.collection-intro__image-wrapper .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (min-width: 768px) {
    .collection-intro__image-wrapper .img.is--desktop {
        display: block
    }

    .collection-intro__image-wrapper .img.is--mobile {
        display: none
    }
}

@media (max-width: 767px) {
    .collection-intro__image-wrapper .img.is--desktop {
        display: none
    }

    .collection-intro__image-wrapper .img.is--mobile {
        display: block !important
    }
}

.collection-intro__images {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
    padding: 4px
}

@media (max-width: 767px) {
    .collection-intro__images {
        -moz-column-gap: 4px;
        column-gap: 4px;
        justify-content: safe center;
        -ms-overflow-style: none;
        scrollbar-width: none;
        overflow-x: scroll
    }

    .collection-intro__images::-webkit-scrollbar {
        display: none
    }
}

@media (min-width: 481px) {
    .collection-intro__images .img {
        max-width: 68.6%
    }
}

@media (min-width: 768px) {
    .collection-intro__images .img {
        max-width: calc(33.3333333333% - 4px);
        width: calc(32300vw / var(--default-w))
    }
}

@media (min-width: 768px) {
    .collection-intro .textSection__text-wrapper {
        margin-top: 40px
    }
}

.collection-item {
    padding-bottom: 130px
}

@media (max-width: 767px) {
    .collection-item {
        border-top: 1px solid #d2d2d2;
        padding: 30px 10px 80px
    }
}

.collection-item__content {
    margin-top: 25px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between
}

@media (max-width: 767px) {
    .collection-item__content {
        margin-top: 15px
    }
}

.collection-item__text-wrapper {
    width: max(327px, 32700vw / var(--default-w))
}

@media (max-width: 767px) {
    .collection-item__title {
        font-size: 3.2rem;
        margin-bottom: 20px
    }
}

.collection-item__link {
    margin-top: 20px
}

.collection-item img {
    width: 100%
}

@media (max-width: 767px) {
    .collection-items__container {
        padding: 0
    }
}

.expertise-intro {
    padding-top: 110px;
    padding-bottom: 5%;
    padding-inline: 12%;
    min-height: 100vh;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    position: relative;
    overflow: hidden
}

@media (max-width: 767px) {
    .expertise-intro {
        padding-inline: 5%
    }
}

.expertise-intro__subtitles {
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    text-align: center
}

.expertise-intro__subtitle {
    color: #f0f1f5
}

.tab-list {
    width: 100%;
    max-width: max(664px, 66400vw / var(--default-w));
    margin-top: max(60px, 6000vw / var(--default-w));
    margin-left: auto
}

@media (max-width: 767px) {
    .tab-list {
        margin-top: 30px
    }
}

@media (min-width: 768px) {
    .tab-list {
        width: calc(66.6666666667% - 10px)
    }
}

@media (max-width: 767px) {
    .tab-list {
        max-width: 75%
    }
}

@media (max-width: 480px) {
    .tab-list {
        max-width: 294px
    }
}

.tab-list__item {
    border-bottom: 1px solid #d2d2d2;
    padding-bottom: max(8px, 800vw / var(--default-w));
    margin-bottom: max(8px, 800vw / var(--default-w))
}

.playground {
    position: relative;
    z-index: 1;
    isolation: isolate
}

@media (min-width: 768px) {
    .playground {
        min-height: 400vh
    }
}

.playground__inner {
    background-color: #f0f1f5;
    padding-top: 60px
}

@media (min-width: 768px) {
    .playground__inner {
        height: 100vh;
        display: flex;
        flex-flow: row wrap;
        align-items: center;
        width: 100%;
        padding-bottom: 60px
    }
}

.playground__title {
    font-size: min(140px, 13000vw / var(--default-w))
}

.playground__slice {
    display: inline-block;
    position: relative;
    width: 385px;
    height: min(100px, 10000vw / var(--default-w));
    overflow: hidden;
    line-height: 0;
    z-index: 1
}

@media (max-width: 767px) {
    .playground__slice {
        width: 100%;
        margin-top: 30px;
        aspect-ratio: 1;
        height: unset
    }
}

.playground__mobile-title {
    margin: 0;
    padding-bottom: .65em
}

@media (max-width: 767px) {
    .playground__mobile-suptitle {
        opacity: .5
    }
}

.playground__slice-inner {
    --right-points: 40%;
    --left-points: 70%;
    display: inline-block;
    width: 385px;
    height: 100%;
    overflow: hidden;
    position: absolute !important;
    -webkit-clip-path: polygon(0% 0%, 0% 66%, var(--right-points) 66%, var(--right-points) 100%, 100% 100%, 100% 33%, var(--left-points) 33%, var(--left-points) 0%);
    clip-path: polygon(0% 0%, 0% 66%, var(--right-points) 66%, var(--right-points) 100%, 100% 100%, 100% 33%, var(--left-points) 33%, var(--left-points) 0%);
    transition: -webkit-clip-path .5s cubic-bezier(.16, 1, .3, 1);
    transition: clip-path .5s cubic-bezier(.16, 1, .3, 1);
    transition: clip-path .5s cubic-bezier(.16, 1, .3, 1), -webkit-clip-path .5s cubic-bezier(.16, 1, .3, 1)
}

.playground__slice-inner:hover {
    cursor: pointer
}

.playground__link {
    display: block;
    width: 100%;
    height: 100%
}

.playground__link .slice-link__text-wrapper {
    position: absolute !important
}

@media (max-width: 767px) {
    .playground__link .slice-link__text-wrapper {
        mix-blend-mode: difference
    }
}

.playground__link .slice-link__text {
    display: block !important
}

.playground__link:hover .slice-link__text-inner {
    transform: translateY(-100%)
}

.playground__link:hover .slice-link__text-inner+.slice-link__text-inner {
    transform: translateY(0)
}

.playground__video {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.playground~div {
    position: relative;
    z-index: 5
}

.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    background-color: #000;
    z-index: 100
}

.loader__lottie {
    position: absolute;
    bottom: 20px;
    left: 20%;
    width: 60%
}

.pagination {
    --item-size: 6px;
    --item-gap: 10px;
    width: 20px;
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center
}

.pagination-items {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: var(--item-gap);
    top: calc(var(--item-size) + var(--item-gap));
    transition: transform .3s ease
}

.pagination-item {
    width: var(--item-size);
    height: 6px;
    background: white;
    border-radius: 50%;
    opacity: 0;
    pointer-events: none
}

.pagination-item:nth-child(1) {
    opacity: 1
}

.pagination-item:nth-child(2) {
    opacity: .67
}

.pagination-item:nth-child(3) {
    opacity: .33
}

@media (max-width: 1023px) {
    .pagination {
        display: none
    }
}

.case-study {
    --height: 140vh;
    background-color: transparent
}

.case-study__h {
    position: relative;
    z-index: 0
}

@media (min-width: 1024px) {
    .case-study__h {
        min-height: 100vh;
        height: var(--height)
    }
}

@media (min-width: 1024px) {
    .case-study__h-container {
        position: sticky;
        top: 0;
        z-index: 1
    }
}

@media (max-width: 1023px) {
    .case-study__h-container {
        background-color: #fff
    }
}

.case-study__h-textCol {
    padding-right: 4%;
    display: flex;
    flex-flow: column nowrap;
    position: relative;
    z-index: 1
}

@media (min-width: 1024px) {
    .case-study__h-textCol {
        width: 50%;
        height: 100vh
    }
}

@media (max-width: 1023px) {
    .case-study__h-textCol {
        padding-top: 30px;
        padding-bottom: 60px
    }
}

.case-study__h-main {
    height: 100%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center
}

.case-study__h-main .v-show-text {
    padding-bottom: 1rem
}

@media (min-width: 1024px) {
    .case-study__h-main {
        padding-top: 50px;
        padding-bottom: 50px
    }
}

.case-study__h .main-title {
    margin-bottom: 0;
    width: 100%
}

@media (min-width: 768px) and (max-width: 1366px) {
    .case-study__h .main-title {
        font-size: 4.7vw
    }
}

@media (max-width: 1023px) {
    .case-study__h .main-title {
        font-size: 3.4rem;
        transform: none !important
    }
}

.case-study__h .main-title .line-wrapper {
    width: auto
}

.case-study__h .main-title .line-wrapper .line {
    white-space: normal
}

@media (max-width: 1366px) {
    .case-study__h-textWrapper {
        -moz-column-gap: 5%;
        column-gap: 5%
    }
}

@media (min-width: 768px) {
    .case-study__h-textWrapper {
        display: flex;
        flex-flow: row nowrap;
        row-gap: 10px;
        align-items: flex-start;
        -moz-column-gap: 3%;
        column-gap: 3%
    }

    .case-study__h-textWrapper:not(:last-child) {
        margin-bottom: 40px
    }
}

@media (max-width: 1366px) {
    .case-study__h-textWrapper {
        justify-content: space-between;
        -moz-column-gap: 15px;
        column-gap: 15px
    }
}

.case-study__h-suptitle {
    width: 100%
}

@media (min-width: 1024px) {
    .case-study__h-suptitle {
        width: 33%
    }
}

.case-study__h-tags {
    width: 50%
}

@media (max-width: 1366px) {
    .case-study__h-tags {
        width: calc(66% - 15px)
    }
}

@media (max-width: 767px) {
    .case-study__h-tags {
        width: 100%;
        margin-top: 35px;
        max-width: 80%
    }
}

@media (min-width: 1024px) {
    .case-study__h-bottom {
        padding-bottom: 50px
    }
}

@media (max-width: 1023px) {
    .case-study__h-bottom {
        margin-top: 90px;
        transform: none !important
    }

    .case-study__h-bottom .hover-cursor {
        padding-bottom: 0
    }
}

@media (min-width: 1024px) {
    .case-study__h-image-wrapper {
        position: absolute;
        top: 0;
        bottom: -1px;
        left: 0;
        width: 100%;
        overflow: hidden
    }
}

@media (min-width: 1024px) {
    .case-study__h-image {
        position: absolute;
        top: 0;
        bottom: -1px;
        left: 0;
        width: 100%;
        transform: translate(25%)
    }
}

@media (max-width: 1023px) {
    .case-study__h-image {
        background-color: #fff;
        transform: none !important
    }
}

.case-study__h-image .img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

@media (max-width: 1023px) {
    .case-study .transition-overlay {
        display: none
    }
}

.collections main {
    background-color: #f0f1f5;
    padding-top: 90px
}

@media (max-width: 767px) {
    .collections main {
        padding-top: 70px
    }
}

.collections__heading {
    padding-top: 70px;
    padding-bottom: 60px
}

.collections__heading-title {
    max-width: 90%
}

@media (min-width: 768px) {
    .collections__heading-title {
        max-width: 80%
    }
}

@media (min-width: 1025px) {
    .collections__heading-title {
        width: 66.6666%
    }
}

@media (max-width: 767px) {
    .collections__heading-main-title {
        font-size: 50px;
        line-height: 1.06
    }
}

.collections__heading-text-wrapper {
    max-width: 80%;
    margin-left: auto
}

@media (min-width: 768px) {
    .collections__heading-text-wrapper {
        width: 50%
    }
}

@media (min-width: 1260px) {
    .collections__heading-text-wrapper {
        width: calc(33.3333% - 10px);
        margin-top: -60px
    }
}

@media (max-width: 767px) {
    .collections__heading-text-wrapper {
        margin-top: 40px
    }
}

.collections__heading-text-wrapper .suptitle:not(:last-child) {
    margin-bottom: 2rem;
    font-size: max(1.2rem, 1200vw / var(--default-w))
}

.collections__heading-text-wrapper .a--sm-text {
    max-width: 48rem
}

.collections__heading-text-wrapper .a--sm-text p {
    font-size: max(1.3rem, 1300vw / var(--default-w));
    font-weight: 400
}

.archives__container {
    background-color: #f0f1f5;
    padding-top: max(60px, 10000vw / var(--default-w));
    padding-bottom: calc(10000vw / var(--default-w))
}

@media (max-width: 767px) {
    .archives__container {
        padding-bottom: 20px
    }
}

.archives__heading {
    padding-top: min(120px, 12000vw / var(--default-w));
    padding-bottom: min(160px, 16000vw / var(--default-w));
    max-width: 80%
}

@media (max-width: 767px) {
    .archives__heading {
        padding-top: 50px;
        padding-bottom: 50px;
        max-width: 90%
    }
}

.archives .link-list {
    padding-top: 0;
    padding-bottom: 30px
}

@media (min-width: 768px) {
    .archives .link-list .lines-list__item-title {
        max-width: none
    }
}

.archives .lines-list__item-first {
    overflow: hidden
}

@media (min-width: 768px) {
    .archives .lines-list__item-first {
        width: 50%
    }
}

@media (min-width: 768px) {
    .archives .lines-list__item-second {
        width: 20%
    }
}

@media (max-width: 767px) {
    .archives .lines-list__item-second {
        opacity: .6
    }
}

.archives .lines-list__item-title {
    font-size: max(2.2rem, 3400vw / var(--default-w))
}

.archives .lines-list__item-image {
    width: 33.3333333333%
}

.archives .load-more__wrapper {
    border-top: none;
    padding-top: 0
}

.expertise .section,
.expertise .media,
.expertise .medias__legend {
    background-color: #f0f1f5
}

@media (max-width: 767px) {
    .expertise .section.textSection .textSection__text-wrapper {
        padding-bottom: 30px
    }

    .expertise .section.textSection .textSection__text-wrapper+.tab-list {
        margin-top: 0
    }
}

.expertises .agency-intro {
    padding-bottom: 0
}

.expertises .agency-intro__image {
    margin-bottom: 0
}

.expertises__subtitle {
    background-color: #f0f1f5;
    padding-block: 60px
}

.expertises__list {
    padding-top: 10px;
    padding-bottom: 60px;
    background-color: #f0f1f5;
    display: flex
}

.expertises__list-col1 {
    width: 33.3%
}

.expertises__list-col2 {
    width: 66.7%
}

.expertises__list-list {
    list-style: none
}

.expertises__list-item {
    padding-block: 25px;
    border-bottom: 1px solid currentcolor;
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-bottom: 0
}

.expertises__list-item:first-child {
    padding-top: 0
}

.expertises__list-item:last-child {
    border-bottom: none
}

.expertises__list-number {
    font-size: max(12px, 1400vw / var(--default-w));
    font-family: Sohne, sans-serif;
    margin-right: 34px
}

.expertises__list-svg {
    margin-left: auto;
    margin-right: 17px
}

.expertises__list-svg-mobile {
    display: none
}

.expertises-section {
    position: relative;
    z-index: 0;
    height: 100vh
}

.expertises-section .main-container {
    height: 100%
}

.expertises-section-mobile-title {
    display: none
}

.expertises-section__textCol {
    padding-right: 4%;
    display: flex;
    flex-flow: column nowrap;
    position: relative;
    z-index: 1;
    padding-top: 90px;
    padding-bottom: 50px;
    min-height: 100%
}

@media (min-width: 1024px) {
    .expertises-section__textCol {
        width: 58.3333333333%
    }
}

@media (max-width: 1023px) {
    .expertises-section__textCol {
        padding-top: 30px;
        padding-bottom: 60px
    }
}

.expertises-section__content {
    display: flex;
    justify-content: space-between;
    gap: 20px
}

.expertises-section__content-col {
    width: 33.33%
}

.expertises-section__content .suptitle {
    margin-bottom: 12px
}

.expertises-section__title {
    margin-bottom: 90px;
    font-size: max(4rem, 10000vw / var(--default-w))
}

.expertises-section__services {
    display: block;
    margin-bottom: 90px
}

.expertises-section__services li {
    display: inline-block;
    width: 100%;
    font-size: 1.5rem
}

.expertises-section__services p {
    margin-bottom: .3rem
}

.expertises-section__services a {
    color: inherit;
    display: inline-block
}

.expertises-section__services a:after {
    content: "";
    display: block;
    height: 1px;
    background-color: currentcolor;
    transform-origin: left;
    transform: scaleX(1);
    transition: transform .7s cubic-bezier(.16, 1, .3, 1)
}

.expertises-section__services a:hover:after {
    transform-origin: right;
    transform: scaleX(0)
}

.expertises-section__controls {
    margin-top: auto;
    display: flex;
    align-items: center
}

.expertises-section__button {
    margin-right: 55px;
    margin-bottom: 0 !important
}

.expertises-section__corner {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: calc(41.6666666667% - 20px);
    background: rgba(255, 255, 255, .5);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    padding: 30px
}

.expertises__h {
    position: relative;
    z-index: 0
}

@media (min-width: 1024px) {
    .expertises__h {
        min-height: 100vh;
        height: var(--height)
    }
}

.expertises__h-suptitle {
    width: 100%
}

@media (min-width: 1024px) {
    .expertises__h-suptitle {
        width: 33%
    }
}

@media (min-width: 1024px) {
    .expertises__image-wrapper {
        position: absolute;
        top: 0;
        bottom: -1px;
        left: 0;
        width: 100%;
        overflow: hidden
    }
}

@media (min-width: 1024px) {
    .expertises__image {
        position: absolute;
        top: 0;
        bottom: -1px;
        left: 0;
        width: 100%;
        transform: translate(25%)
    }
}

@media (max-width: 1023px) {
    .expertises__image {
        background-color: #fff;
        transform: none !important
    }
}

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

.expertises .transition-overlay__slice {
    width: 58.3333333333%
}

.expertises__pre-footer {
    width: 100%;
    height: 780px;
    position: relative;
    padding-block: 90px
}

.expertises__pre-footer .main-container {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column
}

.expertises__pre-footer .h1 {
    color: #fff;
    margin-bottom: 100px
}

.expertises__pre-footer .h1 span {
    display: block
}

.expertises__pre-footer .h1 span:nth-child(2) {
    margin-left: 3.05em
}

.expertises__pre-footer .h5 {
    width: 400px;
    max-width: 90%;
    color: #fff
}

.expertises__pre-footer-btn {
    font-size: max(1.5rem, 1500vw / var(--default-w));
    background-color: #fff;
    color: #242733;
    display: inline-block;
    border-radius: 50px;
    padding: 12px 22px;
    margin-top: auto;
    margin-left: auto
}

@media (max-width: 1023px) {
    .expertises .transition-overlay {
        display: none
    }

    .expertises .agency-intro,
    .expertises__subtitle {
        background-color: #fff
    }

    .expertises__list {
        display: block;
        padding-inline: 0;
        padding-bottom: 0;
        background-color: #fff
    }

    .expertises__list-col1 {
        padding-inline: 10px;
        width: 100%;
        margin-bottom: 0;
        padding-bottom: 20px
    }

    .expertises__list-col2 {
        width: 100%;
        display: none
    }

    .expertises__list-item:first-child {
        padding-top: 25px;
        border-top: 1px solid currentcolor
    }

    .expertises__list-item:last-child {
        border-bottom: 1px solid currentcolor
    }

    .expertises__list-number {
        margin-left: 30px;
        margin-right: 20px
    }

    .expertises__list-svg {
        display: block;
        margin-left: auto;
        margin-right: 10px
    }

    .expertises__list-svg-secondary {
        display: none;
        margin-left: auto;
        margin-right: 10px
    }

    .expanded .expertises__list-svg-secondary {
        display: block
    }

    .expanded .expertises__list-svg {
        display: none
    }

    .expertises-section {
        background-color: #fff;
        display: flex;
        flex-direction: column-reverse;
        height: auto;
        height: 0;
        overflow: hidden;
        transition: .3s height ease
    }

    .expertises-section-mobile-title {
        display: flex;
        align-items: center;
        background-color: #fff;
        padding-block: 15px;
        border-top: 1px solid currentcolor;
        cursor: pointer
    }

    .expertises-section-mobile-title span {
        margin-left: 10px
    }

    .expertises-section__textCol {
        padding-bottom: 35px
    }

    .expertises-section__title {
        display: none
    }

    .expertises-section__services {
        margin-bottom: 35px
    }

    .expertises-section__controls {
        margin-top: 40px
    }

    .expertises-section__corner {
        left: 10px;
        right: auto;
        width: calc(100% - 20px);
        padding: 15px
    }

    .expertises__pre-footer {
        height: auto;
        padding-top: 35px;
        padding-bottom: 20px
    }

    .expertises__pre-footer .h1 {
        margin-bottom: 80px
    }

    .expertises__pre-footer-btn {
        margin-top: 130px
    }
}

@media (max-width: 766px) {
    .expertises__list-col1 {
        padding-inline: 10px
    }

    .expertises__list-item {
        padding-block: 15px
    }

    .expertises__list-item:first-child {
        padding-top: 15px
    }

    .expertises__list-number {
        margin-left: 10px
    }

    .expertises__list-svg-mobile {
        margin-right: 10px
    }
}

@media (max-width: 620px) {
    .expertises-section__content {
        flex-wrap: wrap
    }

    .expertises-section__content-col {
        width: calc(50% - 20px)
    }

    .expertises-section__content-col.empty {
        display: none
    }

    .expertises-section__services {
        margin-bottom: 0
    }

    .expertises__pre-footer .h1 span:nth-child(2) {
        margin-left: 20%
    }
}

.contact-screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden
}

.contact-screen.is--hidden {
    display: none !important
}

.contact__mainTitle>div {
    overflow: hidden;
    line-height: 1.2
}

.contact__mainTitle span {
    display: block
}

.contact__container {
    position: relative;
    min-height: 100vh
}

@media (min-width: 768px) {
    .contact__container {
        padding-top: 110px
    }
}

.contact__background {
    --bg-position: 0;
    --bg-center-position: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    min-height: 100vh;
    overflow: hidden
}

.contact__background-inner {
    background-color: #f0f1f5;
    position: absolute;
    top: var(--bg-center-position);
    left: 26.875vw;
    height: 100%;
    width: 46.25vw
}

@media (max-width: 767px) {
    .contact__background-inner {
        display: none
    }
}

.contact__background:before,
.contact__background:after {
    content: "";
    display: block;
    background-color: #f0f1f5;
    position: absolute;
    top: var(--bg-position);
    width: calc((53.75vw + 1px)/2)
}

@media (max-width: 767px) {

    .contact__background:before,
    .contact__background:after {
        display: none
    }
}

.contact__background:before {
    left: 0;
    height: 80vh
}

@media (max-width: 1024px) {
    .contact__background:before {
        height: 90vh
    }
}

@media (max-width: 767px) {
    .contact__background:before {
        width: 50vw;
        height: 92vh
    }
}

.contact__background:after {
    right: 0;
    height: 55vh
}

@media (max-width: 767px) {
    .contact__background:after {
        width: 50vw;
        height: 85vh
    }
}

@media (max-height: 880px) and (min-width: 1024px) {
    .contact__background:after {
        height: 33vh
    }
}

@media (max-height: 880px) and (max-width: 1024px) {
    .contact__background:after {
        height: 45vh
    }
}

.contact__formie-wrapper {
    position: relative;
    --left-bg-position: 0;
    --right-bg-position: 0
}

@media (max-width: 767px) {
    .contact__formie-wrapper {
        padding-top: 150px;
        padding-bottom: 150px;
        min-height: 100vh;
        display: flex;
        flex-flow: column wrap;
        justify-content: center
    }
}

.contact__formie-wrapper:before,
.contact__formie-wrapper:after {
    content: "";
    display: block;
    background-color: #f0f1f5;
    position: absolute;
    width: 51%
}

@media (min-width: 768px) {

    .contact__formie-wrapper:before,
    .contact__formie-wrapper:after {
        display: none
    }
}

.contact__formie-wrapper:before {
    top: var(--left-bg-position);
    left: 0;
    height: 87%
}

.contact__formie-wrapper:after {
    top: var(--right-bg-position);
    right: 0;
    height: 80%;
    z-index: -1
}

.contact .button {
    margin-bottom: 40px
}

.contact-info {
    --scale-y: 1
}

@media (min-width: 768px) {
    .contact-info {
        position: fixed;
        right: calc((53.75vw + 1px)/4);
        bottom: 15%;
        overflow: hidden;
        transform: translate(50%) scaleY(var(--scale-y));
        transform-origin: top
    }
}

@media (max-width: 767px) {
    .contact-info {
        background-color: #f0f1f5;
        padding-top: 80px;
        padding-bottom: 80px
    }
}

.contact-info__inner {
    transform: scaleY(calc(1 / var(--scale-y)));
    transform-origin: top
}

@media (max-width: 767px) {
    .contact-info__inner {
        padding-inline: calc(800vw / var(--mobile-w))
    }
}

.contact-info__box,
.contact-info__box a {
    display: block;
    color: #fff;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.2rem, 1200vw / var(--default-w));
    line-height: 1.5;
    margin-bottom: 0
}

@media (max-width: 767px) {

    .contact-info__box,
    .contact-info__box a {
        color: #242733
    }
}

.contact-info__box a {
    display: inline-block;
    color: #fff;
    text-transform: none;
    margin-bottom: 3px
}

@media (max-width: 767px) {
    .contact-info__box a {
        color: #242733;
        font-size: 1.4rem;
        text-transform: uppercase
    }
}

.contact-info__box:not(:last-child) {
    margin-bottom: 25px
}

.contact-info__box address {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.4rem, 1400vw / var(--default-w));
    line-height: 1.5;
    margin-bottom: 0;
    text-transform: uppercase;
    max-width: calc(17000vw / var(--default-w))
}

@media (max-width: 767px) {
    .contact-info__box address {
        text-align: center;
        max-width: 230px;
        margin-inline: auto
    }
}

@media (max-width: 767px) {
    .contact-info__address:not(:last-child) {
        margin-bottom: 60px
    }
}

@media (max-width: 767px) {
    .contact-info__contact {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center
    }

    .contact-info__contact>div:first-child {
        order: 2
    }

    .contact-info__contact>div:last-child {
        order: 1
    }
}

@media (max-width: 767px) {
    .contact-info__social {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;
        border-top: 1px solid #242733;
        padding-top: 25px
    }
}

.js-form {
    opacity: 0
}

#contact-content .fui-form {
    display: block !important
}

@media (max-width: 767px) {
    #contact-content .fui-form {
        width: 100%
    }
}

#contact-content .fui-i,
#contact-content .form-step {
    width: 100%;
    display: flex;
    flex-flow: column wrap;
    align-items: center
}

@media (max-width: 1024px) {

    #contact-content .fui-i,
    #contact-content .form-step {
        width: 66.6666666667%
    }
}

@media (min-width: 768px) {

    #contact-content .fui-i,
    #contact-content .form-step {
        justify-content: center;
        min-height: calc(100vh - 110px)
    }
}

@media (max-width: 767px) {

    #contact-content .fui-i,
    #contact-content .form-step {
        width: 100%
    }
}

#contact-content .fui-page-container,
#contact-content .form-wrapper {
    width: 100%;
    padding-bottom: 30px;
    margin-inline: auto
}

@media (min-width: 768px) {

    #contact-content .fui-page-container,
    #contact-content .form-wrapper {
        max-width: max(350px, 44000vw / var(--default-w))
    }
}

@media (max-width: 767px) {

    #contact-content .fui-page-container,
    #contact-content .form-wrapper {
        padding-inline: calc(800vw / var(--mobile-w))
    }
}

#contact-content .fui-page-container.confirm-message,
#contact-content .form-wrapper.confirm-message {
    max-width: 610px;
    text-align: center
}

#contact-content .fui-page-container .medium-title,
#contact-content .form-wrapper .medium-title {
    margin-bottom: 60px
}

#contact-content .fui-heading {
    margin-top: 35px;
    margin-bottom: 0;
    text-align: center
}

@media (max-width: 767px) {
    #contact-content .fui-heading {
        font-size: 2.2rem
    }
}

#contact-content .fui-heading.fui-heading-h3 {
    font-size: max(2rem, 2200vw / var(--default-w))
}

@media (max-width: 767px) {
    #contact-content .fui-heading.fui-heading-h3 {
        font-size: 1.6rem
    }
}

#contact-content .fui-form-container {
    padding-bottom: 100px
}

#contact-content .fui-title {
    position: relative;
    padding-inline: var(--fui-field-gutter)
}

#contact-content .fui-row:first-child .fui-heading {
    margin-top: 0
}

#contact-content .fui-input-container {
    text-align: center
}

#contact-content .fui-input-container:has(input[accept*=pdf]) .file-field__file img {
    display: none
}

#contact-content .fui-field {
    width: 100%;
    flex: auto
}

#contact-content .fui-field:not(.fui-type-hidden-field) {
    margin-bottom: max(25px, 2500vw / var(--default-w))
}

#contact-content .fui-field:not(.fui-type-hidden-field) .fui-field {
    margin-bottom: 0
}

#contact-content .fui-field.success-text,
#contact-content .fui-layout-wrap {
    text-align: center
}

#contact-content label {
    display: block;
    color: #242733;
    font-family: Sohne, sans-serif;
    font-weight: 400;
    font-size: max(1.2rem, 1200vw / var(--default-w));
    line-height: 1.1;
    margin-bottom: 0
}

#contact-content .fui-input .fui-error,
#contact-content .fui-select .fui-error {
    border-color: var(--fui-input-error-color)
}

#contact-content .fui-error-message {
    font-size: max(1.2rem, 1200vw / var(--default-w));
    color: var(--fui-input-error-color);
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateY(130%)
}

#contact-content .fui-btn {
    padding-top: max(12px, 1200vw / var(--default-w));
    padding-bottom: max(12px, 1200vw / var(--default-w));
    background: none !important;
    border: 0
}

#contact-content .fui-btn-wrapper {
    justify-content: center;
    text-align: center
}

#contact-content .fui-btn-wrapper .fui-btn {
    margin: 0 15px
}

#contact-content .fui-legend {
    display: none
}

#contact-content .fui-submit:focus {
    box-shadow: none
}

#contact-content .fui-alert {
    position: relative;
    font-size: max(1.3rem, 1300vw / var(--default-w))
}

#contact-content .fui-alert.fui-alert-success {
    display: none
}

#contact-content .contact__full-screen {
    height: 100vh;
    padding: 160px 30px 110px;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    text-align: center
}

#contact-content .contact__full-screen .big-title {
    font-size: max(3rem, 14000vw / var(--default-w))
}

#contact-content .contact__end-screen .big-title {
    margin-top: 5vw;
    margin-bottom: 20px;
    max-width: 100%
}

#contact-content .contact__end-screen .text-center {
    max-width: 100%
}

#contact-content .contact__end-screen .button-wrapper {
    margin-top: 5vw
}

#contact-content .fui-page {
    position: relative;
    opacity: 1;
    visibility: visible;
    top: 0;
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1), top 1s cubic-bezier(.16, 1, .3, 1)
}

#contact-content [data-fui-page-hidden] {
    display: block;
    position: absolute;
    top: -100vh;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s cubic-bezier(.16, 1, .3, 1), top 1s cubic-bezier(.16, 1, .3, 1) 2.5s
}

.toolbox__container {
    background-color: #f0f1f5;
    padding-top: 100px
}

@media (max-width: 767px) {
    .toolbox__container {
        padding-top: 70px
    }
}

.toolbox__heading {
    padding-top: 110px;
    padding-bottom: 100px
}

.toolbox__heading:not(.no-border) {
    border-bottom: 1px solid #d2d2d2
}

@media (min-width: 768px) {
    .toolbox__heading {
        text-align: center
    }
}

@media (max-width: 767px) {
    .toolbox__heading {
        padding-top: 70px;
        padding-bottom: 40px
    }
}

@media (min-width: 768px) {
    .toolbox__heading-container {
        max-width: 85%
    }
}

.toolbox__content {
    padding-bottom: 100px
}

@media (min-width: 768px) {
    .toolbox__content {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        grid-template-rows: 1fr;
        grid-column-gap: 4px
    }
}

@media (min-width: 1025px) {
    .toolbox__content {
        padding-top: 50px
    }
}

@media (max-width: 767px) {
    .toolbox__content {
        padding-top: 0;
        padding-bottom: 60px
    }
}

.toolbox__suptitle {
    font-size: 1.2rem;
    line-height: 1.3;
    margin-top: 5px
}

@media (min-width: 768px) {
    .toolbox__suptitle-wrapper {
        grid-column: 2/11
    }
}

@media (min-width: 1025px) {
    .toolbox__suptitle-wrapper {
        grid-column: 1/4
    }
}

@media (max-width: 1024px) {
    .toolbox__suptitle-wrapper {
        padding-top: 50px
    }
}

@media (max-width: 767px) {
    .toolbox__suptitle-wrapper {
        padding-top: 20px
    }
}

@media (min-width: 768px) {
    .toolbox__text {
        grid-column: 2/11
    }
}

@media (min-width: 1025px) {
    .toolbox__text {
        grid-column: 4/10
    }
}

@media (max-width: 1024px) {
    .toolbox__text {
        padding-top: 50px
    }
}

.toolbox .footer {
    background-color: #fff
}

.culture {
    overflow-x: hidden
}

:root {
    --default-w: 1440;
    --mobile-w: 375
}

.page-404 .main-wrapper {
    min-height: 100svh;
    box-sizing: border-box;
    padding-top: 110px;
    padding-bottom: 55px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.page-404__svg-container {
    position: relative;
    width: max(815px, 81500vw / var(--default-w))
}

.page-404__text {
    color: #fff;
    font-family: Sohne, sans-serif;
    text-transform: uppercase;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max(105px, 10500vw / var(--default-w));
    text-align: center;
    font-size: max(14px, 1400vw / var(--default-w))
}

.page-404 svg {
    width: 100%;
    height: auto;
    display: block
}

.page-404__cta {
    text-align: center;
    margin-top: calc(4000vw / var(--default-w))
}

.page-404__cta .line-wrapper {
    display: inline-block
}

@media (max-width: 850px) {
    .page-404__svg-container {
        width: 100%
    }

    .page-404__text {
        position: relative;
        top: auto;
        left: auto;
        width: auto;
        transform: none;
        margin-top: min(30px, 3000vw / var(--mobile-w));
        margin-bottom: min(60px, 6000vw / var(--mobile-w))
    }
}

.pages-custom .section {
    background-color: #f0f1f5
}

.pages-custom .dynamic:first-child>div:first-child {
    padding-top: max(150px, 18000vw / var(--default-w))
}

.pages-custom .logosGrid .logo-grid__container {
    margin-top: 0
}

.pages-custom .agency-intro__image {
    margin-bottom: 0
}

horizontal-parallax {
    position: relative;
    overflow: hidden;
    display: block
}

horizontal-parallax {
    width: 100%;
    height: 100%
}

horizontal-parallax div {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

@font-face {
    font-family: swiper-icons;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    -ms-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    -ms-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    -ms-scroll-snap-type: none;
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-start: var(--swiper-centered-offset-before);
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    -webkit-margin-before: var(--swiper-centered-offset-before);
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.keen-slider:not([data-keen-slider-disabled]) {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    align-content: flex-start;
    display: flex;
    overflow: hidden;
    position: relative;
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -khtml-user-select: none;
    width: 100%
}

.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
    min-height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse] {
    flex-direction: row-reverse
}

.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v] {
    flex-wrap: wrap
}