@font-face {
  font-family: PP Neue Montreal;
  src: url('../fonts/ppneuemontreal-medium.woff2') format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: PP Neue Montreal;
  src: url('../fonts/ppneuemontreal-semibold.woff2') format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: PP Neue Montreal;
  src: url('../fonts/ppneuemontreal-regular.woff2') format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: PP Neue Corp Wide;
  src: url('../fonts/ppneuecorp-wideultrabold.woff2') format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-neutral-300: #e3e1de;
  --color-dark: var(--color-neutral-800);
  --color-black: var(--color-neutral-900);
  --color-light: var(--color-neutral-200);
  --color-primary: #ff4c24;
  --color-neutral-200: #efeeec;
  --color-neutral-400: #cbc8c5;
  --color-error: var(--color-primary);
  --color-neutral-100: white;
  --color-neutral-500: #818180;
  --color-neutral-600: #2c2c2c;
  --color-neutral-700: #1f1f1f;
  --color-neutral-800: #131313;
  --color-neutral-900: black;
  --color-white: var(--color-neutral-100);
  --color-success: #0ba954;
}

body {
  color: #333;
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

a {
  color: inherit;
  text-decoration: underline;
}

.body {
  background-color: var(--color-neutral-300);
  color: var(--color-dark);
  margin: 0;
  padding: 0;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-weight: 500;
  line-height: 1;
}

.body.is--dark {
  background-color: var(--color-black);
  color: var(--color-light);
}

.body.is--dark.is--cursor.is--orange {
  color: var(--color-primary);
}

.body.is--cursor.is--dark {
  color: #efeeec;
}

.code-embed-css, .code-embed-osmo, .code-embed-js {
  pointer-events: none;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.osmo-ui {
  z-index: 100;
  pointer-events: none;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
  position: fixed;
  inset: 0;
}

.nav-row {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.nav-logo-row {
  pointer-events: auto;
  justify-content: space-between;
  align-items: center;
  width: 13em;
  display: flex;
}

.nav-logo__wordmark {
  width: 4em;
}

.nav-logo__icon {
  width: 1.5em;
  height: 1.5em;
}

.container {
  z-index: 1;
  max-width: var(--size-container);
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.container.is--full {
  max-width: 100%;
}

.nav-row__right {
  grid-column-gap: .625rem;
  grid-row-gap: .625rem;
  pointer-events: auto;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.header {
  padding-top: var(--gap);
  position: relative;
}

.website-link {
  white-space: nowrap;
  text-decoration: none;
  position: relative;
}

.website-link.is--alt {
  grid-column-gap: .25em;
  grid-row-gap: .25em;
  justify-content: flex-start;
  align-items: center;
  height: 1.5em;
  display: flex;
}

.inline-link__p {
  margin-bottom: 0;
}

.website-link__arrow-svg {
  width: 1em;
  margin-top: .2em;
}

.website-link__arrow-svg.is--duplicate {
  position: absolute;
  right: 100%;
}

.website-link__arrow {
  position: relative;
  overflow: hidden;
}

.cloneable {
  padding: var(--section-padding) var(--container-padding);
  justify-content: center;
  align-items: center;
  min-height: 200svh;
  display: flex;
  position: relative;
}

.footer {
  padding-bottom: var(--gap);
  position: relative;
}

.footer-row {
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.cloneable-title {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  pointer-events: auto;
  display: flex;
  position: relative;
}

.cloneable-title__nr {
  opacity: 1;
  white-space: nowrap;
  margin-bottom: 0;
  font-size: 1em;
  font-weight: 500;
}

.cloneable-title__h1 {
  white-space: nowrap;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1em;
  font-weight: 500;
  line-height: 1;
}

.clone-in-webflow {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  background-color: var(--color-light);
  pointer-events: auto;
  border-radius: .25em;
  justify-content: space-between;
  align-items: center;
  width: 21.25em;
  height: 2.875em;
  margin-bottom: -1em;
  margin-right: -1em;
  padding-left: 1em;
  padding-right: .75em;
  text-decoration: none;
  display: flex;
}

.clone-in-webflow__p {
  margin-bottom: 0;
  font-size: 1em;
}

.webflow-logo-svg {
  flex-shrink: 0;
  width: 1.5em;
}

.cloneable-title__gradient {
  background-image: linear-gradient(270deg, var(--color-neutral-200), transparent);
  width: 1em;
  height: 100%;
  display: none;
  position: absolute;
  top: 0;
  right: 0;
}

.osmo-ui__bg {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--color-neutral-400);
  background-color: var(--color-neutral-300);
  height: calc(100% + 1px + (var(--gap) * .5));
  width: 100%;
  display: none;
  position: absolute;
  bottom: 0;
}

.osmo-ui__bg.is--header {
  border-top-style: none;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: var(--color-neutral-400);
  height: calc(100% + 1px + var(--gap));
  top: 0;
  bottom: auto;
}

.osmo-icon-svg {
  width: 8em;
  position: relative;
}

.parallax__header {
  z-index: 2;
  padding: var(--section-padding) var(--container-padding);
  justify-content: center;
  align-items: center;
  min-height: 100svh;
  display: flex;
  position: relative;
}

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

.parallax__content {
  padding: var(--section-padding) var(--container-padding);
  flex-flow: column;
  justify-content: space-around;
  align-items: center;
  min-height: 150vh;
  display: flex;
  position: relative;
}

.cover {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax__visuals {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 120%;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax__placeholder {
  z-index: 0;
  opacity: 0;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax__layers {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.cover-copy {
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax__fade {
  z-index: 30;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 20%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.parallax__black-line-overflow {
  z-index: 20;
  background-color: var(--color-black);
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.parallax__title {
  pointer-events: auto;
  text-align: center;
  text-transform: none;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: .075em;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 8em;
  font-weight: 800;
  line-height: 1;
  position: relative;
  overflow: hidden;
}

.parallax__radial-gradient {
  z-index: 10;
  background-image: radial-gradient(circle farthest-corner at 50% 50%, transparent, var(--color-black));
  opacity: .5;
  pointer-events: none;
  mix-blend-mode: multiply;
  position: fixed;
  inset: 0;
}

.parallax__layer-title {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100svh;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.parallax__layer-img {
  pointer-events: none;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 117.5%;
  position: absolute;
  top: -17.5%;
  left: 0;
}

.parallax__layer-img.is-third {
  top: -20%;
}

.parallax__layer-img._3 {
  height: 74%;
  inset: auto 0% 0%;
}

.div-block {
  margin-bottom: 268px;
  padding-bottom: 0;
  overflow: hidden;
}

.button-arrow {
  flex: none;
  width: 1em;
  height: .75em;
}

.button-arrow.next {
  transform: rotate(180deg);
}

.slider-slide {
  flex: none;
  width: 42.5em;
  height: 28em;
  padding-left: 1.25em;
  padding-right: 1.25em;
  transition: opacity .4s;
  position: relative;
}

.slide-caption {
  z-index: 2;
  grid-column-gap: .4em;
  grid-row-gap: .4em;
  color: #131313;
  white-space: nowrap;
  background-color: #efeeec;
  border-radius: .25em;
  justify-content: flex-start;
  align-items: center;
  padding: .4em .75em .4em .5em;
  display: flex;
  position: static;
  top: 1.25em;
  left: 1.25em;
  overflow: hidden;
}

.slide-caption._2 {
  left: 8.05em;
}

.count-column {
  height: 1em;
  overflow: hidden;
}

.caption {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1em;
}

.overlay-corner {
  border-top: 1px solid #efeeec;
  border-left: 1px solid #efeeec;
  border-top-left-radius: .4em;
  width: 1em;
  height: 1em;
}

.overlay-corner.bottom-right {
  position: absolute;
  inset: auto 0% 0% auto;
  transform: rotate(180deg);
}

.overlay-corner.bottom-left {
  position: absolute;
  inset: auto auto 0% 0%;
  transform: rotate(-90deg);
}

.overlay-corner.top-right {
  position: absolute;
  inset: 0% 0% auto auto;
  transform: rotate(90deg);
}

.overlay-nav-row {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  display: flex;
}

.overlay {
  z-index: 2;
  color: #fff;
  background-image: linear-gradient(90deg, #000 85%, #0000);
  justify-content: flex-start;
  align-items: center;
  width: 38%;
  height: 100%;
  padding-left: 2em;
  display: flex;
  position: absolute;
  inset: 0% auto 0% 0%;
}

.slide-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.slider-wrap {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.caption-dot {
  background-color: #131313;
  border-radius: 10em;
  flex: none;
  width: .5em;
  height: .5em;
}

.overlay-count-row {
  grid-column-gap: .2em;
  grid-row-gap: .2em;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  font-size: 5.625em;
  font-weight: 700;
  display: flex;
}

.button-overlay {
  z-index: 2;
  position: absolute;
  inset: -1px;
}

.slider {
  flex-flow: row;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
  position: relative;
}

.section-resource {
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  display: flex;
}

.section-resource.is--dark {
  background-color: #000;
}

.main {
  z-index: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 6% 0% 0%;
  overflow: hidden;
}

.slide-inner {
  border-radius: .5em;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.button {
  color: #fff;
  background-color: #0000;
  border: 1px solid #fff3;
  border-radius: .4em;
  justify-content: center;
  align-items: center;
  width: 4em;
  height: 4em;
  padding: 0;
  display: flex;
  position: relative;
}

.count-row-divider {
  background-color: #efeeec;
  width: 2px;
  height: .75em;
  transform: rotate(15deg);
}

.overlay-inner {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  height: 28.125em;
  display: flex;
}

.count-heading {
  width: 2ch;
  margin-top: 0;
  margin-bottom: 0;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1;
}

.div-block-2 {
  justify-content: center;
  align-items: center;
  height: 100vh;
  display: flex;
  position: relative;
  overflow: hidden;
}

.collection-item {
  position: relative;
}

.div-block-3, .div-block-4 {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  display: flex;
  position: absolute;
  top: 1.25em;
  left: 1.25em;
}

.slide-caption-2 {
  z-index: 2;
  grid-column-gap: .4em;
  grid-row-gap: .4em;
  color: #131313;
  white-space: nowrap;
  background-color: #efeeec;
  border-radius: .25em;
  justify-content: flex-start;
  align-items: center;
  padding: .4em .75em .4em .5em;
  display: flex;
  position: static;
  top: 1.25em;
  left: 1.25em;
  overflow: hidden;
}

.slider-list {
  flex-flow: row;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
  position: relative;
}

.count-heading-2 {
  width: 2ch;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1em;
  font-weight: 600;
  line-height: 1;
}

.div-block-5 {
  width: 100%;
  height: 100%;
  display: flex;
}

.div-block-6 {
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  display: flex;
  position: absolute;
  inset: 1.25em auto auto 1.25em;
}

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

.image:hover {
  z-index: 1;
}

.heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 5.8em;
  line-height: 1em;
  position: absolute;
  top: 3em;
}

.marquee-advanced__scroll {
  will-change: transform;
  width: 100%;
  display: flex;
  position: relative;
}

.osmo-icon-svg-2 {
  color: #ff4c24;
  width: 50%;
}

.marquee-advanced__item-width {
  background-color: #131313;
  border-radius: 1vw;
  justify-content: center;
  align-items: center;
  width: 18vw;
  height: 18vw;
  margin: 1vw;
  display: flex;
}

.marquee__advanced__p {
  white-space: nowrap;
  margin-bottom: 0;
  margin-right: .25em;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 1em;
  line-height: 1.3;
}

.section-resource-2 {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  display: flex;
}

.marquee__advanced__arrow-svg {
  color: #ff4c24;
  width: 1em;
  margin-right: 1.2em;
  position: relative;
}

.marquee-advanced__item {
  justify-content: flex-start;
  align-items: center;
  padding-left: 0;
  font-size: max(4em, 8vw);
  display: flex;
}

.marquee-advanced__collection {
  will-change: transform;
  display: flex;
  position: relative;
}

.marquee-advanced {
  width: 100vw;
  position: absolute;
  inset: 0 0% auto;
  overflow: hidden;
}

.marquee-advanced._2 {
  z-index: 1;
  top: 8em;
  left: 33%;
}

.looping-words__selector {
  pointer-events: none;
  width: 100%;
  height: .7em;
  line-height: .8em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.looping-words__edge {
  border-top: .035em solid #ff4c24;
  border-left: .035em solid #ff4c24;
  width: .125em;
  height: .125em;
  position: absolute;
  top: 0;
  left: 0;
}

.looping-words__edge.is--2 {
  left: auto;
  right: 0;
  transform: rotate(90deg);
}

.looping-words__edge.is--3 {
  inset: auto 0 0 auto;
  transform: rotate(180deg);
}

.looping-words__edge.is--4 {
  top: auto;
  bottom: 0;
  transform: rotate(270deg);
}

.looping-words {
  height: 2.7em;
  padding-left: .1em;
  padding-right: .1em;
  font-size: 10em;
  font-weight: 700;
  line-height: .9;
  position: relative;
}

.looping-words__containers {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.looping-words__list {
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  font-size: .8em;
  line-height: .8;
  list-style: none;
  display: flex;
  position: relative;
}

.looping-words__p {
  margin-bottom: 0;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: .85em;
  line-height: 1.6;
}

.looping-words__p.appolon {
  padding-top: 0;
  font-size: .6em;
  line-height: 1.2;
}

.looping-words__p.metro-metro {
  font-size: .7em;
  line-height: 1.3;
}

.looping-words__fade {
  pointer-events: none;
  background-image: linear-gradient(#000 5%, #ff8e8e00 40%, #0000 60%, #000 95%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.div-block-7 {
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.btn-animate-chars {
  color: #131313;
  cursor: pointer;
  border-radius: .25em;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  max-width: 12em;
  padding: 1em;
  font-size: 1em;
  line-height: 1;
  text-decoration: none;
  display: flex;
  position: relative;
}

.btn-animate-chars__bg {
  color: #fff;
  background-color: #ff4b24;
  border-radius: .25em;
  position: absolute;
  inset: 0;
}

.btn-animate-chars__bg._2 {
  background-color: #000;
}

.btn-animate-chars__text {
  color: #fff;
  white-space: nowrap;
  font-family: PP Neue Corp Wide, sans-serif;
  line-height: 1.3;
  position: relative;
}

.background-video {
  width: 350px;
  height: 200px;
  margin-top: 0;
  padding-top: 0;
  position: relative;
  inset: auto;
}

.heading-2 {
  z-index: 2;
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 6.5em;
  position: absolute;
  inset: -13% 0% auto;
}

.div-block-8 {
  justify-content: center;
  align-items: center;
  height: auto;
  padding-top: 50vh;
  padding-bottom: 25vh;
  display: flex;
}

.paragraph {
  text-align: center;
  width: 60%;
  margin-bottom: 0;
  font-size: 1.3em;
  font-weight: 500;
}

.div-block-9 {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.btn-animate-chars__bg-2 {
  background-color: #efeeec;
  border-radius: .25em;
  position: absolute;
  inset: 0;
}

.btn-animate-chars__text-2 {
  white-space: nowrap;
  line-height: 1.3;
}

.div-block-10 {
  height: 10%;
  position: absolute;
  inset: auto 0% -18%;
}

.btn-wrap {
  width: 1em;
  height: 1em;
  position: absolute;
}

.div-block-11 {
  justify-content: center;
  align-items: center;
  margin-top: 100px;
  display: flex;
}

.div-block-12 {
  background-image: linear-gradient(#000, #99431d);
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  height: auto;
  display: flex;
  position: relative;
}

.image-2 {
  z-index: 9;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: auto 0% 0%;
}

.image-3 {
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.div-block-13 {
  z-index: 2;
  background-image: linear-gradient(#000 22%, #fff0);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: auto 0% 0%;
}

.div-block-14 {
  flex-flow: column;
  justify-content: space-between;
  width: 50%;
  height: 100%;
  line-height: 1;
  display: flex;
}

.div-block-15 {
  width: 50%;
  height: 100%;
}

.image-4 {
  z-index: 9;
  position: relative;
}

.heading-3 {
  z-index: 3;
  margin-top: 0;
  margin-bottom: 0;
  padding: 20px;
  font-family: PP Neue Corp Wide, sans-serif;
  font-weight: 600;
  position: relative;
}

.paragraph-2 {
  z-index: 2;
  padding: 0 20px;
  font-weight: 500;
  position: relative;
}

.heading-4 {
  z-index: 3;
  text-align: right;
  margin-top: 0;
  margin-bottom: 0;
  padding: 20px;
  font-family: PP Neue Corp Wide, sans-serif;
  font-weight: 600;
  position: relative;
}

.paragraph-3 {
  z-index: 3;
  text-align: right;
  margin-bottom: 0;
  padding: 0 20px;
  font-weight: 500;
  position: relative;
}

.div-block-16 {
  z-index: 4;
  background-image: linear-gradient(#0000, #e8652c);
  width: 100%;
  height: 20vh;
  position: absolute;
  inset: auto 0% 0%;
}

.div-block-17 {
  background-image: linear-gradient(180deg, var(--color-primary), var(--color-dark));
  height: auto;
  padding-top: 10vh;
}

.div-block-18 {
  background-color: #e8652c;
}

.demo-card__visual-before {
  padding-top: 66%;
}

.filter-group {
  min-height: 100vh;
  padding-bottom: 10em;
}

.demo-card__visual {
  aspect-ratio: 1;
  object-fit: fill;
  object-position: 50% 50%;
  background-color: #e2dfdf;
  border-radius: .5em;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.demo-card__bottom {
  justify-content: flex-start;
  align-items: center;
  padding-bottom: .25em;
  padding-left: .5em;
  padding-right: .5em;
  display: flex;
}

.demo-card__emoji {
  font-size: 4em;
}

.demo-card__h3 {
  color: #000;
  margin-top: 0;
  margin-bottom: 0;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: 1.25em;
  font-weight: 800;
  line-height: 1;
}

.filter-list__item {
  width: 25%;
  padding: .75em;
}

.filter-list {
  flex-flow: wrap;
  width: 100%;
  display: flex;
}

.filter-buttons {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: wrap;
  justify-content: flex-start;
  padding: 1em 1em 3em;
  display: flex;
}

.filter-btn {
  color: #000;
  -webkit-appearance: none;
  appearance: none;
  background-color: #efeeec;
  border-radius: .3em;
  padding: .45em .65em .45em .6em;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: 1.5em;
  font-weight: 400;
}

.demo-card {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  background-color: #efeeec;
  border-radius: .328125em;
  flex-flow: column;
  width: 100%;
  height: 100%;
  padding: 1em;
  display: flex;
}

.div-block-19 {
  z-index: 10;
  background-image: linear-gradient(#7c594900, #e8652c 48%, #e8652c00);
  margin-top: -26px;
  margin-bottom: -19px;
  position: relative;
}

.div-block-20 {
  z-index: 9;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  inset: auto 0% 0%;
}

.image-5 {
  object-fit: cover;
  object-position: 50% 100%;
  width: 100%;
  height: 100%;
}

.div-block-21 {
  background-image: linear-gradient(#000, #f16c34);
  width: 100%;
  height: 20vh;
}

.footer-subscribe {
  background-color: #0000;
  background-image: none;
  background-position: 0 0;
  background-size: auto;
  border-bottom: 1px solid #e4ebf3;
  padding: 50px 30px 40px;
  position: relative;
}

.container-2 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.footer-form-two {
  background-color: #f5f7fa00;
  margin-bottom: 40px;
  padding: 64px;
}

.footer-form-container-two {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-form-title {
  color: #fff;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 24px;
  line-height: 32px;
}

.footer-form-block-two {
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: relative;
}

.footer-form-input {
  border: 1px #000;
  border-radius: .25em;
  width: 460px;
  height: 48px;
  margin-bottom: 0;
  padding: 12px 180px 12px 20px;
}

.footer-form-input::placeholder {
  color: #1a1b1fcc;
}

.button-primary {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #1a1b1f;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  transition: all .2s;
}

.button-primary:hover {
  color: #fff;
  background-color: #32343a;
}

.button-primary:active {
  background-color: #43464d;
}

.button-primary.footer-form-button {
  background-color: var(--color-error);
  border-radius: .25em;
  padding: 8px 18px;
  position: absolute;
  right: 8px;
}

.footer-wrapper-three {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-block-three {
  justify-content: flex-start;
  align-items: center;
  margin-left: -20px;
  margin-right: -20px;
  display: flex;
}

.footer-link-three {
  color: #fff;
  margin-left: 20px;
  margin-right: 20px;
  text-decoration: none;
}

.footer-link-three:hover {
  color: #1a1b1fbf;
}

.footer-social-block-three {
  justify-content: flex-start;
  align-items: center;
  margin-left: -32px;
  display: flex;
}

.footer-social-link-three {
  margin-left: 32px;
}

.footer-divider-two {
  background-color: #e4ebf3;
  width: 100%;
  height: 1px;
  margin-top: 40px;
  margin-bottom: 40px;
}

.footer-bottom {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer-copyright {
  color: #fff;
}

.footer-legal-block {
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-legal-link {
  color: #fff;
  margin-left: 24px;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-weight: 600;
}

.footer-legal-link:hover {
  color: var(--color-primary);
}

.image-6, .image-7, .image-8, .image-9 {
  background-color: var(--color-error);
  border-radius: 2px;
}

.body-2 {
  background-color: #000;
}

.heading-5 {
  color: #fff;
  text-align: center;
  margin-top: 0;
  padding-top: 100px;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 3em;
  font-weight: 800;
}

.content-item__nr {
  color: #fff;
  background-color: #ff5200;
  border: 1px solid #131313;
  border-radius: 100em;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  margin-top: .2em;
  font-size: .75em;
  font-weight: 400;
  transition: transform .4s cubic-bezier(.625, .05, 0, 1);
  display: flex;
}

.tab-content__wrap {
  width: 100%;
  max-width: 36em;
  height: 100%;
  margin-left: auto;
  margin-right: 0;
}

.content-item__heading {
  color: #fff;
  margin-top: 0;
  margin-bottom: 0;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 2em;
  font-weight: 800;
  line-height: 1;
}

.tab-content__item-main {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.tab-visual__item {
  visibility: hidden;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.tab-visual__item.active {
  visibility: visible;
}

.tab-visual__wrap {
  aspect-ratio: 1.6;
  height: 50em;
  position: relative;
}

.tab-content__inner {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 100%;
  padding-top: 1em;
  padding-bottom: 0;
  padding-right: 2.5em;
  display: flex;
}

.tab-content__bottom {
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  max-width: 30em;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  display: flex;
}

.tab-content__item-bottom {
  background-color: #0003;
  width: 100%;
  height: 1px;
  transition: background-color .2s;
  position: absolute;
  inset: auto 0% 0%;
}

.tab-description__spacer {
  padding-top: 1em;
}

.tab-layout__col {
  width: 50%;
  padding-left: .5em;
  padding-right: .5em;
}

.tab-visual__inner {
  border: 1px solid #fff3;
  border-radius: .5em;
  width: 100%;
  height: 100%;
  padding: .5em;
  overflow: hidden;
}

.tab-image {
  object-fit: cover;
  object-position: 0% 50%;
  border: 1px solid #ffffff4a;
  border-radius: .25em;
  width: 100%;
  height: 100%;
  position: relative;
}

.tab-content__item-detail {
  width: 100%;
  height: 0;
  padding-left: 4em;
  overflow: hidden;
}

.tab-heading {
  color: #fff;
  margin-top: 0;
  margin-bottom: 0;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 3.5em;
  font-weight: 500;
  line-height: 1;
}

.tab-progress {
  transform-origin: 0%;
  transform-style: preserve-3d;
  background-color: #ff4c24;
  width: 100%;
  height: 1px;
  transform: scale3d(0, 1, 1);
}

.tab-layout__wrap {
  z-index: 1;
  grid-row-gap: 3em;
  flex-flow: wrap;
  padding-top: 140px;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
  position: relative;
  overflow: hidden;
}

.tab-content__item {
  color: #131313;
  width: 100%;
  padding-top: 2em;
  padding-bottom: 2em;
  text-decoration: none;
  transition: opacity .25s;
  position: relative;
}

.tab-description {
  color: #fff;
  margin-bottom: 0;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: 1em;
}

.tab-content__top {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.form-field {
  width: 100%;
  position: relative;
}

.form-submit {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  inset: 0;
}

.form-notification-p {
  color: inherit;
  font-size: 1.125em;
  font-weight: 500;
}

.form-group {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  flex-flow: column;
  width: 100%;
  max-width: 1080px;
  margin-bottom: 0;
  display: flex;
}

.form-input {
  outline-offset: 0px;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  vertical-align: middle;
  background-color: #efeeec;
  border: 1px solid #efeeec;
  border-radius: .328125em;
  outline: 0 #0000;
  height: auto;
  margin-bottom: 0;
  padding: .9em 3.5em .9em 1em;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.2;
  box-shadow: 0 0 #0000;
}

.form-input:focus {
  border-color: #cbc8c5;
}

.form-input::placeholder {
  color: #1313134d;
  background-color: #efeeec;
}

.form-input.is--textarea {
  resize: vertical;
  min-height: 9em;
}

.form {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  flex-flow: column;
  width: 100%;
  display: flex;
}

.form.articles {
  color: #fff;
}

.form-label {
  color: #fff;
  text-transform: uppercase;
  margin-bottom: 0;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: 1.3em;
  font-weight: 500;
  line-height: 1;
}

.form-field-icon {
  opacity: 0;
  pointer-events: none;
  color: #cbc8c5;
  border-radius: .375em;
  justify-content: center;
  align-items: center;
  width: 3.5em;
  max-height: 3.5em;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
  position: absolute;
  top: 1px;
  bottom: 1px;
  right: 1px;
}

.form-field-icon.is--error {
  color: #ff4c24;
}

.form-notification-bg {
  opacity: .1;
  pointer-events: none;
  color: inherit;
  background-color: currentColor;
  border-radius: calc(.375rem - 2px);
  display: flex;
  position: absolute;
  inset: 0;
}

.form-field-group {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.form-notifcation {
  outline-offset: 0px;
  color: #0ba954;
  text-align: left;
  border: 1px solid #0ba954;
  border-color: inherit;
  background-color: #efeeec;
  border-radius: .375rem;
  outline: 0 #0000;
  width: 100%;
  padding: 1.125em;
  font-size: 1em;
  position: relative;
}

.form-notifcation.is--error {
  color: #ff4c24;
  margin-top: 0;
  padding-right: 3.5em;
}

.form-notification-icon {
  pointer-events: none;
  color: inherit;
  justify-content: center;
  align-items: center;
  width: 3.5em;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.form-submit-btn-p {
  margin-bottom: 0;
  font-size: 1.125em;
  font-weight: 600;
  line-height: 1.2;
}

.form-required {
  color: #ff4c24;
}

.form-divider {
  opacity: .15;
  background-color: #131313;
  width: 100%;
  height: 1px;
}

.form-submit-btn {
  background-color: var(--color-primary);
  outline-offset: 0px;
  color: #efeeec;
  cursor: pointer;
  border: 1px solid #131313;
  border-radius: .375rem;
  outline: 0 #0000;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  padding: 1.005em 1.125em;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 #0000;
}

.form-submit-btn:focus {
  outline-offset: 0px;
  border-width: 1px;
  border-color: #cbc8c5;
  outline-color: #131313;
}

.div-block-22 {
  justify-content: center;
  align-items: center;
  padding: 100px 36px;
  display: flex;
}

.scaling-element__big-box {
  border-radius: 1em;
  width: 100%;
  position: relative;
}

.scaling-element__small-box {
  border-radius: 1em;
  width: 20em;
  position: relative;
}

.scaling-video__wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.scaling-element-header__h1 {
  text-align: center;
  max-width: 9em;
  margin-top: 0;
  margin-bottom: .25em;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: 7em;
  font-weight: 500;
  line-height: 1;
}

.scaling-video__video {
  z-index: 2;
  object-fit: cover;
  border-radius: 1em;
  width: 100%;
  height: 100%;
  padding-bottom: 0;
  padding-right: 0;
  position: absolute;
}

.scaling-element-video {
  grid-column-gap: 5vh;
  grid-row-gap: 5vh;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-bottom: 25vh;
  padding-left: 5vw;
  padding-right: 5vw;
  display: flex;
  position: relative;
}

.scaling-video {
  will-change: transform;
  isolation: isolate;
  background-color: #d2800f;
  border-radius: 1em;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  transform: translateX(0)rotate(.001deg);
}

.scaling-element-header {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 25vh 5vw 20vh;
  display: flex;
  position: relative;
}

.scaling-element-header__eyebrow {
  color: #9d420a;
  text-transform: uppercase;
  font-size: 1.25em;
  font-weight: 400;
}

.scaling-video__svg {
  color: #fff;
  mix-blend-mode: overlay;
  width: 6.25em;
  position: absolute;
}

.scaling-video__before {
  padding-top: 56.25%;
}

.resource-wrapper {
  position: relative;
  overflow: hidden;
}

.rich-text-block {
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: 25px;
  line-height: 1em;
}

.video_placeholder-col-content-01 {
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.video_placeholder-01 {
  z-index: 1;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  border-radius: .8rem;
  flex-direction: column;
  grid-template-rows: 1fr auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  height: 100%;
  display: grid;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.video_placeholder-col-01.is-content {
  text-align: center;
  background-image: linear-gradient(#0000, #000000b8);
  padding: 2rem;
  position: absolute;
  inset: auto 0% 0%;
}

.video_component {
  background-image: url('../images/video-icon.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 10%;
  border-radius: .8rem;
  width: 100%;
  position: relative;
}

.video_placeholder-legel-notice-01 {
  color: #fafffd;
  font-size: 1rem;
  line-height: 1.5;
}

.video_player-embed {
  width: 100%;
}

.cover-2 {
  object-fit: cover;
  width: 100%;
  height: 100%;
  max-height: 100%;
}

.video_play-button-icon {
  justify-content: center;
  align-items: center;
  width: 40%;
  display: flex;
  position: absolute;
  top: 50%;
  left: 52%;
  transform: translate(-50%, -50%);
}

.video_play-button-hover-area {
  z-index: -1;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.video_play-button-wrap {
  color: #2e6054;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 40%;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.video_play-button {
  cursor: pointer;
  background-color: #fafffd;
  border-radius: 100%;
  width: 4.8rem;
  height: 4.8rem;
  transition: box-shadow .15s, color .15s, background-color .15s;
  position: absolute;
  box-shadow: 0 0 4.8px #2e605400;
}

.video_play-button:hover {
  background-color: var(--color-primary);
  color: #fafffd;
  box-shadow: 0 0 4.8rem #2e6054;
}

.layer {
  justify-content: center;
  align-items: center;
  position: absolute;
  inset: 0%;
}

.div-block-23 {
  border-radius: 1em;
  width: 100%;
  height: 400px;
  position: relative;
  overflow: hidden;
}

.code-embed {
  border-radius: 1em;
}

.div-block-24 {
  width: 100%;
  padding-bottom: 4em;
}

.heading-6 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: PP Neue Corp Wide, sans-serif;
}

.paragraph-4 {
  font-family: PP Neue Corp Wide, sans-serif;
  font-weight: 800;
}

.div-block-25 {
  background-color: #000;
  width: 100%;
}

.scramble-section {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;
  display: flex;
}

.scramble-section.u--bg-light {
  background-color: #efeeec;
}

.scramble-heading {
  text-align: center;
  letter-spacing: -.03em;
  text-transform: uppercase;
  max-width: 12.5em;
  margin: 0 auto;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 3em;
  font-weight: 400;
  line-height: .9;
}

.scramble-button {
  color: #131313;
  text-transform: uppercase;
  border: 1px dotted #000;
  border-radius: .3125em;
  padding: .5em 1em;
  font-size: 1em;
  font-weight: 400;
  text-decoration: none;
}

.scramble-button-text {
  margin-bottom: 0;
}

.div-block-26 {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  display: flex;
}

.div-block-27 {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.div-block-28 {
  padding: 25px;
}

.image-10 {
  object-fit: cover;
  border-radius: .253em;
  width: 600px;
  height: 600px;
}

.div-block-29 {
  background-color: #000;
}

.rich-text-block-2 {
  padding-left: 20px;
}

.link {
  font-family: PP Neue Corp Wide, sans-serif;
  position: static;
  inset: 5% auto auto 5%;
}

.link.contact {
  font-weight: 800;
  text-decoration: none;
}

.link.revenir-article {
  text-transform: uppercase;
  left: 12%;
}

.text-span {
  color: #fff;
}

.centered-slider-bullet {
  background-color: #0000;
  border-radius: 100em;
  width: 2em;
  height: 2em;
  padding: 0;
  position: relative;
}

.centered-slider-bullet:focus {
  outline-offset: 0px;
  border: 1px #000;
  outline: 3px #fcfcfc;
}

.centered-slider-button {
  background-color: #efeeec1a;
  border: 1px solid #efeeec1a;
  border-radius: .25em;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  padding: 0;
  transition: border-color .2s, background-color .2s;
  display: flex;
}

.centered-slider-button:hover {
  background-color: #efeeec33;
  border-color: #efeeec40;
}

.centered-slider-button.is--prev {
  transform: rotate(-180deg);
}

.centered-slider-slide {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  background-color: #efeeec1a;
  border: 1px solid #efeeec1a;
  border-radius: .75em;
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: flex-start;
  width: 21em;
  margin-right: 1em;
  padding: 1.25em;
  transition: opacity .25s cubic-bezier(.77, 0, .175, 1);
  display: flex;
  position: relative;
}

.slider-button-arrow {
  justify-content: center;
  align-items: center;
  width: 1.25em;
}

.container-3 {
  width: 100%;
  max-width: 80em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.slide-demo__eyebrow {
  text-transform: uppercase;
  font-size: .75em;
  line-height: 1.2;
}

.slide-demo__details {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.centered-slider-list {
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.slide-demo__avatar {
  border-radius: 100em;
  width: 2.5em;
  height: 2.5em;
  overflow: hidden;
}

.centered-slider-row {
  width: 100%;
  margin-top: 2em;
  margin-bottom: 4em;
  padding-top: 1em;
  padding-bottom: 1em;
  display: flex;
  position: relative;
  overflow: clip;
}

.centered-slider-buttons {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: center;
  align-items: center;
  display: flex;
}

.centered-slider-bullet__list {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  flex-flow: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.centered-slider-content {
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.my-slider-progress {
  color: #e8e2da;
  background-color: #2e2a27;
  height: 4px;
  margin-top: 64px;
  overflow: hidden;
}

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

.splide.slider {
  z-index: 9;
  cursor: grab;
}

.section-projects {
  position: relative;
  overflow: hidden;
}

.splide__track {
  width: 100%;
}

.global-styles {
  display: block;
  position: fixed;
  inset: 0% auto auto 0%;
}

.container-large {
  width: 100%;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.padding-vertical {
  padding-left: 0;
  padding-right: 0;
}

.margin-bottom {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
}

.page-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.splide__slide {
  flex: none;
  align-items: flex-start;
  width: 33.3333%;
}

.splide__slide:first-child {
  padding-left: 0;
}

.my-slider-progress-bar {
  background-color: #b3b641;
  width: 30vw;
  height: 7px;
}

.page-wrapper {
  position: relative;
}

.splide__list {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.projects_content-wrapper {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  overflow: hidden;
}

.projects_image-wrapper {
  width: 100%;
  height: 640px;
  position: relative;
  overflow: hidden;
}

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

.section {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.section.project {
  height: auto;
  padding-top: 5rem;
  padding-bottom: 5rem;
  display: none;
}

.div_hide {
  display: flex;
  position: relative;
  overflow: hidden;
}

.line_wrapper {
  width: 100%;
  height: 1px;
  position: relative;
  overflow: hidden;
}

.swiper {
  cursor: grabbing;
  width: 100%;
  height: 100%;
}

.swiper-slide {
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
  position: relative;
}

.line {
  background-color: #222;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
}

.swp_btn {
  color: #222;
  cursor: pointer;
  background-color: #efefef00;
  border: 1px solid #000;
  border-radius: 1000rem;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  transition: all .45s cubic-bezier(.075, .82, .165, 1);
  display: flex;
}

.swp_btn:hover {
  color: #f8fafc;
  background-color: #3a3a3a;
  transform: scale(1.1);
}

.swp_btn.swiper-btn-prev {
  transition: all .2s cubic-bezier(.785, .135, .15, .86);
}

.container-4 {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

.project_btm_wrap {
  z-index: 3;
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 4rem;
  padding-bottom: 0;
  display: flex;
  position: static;
  inset: auto 0% 0%;
}

.swiper_nav_parent {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  display: flex;
}

.padding_global {
  grid-column-gap: 3.5rem;
  grid-row-gap: 3.5rem;
  flex-flow: column;
  height: auto;
  padding-left: 2.5%;
  padding-right: 2.5%;
  display: flex;
}

.scroll_drag_txt {
  line-height: 1.25;
}

.swiper-wrapper.project {
  grid-column-gap: 2.5%;
  grid-row-gap: 2.5%;
  flex-direction: row;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.project_navigation {
  justify-content: space-between;
  margin-bottom: 0;
  padding-top: 1.5rem;
  padding-bottom: 0;
  display: flex;
}

.swiper_arrow {
  width: .75rem;
}

.project_main_wrap {
  width: 100%;
  height: 100%;
  position: relative;
}

.card_btn_wrapper {
  position: absolute;
  inset: auto 5% 5% auto;
  overflow: hidden;
}

.project_info_wrap {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  width: 100%;
  display: flex;
}

.project_divider {
  font-size: .8rem;
  font-weight: 200;
}

.project_divider.project_page {
  font-size: 1rem;
}

.icon_link_abs {
  color: #f8fafc;
  width: 1em;
  height: 1em;
  position: absolute;
  inset: 0%;
}

.icon_link_abs.black_arrow {
  color: #222;
}

.project_link_wrap {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  color: #000;
  cursor: pointer;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: auto;
  display: flex;
}

.img_wrapper {
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
}

.img_wrapper.project_img {
  justify-content: center;
  align-items: center;
  width: 49vw;
  height: 60svh;
  display: flex;
  position: relative;
}

.btn_whipe {
  z-index: 1;
  background-color: #222;
  width: 100%;
  height: 0%;
  position: absolute;
  inset: auto 0% 0%;
}

.btn_whipe.white_whipe {
  background-color: #f8fafc;
}

.card_overlay {
  z-index: 2;
  background-color: #222222de;
  display: none;
  position: absolute;
  inset: 0%;
}

.button-2 {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  color: #222;
  background-color: #efefef00;
  border: 1px solid #000;
  border-radius: 100rem;
  padding: .5rem 1rem;
  font-size: 1rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.button-2.card_btn {
  color: #f8fafc;
  border-color: #f8fafc;
}

.btn_txt {
  z-index: 2;
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 400;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.icon_link {
  width: 1em;
  height: 1em;
  position: relative;
}

.project_category {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.img {
  object-fit: cover;
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.project_name {
  font-size: 2rem;
  line-height: 1.25;
}

.whipe {
  z-index: 2;
  background-color: #f8fafc;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: auto 0% 0%;
}

.whipe.pp_whipe {
  display: block;
  inset: 0% 0% 0% auto;
}

.project_num_wrap {
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.project_category_wrap {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  overflow: hidden;
}

.btn_arrow_parent {
  z-index: 2;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.btn_txt_abs {
  z-index: 2;
  color: #f8fafc;
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 400;
  text-decoration: none;
  position: absolute;
  inset: 0%;
}

.btn_txt_abs.clone_btn {
  color: #222;
  inset: 0%;
}

.project_num {
  text-align: center;
}

.num_index {
  border: 1px solid #f8fafc;
  border-radius: 1000rem;
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
  inset: 0% 0% auto auto;
}

.num_index.project_num {
  border-color: #222;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  display: flex;
}

.project_content_flex {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: column;
  display: flex;
}

.form-label-2 {
  text-transform: uppercase;
  margin-bottom: 0;
  font-family: PP Neue Montreal, Arial, sans-serif;
  font-size: .875em;
  font-weight: 600;
  line-height: 1;
}

.form-submit-btn-2 {
  outline-offset: 0px;
  color: #efeeec;
  cursor: pointer;
  background-color: #ff4b24;
  border: 1px solid #131313;
  border-radius: .375rem;
  outline: 0 #0000;
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  padding: 1.005em 1.125em;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 0 #0000;
}

.form-submit-btn-2:focus {
  outline-offset: 0px;
  border-width: 1px;
  border-color: #cbc8c5;
  outline-color: #131313;
}

.div-block-31 {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 37px;
  display: flex;
}

.div-block-32 {
  width: 100%;
  max-width: 1080px;
}

.paragraph-5 {
  width: 50%;
  padding-right: 0;
  font-size: 1.3em;
}

.paragraph-5.articles {
  color: #fff;
}

.demo-card__image {
  background-color: #e2e1df;
  border-radius: .5em;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.demo-card-2 {
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  background-color: #efeeec;
  border-radius: 1.5em;
  flex-flow: column;
  width: 100%;
  padding: 1em 1em 1.5em;
  display: flex;
  position: relative;
}

.flickity-item {
  width: calc((99.99% / var(--flick-col))  - (var(--flick-gap) * ((var(--flick-col)  - 1) / var(--flick-col))));
  margin-right: var(--flick-gap);
  flex-shrink: 0;
}

.before__125 {
  pointer-events: none;
  padding-top: 100%;
}

.demo-card__emoji-2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 5em;
  font-weight: 500;
  line-height: 1;
  position: absolute;
}

.demo-card__h2 {
  color: #000;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: .5em;
  font-size: 2em;
  font-weight: 400;
  line-height: 1;
}

.flickity-controls {
  pointer-events: none;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.flickity-list {
  width: 100%;
  display: flex;
}

.flickity-dots-list {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  justify-content: center;
  align-items: center;
  display: flex;
}

.flickity-slider-group {
  width: 100%;
  position: relative;
}

.flickity-arrow {
  pointer-events: auto;
  color: #efeeec;
  cursor: pointer;
  background-color: #ff4b24;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  padding-left: .75em;
  padding-right: .75em;
  display: flex;
}

.flickity-arrow.is--flipped {
  transform: scaleX(-1);
}

.flickity-dot {
  pointer-events: auto;
  cursor: pointer;
  background-color: #fff;
  border-radius: 50%;
  width: .75em;
  height: .75em;
}

.flickity-dots {
  width: 100%;
  padding-top: 4em;
  position: absolute;
  top: 100%;
  left: 0;
}

.flickity-arrows {
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  width: calc(100% + 3em);
  display: flex;
  position: relative;
}

.div-block-33 {
  padding: 36px;
}

.div-block-33.articles {
  color: #fff;
}

.heading-7 {
  font-family: PP Neue Corp Wide, sans-serif;
}

.heading-7.articles {
  color: #fff;
}

.heading-8 {
  font-family: PP Neue Corp Wide, sans-serif;
}

.heading-8.articles {
  color: #fff;
}

.image-11 {
  z-index: 1;
  object-fit: cover;
  border-radius: 1em;
  width: 100%;
  height: 100%;
  position: relative;
}

.div-block-34 {
  padding-bottom: 1em;
  padding-left: 1em;
}

.heading-9 {
  font-family: PP Neue Corp Wide, sans-serif;
}

.div-block-35 {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  padding-left: 1em;
  display: flex;
}

.image-12 {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.div-block-36 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: 30vh 30vh;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.image-13, .image-15 {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.next-2 {
  background-color: var(--color-primary);
  color: var(--color-neutral-100);
  border-radius: .328125em;
  font-family: PP Neue Corp Wide, sans-serif;
}

.text-block {
  border-radius: .328125em;
}

.previous {
  background-color: var(--color-primary);
  color: var(--color-neutral-100);
  font-family: PP Neue Corp Wide, sans-serif;
}

.rich-text-block-3 {
  font-family: PP Neue Montreal, Arial, sans-serif;
}

.div-block-38 {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  display: flex;
  position: absolute;
  inset: 5% auto auto 5%;
}

.div-block-38.articles {
  color: #fff;
}

.code-embed-2 {
  object-fit: cover;
  position: absolute;
  inset: 0%;
}

.bold-text {
  font-size: 1em;
  line-height: 1.2;
}

.source {
  z-index: 2;
  width: 100%;
  height: 100%;
  position: relative;
}

.text-block-2 {
  text-align: center;
  font-family: PP Neue Corp Wide, sans-serif;
  font-size: 2em;
}

.div-block-41 {
  flex-flow: column;
  padding-top: 25vh;
  display: flex;
}

.heading-10 {
  text-align: center;
  margin-bottom: 0;
  padding-bottom: 1.5em;
  font-family: PP Neue Corp Wide, sans-serif;
}

.image-16 {
  object-fit: cover;
  border-radius: .3em;
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

.div-block-42 {
  border-radius: .3em;
  justify-content: center;
  align-items: center;
  width: 900px;
  height: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 1.5em;
  display: flex;
  position: relative;
  overflow: hidden;
}

.div-block-43 {
  grid-column-gap: 4.5em;
  grid-row-gap: 4.5em;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
}

.div-block-44 {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
}

.code-embed-3 {
  z-index: 2;
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  inset: 0%;
}

.bold-nav-full__hamburger {
  pointer-events: auto;
  color: #f4f4f4;
  cursor: pointer;
  background-color: #0000;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  display: flex;
  position: relative;
  overflow: hidden;
}

.bold-nav-full__hamburger.black {
  color: #000;
}

.bold-nav-full__hamburger.orange {
  color: var(--color-primary);
}

.bold-nav-full__li {
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

.bold-nav-full__ul {
  flex-flow: column;
  align-items: center;
  margin: 0;
  padding: 0;
  display: flex;
}

.bold-nav-full__logo {
  pointer-events: auto;
  color: #f4f4f4;
  justify-content: center;
  align-items: center;
  width: 8em;
  height: 2em;
  display: flex;
}

.bold-nav__word {
  opacity: .5;
  margin-bottom: 0;
  font-size: 1.125em;
  position: relative;
}

.bold-nav-full {
  z-index: 100;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  pointer-events: none;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
  position: fixed;
  inset: 0;
}

.bold-nav-full__tile {
  pointer-events: auto;
  background-color: #000;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.bold-nav-full__link {
  color: #f4f4f4;
  letter-spacing: -.04em;
  padding-left: .075em;
  padding-right: .075em;
  font-size: calc(4vw + 4vh);
  font-weight: 400;
  line-height: 1.1;
  text-decoration: none;
}

.bold-nav-full__link.is--current {
  color: var(--color-primary);
}

.bold-nav-full__link-text {
  text-shadow: 0 1.1em 0;
  font-family: PP Neue Corp Wide, sans-serif;
  font-weight: 800;
  display: block;
  position: relative;
}

.bold-nav__bottom {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 2.25em 2.5em;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
}

.bold-nav-full__hamburger-bar {
  background-color: currentColor;
  width: 2em;
  height: .125em;
  position: absolute;
}

.bold-nav-full__bar {
  z-index: 1;
  justify-content: space-between;
  width: 100%;
  padding: 2.5em;
  display: flex;
  position: absolute;
}

.utility-page-wrap {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility-page-content {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.utility-page-form {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.div-block-47 {
  z-index: 2;
  background-color: var(--color-primary);
  border-radius: 100%;
  width: 50px;
  height: 50px;
  position: absolute;
  inset: auto 5% 5% auto;
  overflow: hidden;
}

.link-block {
  border-radius: 1em;
  position: relative;
  overflow: hidden;
}

.image-17 {
  object-fit: cover;
}

.link-block-2 {
  border-radius: 1em;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 991px) {
  .clone-in-webflow {
    margin-right: -.5em;
  }

  .filter-list__item {
    width: 50%;
  }

  .container-2 {
    max-width: 728px;
  }

  .footer-form-two {
    padding: 40px;
  }

  .footer-form-title {
    margin-right: 15px;
  }

  .footer-form-input {
    width: 400px;
    padding-right: 180px;
  }

  .footer-wrapper-three {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-social-block-three {
    margin-top: 40px;
  }

  .tab-content__wrap {
    max-width: none;
    margin-left: 0;
  }

  .tab-visual__item {
    overflow: hidden;
  }

  .tab-visual__wrap {
    height: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .tab-content__inner {
    justify-content: space-between;
    align-items: stretch;
    padding: 0;
  }

  .tab-layout__col {
    width: 100%;
  }

  .tab-content__top {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
  }

  .video_placeholder-01 {
    font-size: 14px;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .projects_image-wrapper {
    height: 550px;
  }

  .swiper-slide {
    flex: none;
  }

  .container-4 {
    height: 100%;
  }

  .swiper-wrapper.project {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
  }

  .project_name {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .osmo-ui {
    position: fixed;
  }

  .nav-logo-row {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    width: auto;
  }

  .nav-row__right {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
  }

  .cloneable-title {
    pointer-events: none;
    width: calc(100% - 5.25em);
    padding-left: 1em;
    position: absolute;
    overflow: hidden;
  }

  .cloneable-title__nr, .cloneable-title__h1 {
    font-size: .875em;
  }

  .clone-in-webflow {
    justify-content: flex-end;
    width: 100%;
    margin-right: 0;
    padding-left: .75em;
  }

  .clone-in-webflow__p {
    display: none;
  }

  .cloneable-title__gradient, .osmo-ui__bg {
    display: block;
  }

  .parallax__title {
    margin-left: 0;
    margin-right: 0;
    font-size: 4.6em;
  }

  .looping-words {
    font-size: 6.6em;
  }

  .filter-list__item {
    width: 100%;
  }

  .footer-subscribe {
    padding-left: 15px;
    padding-right: 15px;
  }

  .footer-form-container-two {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-form-title {
    margin-right: 0;
  }

  .footer-form-block-two {
    width: 100%;
    margin-top: 20px;
  }

  .footer-form-input {
    width: 100%;
  }

  .footer-block-three {
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-link-three {
    margin-bottom: 10px;
  }

  .footer-social-block-three {
    margin-top: 10px;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-copyright {
    font-size: 14px;
    line-height: 20px;
  }

  .footer-legal-block {
    margin-top: 15px;
    margin-left: -24px;
  }

  .footer-legal-link {
    font-size: 14px;
    line-height: 20px;
  }

  .content-item__nr {
    margin-top: -.2em;
  }

  .content-item__heading {
    font-size: 1.5em;
  }

  .tab-content__item-main {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
  }

  .tab-visual__item {
    border-radius: .25em;
  }

  .tab-content__bottom {
    max-width: none;
  }

  .tab-layout__col {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .tab-heading {
    font-size: 2.8em;
  }

  .tab-layout__wrap {
    grid-row-gap: 2em;
  }

  .form-group {
    width: 100%;
  }

  .scaling-element__small-box {
    width: 15em;
  }

  .scaling-element-header__h1 {
    font-size: 13.5vw;
  }

  .scaling-video__svg {
    width: 5em;
  }

  .video_placeholder-col-01.is-content {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }

  .video_placeholder-legel-notice-01 {
    font-size: .9rem;
  }

  .video_play-button {
    width: 4rem;
    height: 4rem;
  }

  .my-slider-progress {
    margin-top: 32px;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .page-padding {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .projects_image-wrapper {
    height: 450px;
  }

  .swiper-slide {
    flex: none;
    width: 100%;
  }

  .padding_global {
    padding-left: 5%;
    padding-right: 5%;
  }

  .swiper-wrapper.project {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: flex;
  }

  .project_divider {
    font-size: 1rem;
  }

  .img_wrapper.project_img {
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
  .parallax {
    height: 190vh;
  }

  .parallax__content {
    min-height: 100vh;
  }

  .parallax__title {
    margin-bottom: .3em;
    font-size: 6.5em;
  }

  .parallax__title._2 {
    font-size: 3.3em;
  }

  .slider-slide {
    width: 25em;
    height: 15em;
  }

  .count-column {
    height: auto;
  }

  .overlay {
    width: 53%;
  }

  .overlay-count-row {
    grid-column-gap: .1em;
    grid-row-gap: .1em;
    flex-flow: row;
    justify-content: center;
    align-items: center;
  }

  .count-row-divider {
    height: 1em;
    font-size: .5em;
  }

  .div-block-2 {
    display: none;
  }

  .slide-caption-2.mobile {
    justify-content: center;
    align-items: center;
    padding-left: .5em;
    padding-right: .5em;
    position: static;
  }

  .slide-caption-2.mobile._2 {
    top: 3.25em;
  }

  .count-heading-2 {
    font-size: .5em;
  }

  .marquee__advanced__p {
    font-size: 1em;
    line-height: 1;
  }

  .marquee-advanced._2 {
    top: 4.9em;
    left: -1%;
  }

  .looping-words__selector {
    line-height: .9;
  }

  .looping-words__p {
    font-size: .6em;
    line-height: 2.3;
  }

  .looping-words__p.appolon {
    font-size: .4em;
    line-height: 2.2;
  }

  .looping-words__fade {
    line-height: .9;
  }

  .div-block-7 {
    width: 100%;
  }

  .background-video {
    margin-top: 0;
  }

  .heading-2 {
    font-size: 2.6em;
  }

  .div-block-8 {
    padding-top: 15vh;
    padding-bottom: 15vh;
  }

  .paragraph {
    letter-spacing: -1px;
    width: 90%;
    font-family: PP Neue Montreal, Arial, sans-serif;
    font-weight: 400;
  }

  .div-block-12 {
    flex-flow: column;
  }

  .div-block-14 {
    grid-column-gap: 19px;
    grid-row-gap: 19px;
    width: 100%;
  }

  .div-block-17 {
    background-image: linear-gradient(#f26a2e, #000), url('../images/group-9-2-grande-taille.jpeg');
    background-position: 0 0, 0 0;
    background-size: auto, cover;
    padding-top: 150px;
  }

  .div-block-20 {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }

  .footer-subscribe {
    padding-left: 1em;
    padding-right: 1em;
  }

  .container-2 {
    max-width: none;
  }

  .footer-form-two {
    padding: 20px 0;
  }

  .footer-form-block-two {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .footer-form-input {
    margin-bottom: 10px;
    padding-right: 20px;
  }

  .button-primary.footer-form-button {
    position: relative;
    right: 0;
  }

  .footer-bottom {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .heading-5 {
    padding-top: 150px;
  }

  .content-item__nr {
    flex: none;
  }

  .content-item__heading {
    font-size: 1.5em;
  }

  .tab-content__item-main {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }

  .tab-visual__inner {
    border-style: none;
    border-radius: .25em;
    padding: 0;
  }

  .tab-image {
    aspect-ratio: auto;
  }

  .tab-content__item-detail {
    padding-left: 3em;
  }

  .tab-heading {
    font-size: 3em;
  }

  .tab-content__item {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }

  .form-submit-btn-p {
    font-family: PP Neue Corp Wide, sans-serif;
  }

  .div-block-22 {
    padding-left: 1em;
    padding-right: 1em;
  }

  .scaling-element-header__h1 {
    margin-bottom: 0;
  }

  .scaling-element-video {
    grid-column-gap: 15vh;
    grid-row-gap: 15vh;
    padding-left: 1em;
  }

  .video_placeholder-01 {
    font-size: 12px;
    display: flex;
    position: relative;
  }

  .video_placeholder-col-01.is-play-wrap {
    order: -1;
    position: relative;
  }

  .video_placeholder-col-01.is-content {
    padding: .8rem;
  }

  .video_placeholder-legel-notice-01 {
    font-size: .8rem;
  }

  .div-block-23 {
    position: relative;
  }

  .code-embed {
    width: 100%;
    height: 100%;
  }

  .scramble-heading {
    font-size: 2.1em;
  }

  .div-block-26 {
    flex-flow: column;
  }

  .div-block-27 {
    flex-flow: column;
    padding: 15px;
  }

  .div-block-30 {
    display: flex;
  }

  .link, .link.revenir-article {
    font-size: 12px;
  }

  .centered-slider-slide {
    width: 85vw;
  }

  .padding-vertical {
    padding-left: 0;
    padding-right: 0;
  }

  .margin-bottom {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
  }

  .section.project {
    display: block;
  }

  .div_hide {
    align-items: baseline;
  }

  .swp_btn {
    width: 2rem;
    height: 2rem;
  }

  .swp_btn.swiper-btn-prev:hover, .swp_btn.swiper-btn-next:hover {
    background-color: var(--color-primary);
  }

  .project_btm_wrap {
    height: 10vh;
  }

  .padding_global {
    padding-top: 70px;
  }

  .scroll_drag_txt {
    letter-spacing: 0;
    font-weight: 400;
  }

  .swiper-wrapper.project {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
  }

  .project_navigation {
    justify-content: space-between;
    align-items: center;
  }

  .swiper_arrow {
    color: #fff;
    height: .75rem;
  }

  .project_info_wrap {
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
  }

  .project_divider {
    font-size: .8rem;
  }

  .img_wrapper.project_img {
    height: 65svh;
  }

  .button-2 {
    padding: .25rem .5rem;
  }

  .btn_txt {
    font-size: .75rem;
  }

  .icon_link {
    width: .75rem;
    height: auto;
  }

  .project_name {
    font-size: 1.25rem;
  }

  .whipe.pp_whipe {
    background-color: #000;
  }

  .btn_txt_abs {
    font-size: .75rem;
    inset: auto 0% 0%;
  }

  .project_num {
    font-size: .75rem;
  }

  .num_index.project_num {
    width: 1.5rem;
    height: 1.5rem;
  }

  .project_content_flex {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
  }

  .div-block-31 {
    grid-column-gap: 21px;
    grid-row-gap: 21px;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 7px 1em;
  }

  .div-block-32 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    display: flex;
  }

  .paragraph-5 {
    text-align: center;
    letter-spacing: 0;
    width: 100%;
  }

  .div-block-33 {
    padding-left: 1em;
    padding-right: 1em;
  }

  .heading-7 {
    line-height: 38px;
  }

  .heading-8 {
    text-align: center;
    line-height: 38px;
  }

  .div-block-34 {
    padding-left: 0;
  }

  .heading-9 {
    line-height: 38px;
  }

  .image-12 {
    border-radius: .328125em;
  }

  .div-block-36 {
    grid-template-rows: 30vh auto;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
  }

  .image-13 {
    border-radius: .328125em;
  }

  .div-block-37 {
    height: 60vh;
  }

  .image-14 {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .rich-text-block-3 {
    font-weight: 400;
  }

  .div-block-38.articles {
    color: #fff;
    padding-left: 1em;
    position: static;
  }

  .div-block-39 {
    z-index: 3;
    grid-column-gap: .4em;
    grid-row-gap: .4em;
    flex-flow: column;
    display: flex;
    position: absolute;
    inset: 1.25em auto auto 1.25em;
  }

  .rich-text-block-4 {
    width: 100%;
    height: auto;
    font-size: 12px;
    position: static;
  }

  .div-block-40 {
    width: 100%;
    height: 100%;
  }

  .text-block-2 {
    font-family: PP Neue Corp Wide, sans-serif;
    font-size: 1.4em;
  }

  .heading-10 {
    font-weight: 800;
  }

  .div-block-42 {
    width: 100%;
    height: 100vh;
  }

  .div-block-43 {
    overflow: visible;
  }

  .div-block-44 {
    flex-flow: column;
    padding-left: 1em;
    padding-right: 1em;
    display: flex;
    overflow: hidden;
  }

  .body-3 {
    overflow: visible;
  }

  .div-block-45 {
    padding-left: 1em;
    padding-right: 1em;
  }

  .div-block-46 {
    width: 100vw;
    overflow: hidden;
  }

  .bold-nav-full__link-text {
    letter-spacing: -.03em;
    font-size: calc(3.5vw + 3.5vh);
  }
}

#w-node-_7b9508b1-1d80-421b-4fe8-d026e7db3878-fbcfec87, #w-node-_4a184714-2705-26ad-3000-309b23cbc9b9-fbcfec87, #w-node-_26a4d021-6251-9443-fb01-eee3f47e1dd8-21e6d90a, #w-node-_26a4d021-6251-9443-fb01-eee3f47e1dda-21e6d90a {
  grid-area: span 2 / span 1 / span 2 / span 1;
}


@font-face {
  font-family: 'PP Neue Montreal';
  src: url('../fonts/ppneuemontreal-medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'PP Neue Montreal';
  src: url('../fonts/ppneuemontreal-semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'PP Neue Montreal';
  src: url('../fonts/ppneuemontreal-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'PP Neue Corp Wide';
  src: url('../fonts/ppneuecorp-wideultrabold.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}