@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed&family=Roboto+Mono:wght@100..700&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body, html {
  line-height: 1;
  scroll-behavior: smooth;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

a {
  text-decoration: none;
}

.ui-input-text {
  width: 80%;
}

@font-face {
  font-family: "Roc-Grotesk";
  src: url("../fonts/roc-grotesk/rocgroteskcomp-regular.woff2") format("woff2"), url("../fonts/roc-grotesk/rocgroteskcomp-regular.woff") format("woff");
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
}
body {
  font-family: "Roboto Mono", monospace;
  font-weight: 300;
  font-size: 1.12vw;
  line-height: 130%;
}

.a_title, .a_title a {
  font-family: "Roc-Grotesk", Helvetica;
  text-transform: uppercase;
}
.a_title.title--xxl, .a_title a.title--xxl {
  font-size: 20vw;
  line-height: 76%;
  letter-spacing: -0.5vw;
  text-indent: -0.6vw;
}
.a_title.title--xl, .a_title a.title--xl {
  font-size: 9vw;
  font-weight: 400;
  letter-spacing: 0;
  text-indent: 0;
  line-height: 80%;
}
.a_title.title--l, .a_title a.title--l {
  font-size: 5vw;
  font-weight: 300;
  letter-spacing: 0;
  text-indent: 0;
}
.a_title.title--l.title--b, .a_title a.title--l.title--b {
  font-weight: 600;
}
.a_title.title--m, .a_title a.title--m {
  font-size: 2.5vw;
  font-weight: 210;
  letter-spacing: 0;
  text-indent: 0;
}
.a_title.title--s, .a_title a.title--s {
  font-size: 1.8vw;
  font-weight: 210;
  letter-spacing: 0;
  text-indent: 0;
}

.copy {
  font-family: "Roboto Mono", monospace;
  color: var(--text-80-color);
}
.copy--lg {
  color: var(--text-main-color);
  font-size: 1.6vw;
  font-weight: 300;
  line-height: 2vw;
  margin-bottom: 1.5vw;
}
.copy--md {
  font-size: 1.2vw;
  font-weight: 300;
  line-height: 2vw;
  margin-bottom: 1vw;
}
.copy--sm {
  font-size: 1vw;
  font-weight: 300;
  line-height: 1.6vw;
  margin-bottom: 1vw;
}

.a_button {
  font-family: "Roboto Mono", monospace;
  font-size: 2vw;
}
.a_button.button--s {
  font-size: 1.2vw;
}

:root {
  --always-black: #000000;
  --always-white: #ffffff;
  --theme-1: color(display-p3 1.000000 0.372549 0.250980 / 1.000000);
  --theme-2: color(display-p3 0.050000 1.000000 0.5250980 / 1.000000);
  --bg-main-color-100: #ffffff;
  --text-main-color: #000000;
  --text-main-color-reverse: #ffffff;
}

[data-theme=light] {
  --bg-main-color-100: #ffffff;
}

body {
  color: var(--text-main-color);
}

body, html {
  background-color: var(--bg-main-color-100);
  min-height: 100%;
  height: auto;
}

html {
  scroll-behavior: initial;
}

.grid {
  display: block;
  width: 1px;
  height: 100vh;
  position: fixed;
  top: 0;
  background: violet;
  opacity: 0.4;
  z-index: 9999;
}
.grid.grid-1col {
  left: 8.333vw;
}
.grid.grid-2col {
  left: 48vw;
}
.grid.grid-3col {
  left: 52vw;
}
.grid.grid-4col {
  left: auto;
  right: 8.333vw;
}

.scroll-debug, html:after, html:before {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.pagepart--container {
  padding: 0 8.333vw;
}

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}

.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}

.owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
            This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
            calculation of the height of the owl-item that breaks page layouts
         */
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0;
}

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease;
}

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

.a_button {
  position: relative;
  display: inline-block;
  padding: 0.8vw 1.5vw;
  border-radius: 3vw;
  font-weight: 450;
  color: var(--text-main-color);
  transition: 550ms ease;
  perspective: 10000px;
  perspective-origin: 2vw 50%;
}
.a_button.button--primary::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 0.2vw solid var(--text-main-color);
  border-radius: 3vw;
  box-sizing: border-box;
  transition: 550ms ease;
}
.a_button.button--primary:hover {
  transform: translateX(3vw);
}
.a_button.button--primary:hover::after {
  width: 3vw;
  height: 3vw;
  border: 0.7vw solid var(--text-main-color);
  transform: scaleX(1) scaleY(1) scaleZ(1) rotateX(60deg) rotateY(0deg) rotateZ(0deg) translateX(-80%) translateY(35%) translateZ(0px) skewX(0deg) skewY(0deg);
}
.a_button.button--secondary {
  background: var(--bg-main-color-90);
}
.a_button.button--secondary.button--theme-reverse {
  color: var(--bg-main-color-100);
  background: var(--text-main-color);
}
.a_button.button--secondary.button--theme-1 {
  background: var(--theme-1);
}
.a_button.button--secondary.button--theme-2 {
  background: var(--theme-2);
  color: var(--bg-main-color-100);
}
.a_button.button--ghost {
  background: rgba(255, 255, 255, 0.3);
}
.a_button.button--s.button--primary::after {
  border: 0.12vw solid var(--text-main-color);
}
.a_button.button--s.button--primary:hover {
  transform: translateX(2.6vw);
}
.a_button.button--s.button--primary:hover::after {
  width: 2.6vw;
  height: 2.6vw;
  border: 0.5vw solid var(--text-main-color);
  transform: scaleX(1) scaleY(1) scaleZ(1) rotateX(60deg) rotateY(0deg) rotateZ(0deg) translateX(-80%) translateY(20%) translateZ(0px) skewX(0deg) skewY(0deg);
}

.a_button--wrapper-center {
  display: block;
  text-align: center;
  padding: 8.333vw;
}

.sublime_logo {
  display: block;
  width: 10vw;
  height: 3vw;
  text-indent: -9999px;
  overflow: hidden;
  background-image: url(../img/logo-sublime.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

.h_logo {
  display: block;
  width: 30vw;
  height: 30vw;
  position: absolute;
  left: 50%;
  top: 50vh;
  transform: translate(-50%, -50%);
  overflow: hidden;
  text-indent: -9999px;
  -webkit-mask-image: url(../img/brand/h-logo-original-black.svg);
  mask-image: url(../img/brand/h-logo-original-black.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: 50% 50%;
  mask-repeat: no-repeat;
  mask-size: contain;
  overflow: hidden;
  filter: url("#logoliquify");
}
.h_logo .bgclip {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
  background-size: cover;
  background-clip: content-box;
}

.a_mustscroll {
  position: fixed;
  bottom: 3vw;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 4vw;
  height: 3vw;
  padding: 0 2vw;
  column-gap: 2vw;
  border-radius: 1.5vw;
  color: var(--text-main-color);
  transform: translateX(-50%) translateY(10vw);
  transition: 850ms cubic-bezier(0.23, 0.94, 0.79, 1.03);
  cursor: pointer;
}
.a_mustscroll i {
  font-size: 12px;
  text-transform: uppercase;
}
.a_mustscroll.show {
  transform: translateX(-50%) translateY(0);
  width: 13vw;
}
.a_mustscroll--timeline {
  position: relative;
  flex-grow: 1;
  display: block;
  height: 0.6vw;
  border-radius: 0.6vw;
  background: var(--text-main-color);
  overflow: hidden;
}
.a_mustscroll--time {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
  height: 0.6vw;
  border-radius: 0.6vw;
  background: red;
}

.a_stickytitle {
  position: sticky;
  display: flex;
  flex-direction: row;
  column-gap: 1vw;
  padding: 2vw 0;
  font-weight: 200;
  top: -1px;
  padding-bottom: 7vw;
  z-index: 100;
  pointer-events: none;
  transform: translateX(0);
  transition: 350ms ease;
}
.a_stickytitle i {
  display: block;
  transition: 350ms ease;
  transform: translateY(5vw);
}
.a_stickytitle i:before {
  content: "→";
  display: inline-block;
  margin-right: 0.5vw;
}
.a_stickytitle.sticked {
  transform: translateX(5vw);
}
.a_stickytitle.sticked i {
  transform: translateY(0vw);
  opacity: 1;
}

.a_revealtitle {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: center;
  text-align: center;
  color: var(--text-main-color);
  height: 100vh;
  justify-content: center;
  background-color: #131313;
}
.a_revealtitle .revealsentence {
  position: relative;
  display: block;
}
.a_revealtitle .revealsentence.hide {
  display: none;
}
.a_revealtitle .revealbackground {
  position: absolute;
  inset: 0;
}
.a_revealtitle.justify-left {
  padding: 0 8.333vw;
  justify-content: flex-start;
  flex-direction: row;
  text-align: left;
}
.a_revealtitle.justify-left .revealsentence:after {
  content: " ";
}

.a_rotating-logo {
  display: block;
  pointer-events: none;
}
.a_rotating-logo-pic {
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  background: transparent url(../img/brand/h-logo-original-white.svg) center center no-repeat;
  background-size: contain;
  filter: url("#pilarsliquify");
}
.a_rotating-logo svg {
  display: none;
}

.a_contextpush {
  position: relative;
  z-index: 200;
}
.a_contextpush .a_contextpush-container {
  position: fixed;
  bottom: 1vw;
  left: 1vw;
  width: 98vw;
  z-index: 201;
  transform: translateY(150%);
  transition: 550ms cubic-bezier(0.23, 0.94, 0.79, 1.03);
  box-shadow: 0px 0.3vw 2vw 0.3vw rgba(0, 0, 0, 0.6);
}
.a_contextpush .a_contextpush-container.a_contextpush--sticky {
  transition: width 550ms cubic-bezier(0.23, 0.94, 0.79, 1.03);
  transform: translateY(0%);
}
.a_contextpush .a_contextpush-container .a_contextpush-timeline, .a_contextpush .a_contextpush-container::after {
  content: "";
  position: absolute;
  bottom: 0.7vw;
  left: 0.7vw;
  right: 0.7vw;
  display: block;
  height: 0.3vw;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 0.2vw;
}
.a_contextpush .a_contextpush-container .a_contextpush-timeline {
  transform-origin: left center;
  transform: scaleX(0%);
  background: var(--theme-2);
}
.a_contextpush.picture-in-picture .a_contextpush-container {
  left: auto;
  right: 2vw;
  bottom: 2vw;
  width: 25vw;
  border-radius: 0.4vw;
}
.a_contextpush.picture-in-picture .a_contextpush-container .a_rotating-logo {
  width: 40vw;
  height: 30vw;
  top: -12vw;
  left: -4vw;
}

.m_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 0.6vw 8.333vw;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: white;
  z-index: 99;
  border-bottom: 1px solid black;
}
.m_header h2 {
  display: flex;
  flex-direction: row;
  column-gap: 0.5vw;
  color: black;
  font-size: 13px;
}
.m_header h2 a {
  color: black;
  text-decoration: underline;
}
.m_header ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  column-gap: 1.5vw;
  font-weight: 200;
}
.m_header ul li a {
  color: var(--text-main-color);
}

.m_footer {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 8.333vw 0 0;
  row-gap: 4vw;
}
.m_footer .pagepart--container {
  display: flex;
  flex-direction: column;
  row-gap: 4vw;
  align-items: center;
  text-align: center;
}
.m_footer .a_rotating-logo {
  height: 0;
  width: 70vw;
}
.m_footer .a_rotating-logo-pic {
  height: 30vw;
}
.m_footer-contact {
  display: flex;
  flex-direction: row;
  column-gap: 4vw;
  text-align: left;
}
.m_footer-push.pagepart--container {
  padding-top: 6vw;
  backdrop-filter: blur(2vw);
  align-items: stretch;
}
.m_footer-card {
  display: flex;
  flex-direction: column;
  width: 32%;
  row-gap: 2vw;
}
.m_footer-card a {
  color: var(--theme-1);
}
.m_footer-card:nth-child(2) a {
  color: var(--theme-3);
}
.m_footer-card:last-child a {
  color: var(--theme-2);
}
.m_footer-stats {
  text-align: left;
  padding-top: 6vw;
}
.m_footer-stats.o_rowlist {
  padding-bottom: 0;
}
.m_footer-stats .m_footer-rse {
  column-gap: 4vw;
}
.m_footer-stats .m_footer-rse .a_title b {
  font-weight: 600;
}
.m_footer-stats .m_footer-eco {
  column-gap: 4vw;
}
.m_footer-stats .m_footer-eco .a_title b {
  background-color: var(--theme-2);
  color: var(--bg-main-color-100);
  font-weight: 600;
  width: 2vw;
  height: 2vw;
  display: inline-block;
  text-align: center;
  border-radius: 1vw;
}
.m_footer-stats .m_row .m_footer-stattitle {
  width: 42vw;
}
.m_footer-stats .m_row .o_rowlist {
  flex-direction: row;
  flex-wrap: nowrap;
  column-gap: 2vw;
  padding-bottom: 2vw;
  min-width: 70%;
}
.m_footer-stats .m_row .o_rowlist .m_row {
  flex-grow: 1;
  flex-direction: column;
  border-bottom: 1px solid var(--text-main-color);
  align-items: stretch;
  row-gap: 1vw;
}

.m_card {
  display: flex;
  flex-direction: row;
  width: 100%;
  flex-grow: 1;
}
.m_card .card-scrolltrigger {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  transform: translateY(-100vh);
  display: block;
  background: yellow;
  z-index: 999;
}
.m_card header {
  overflow: hidden;
}
.m_card header.liquify {
  filter: url("#taglineliquify");
}
.m_card header a {
  display: block;
  height: 100%;
}
.m_card header a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}
.m_card-filter {
  height: 0;
}
.m_card section a {
  color: var(--text-main-color);
}
.m_card section p a {
  font-weight: 200;
  line-height: 150%;
}
.m_card.card--full {
  width: 100vw;
  row-gap: 3vw;
  flex-direction: column;
  padding-bottom: 4vw;
}
.m_card.card--full .card-scrolltrigger {
  transform: translateY(-42vw);
}
.m_card.card--full header {
  flex-grow: 1;
  width: 100%;
  height: 100vh;
  transform: translateX(-8.333vw);
  width: 120%;
}
.m_card.card--full section {
  flex-grow: 1;
  width: 47.6%;
  padding-top: 1.5vw;
  display: flex;
  flex-direction: column;
  row-gap: 3vw;
}
.m_card.card--full section .a_title {
  width: 120%;
}
.m_card.card--xl {
  column-gap: 5vw;
}
.m_card.card--xl header {
  flex-grow: 1;
  width: 50%;
  height: 32vw;
}
.m_card.card--xl section {
  flex-grow: 1;
  width: 29%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  row-gap: 3vw;
  padding-bottom: 3vw;
}
.m_card.card--xl section h3 {
  width: 70%;
}
.m_card.card--xl section p {
  width: 70%;
  font-weight: 200;
}
.m_card.card--l {
  width: 40%;
  max-width: 47.6%;
  row-gap: 3vw;
  flex-direction: column;
}
.m_card.card--l header {
  width: 100%;
  height: 32vw;
}
.m_card.card--l section {
  flex-grow: 1;
  width: 100%;
  padding-bottom: 3vw;
  display: flex;
  flex-direction: column;
  row-gap: 1.8vw;
}
.m_card.card--l section h3 {
  width: 70%;
}
.m_card.card--l section p {
  width: 70%;
  font-weight: 150;
}

.m_row {
  justify-content: auto;
  align-items: center;
  flex-direction: column;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.m_row h4 {
  font-size: 6vw;
  margin-bottom: 0.6vw;
}
.m_row p {
  text-transform: uppercase;
  padding: 2vw 0;
}
.m_row.row--pilars {
  width: 45%;
  flex-grow: 1;
  padding-bottom: 2vw;
  border-bottom: 1px solid var(--text-main-color);
}

.m_expertise {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  transition: 550ms ease;
  padding: 2vw 2vw;
  box-sizing: border-box;
  overflow: hidden;
}
.m_expertise-container {
  flex-grow: 1;
  width: 100%;
  display: block;
  position: relative;
  color: var(--text-main-color);
  transform: translateX(10vw);
}
.m_expertise-container .clone {
  position: absolute;
  top: 0;
  left: 0;
}
.m_expertise-container .clone.clone-1 {
  z-index: 98;
  color: var(--text-main-color);
  filter: blur(0);
  transition: color 550ms ease;
  mix-blend-mode: normal;
}
.m_expertise-container .clone.clone-2 {
  z-index: 97;
  color: red;
}
.m_expertise-container .clone.clone-3 {
  z-index: 96;
  color: cyan;
}
.m_expertise-container .clone.clone-4 {
  z-index: 95;
  color: yellow;
}
.m_expertise-cta {
  display: block;
  width: 3vw;
  height: 3vw;
  line-height: 3vw;
  font-weight: 200;
  font-size: 1.8vw;
  text-align: center;
  color: var(--text-main-color);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: 550ms ease;
  transform: translateY(200%);
}
.m_expertise:hover {
  background: rgba(255, 255, 255, 0.08);
}
.m_expertise:hover .m_expertise-container .clone {
  transition: 350ms ease;
}
.m_expertise:hover .m_expertise-container .clone.clone-2 {
  margin-left: -2px;
}
.m_expertise:hover .m_expertise-container .clone.clone-3 {
  margin-left: 2px;
}
.m_expertise:hover .m_expertise-cta {
  transform: translateY(0);
}
.m_expertise .expertise_scrolltrigger {
  position: absolute;
  top: -90vh;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: cyan;
  z-index: 9999;
}

.m_awards {
  color: var(--bg-main-color-100);
  background: var(--theme-1);
}
.m_awards .a_revealtitle {
  color: var(--bg-main-color-100);
  background: var(--theme-1);
}
.m_awards .a_revealtitle .revealbackground {
  background: var(--theme-1) url(../img/workwithus.png) top center no-repeat;
  background-size: cover;
}
.m_awards .o_rowlist {
  margin-top: -28vh;
  position: relative;
}
.m_awards .o_rowlist * {
  text-align: center;
}
.m_awards .o_rowlist .m_row {
  padding-top: 2vw;
}

.m_csr {
  position: relative;
  background: var(--theme-1);
}
.m_csr .a_revealtitle {
  background-color: var(--theme-1);
}
.m_csr .a_rotating-logo {
  width: 100vw;
  position: absolute;
  right: 0;
  top: 95vh;
  overflow: hidden;
}
.m_csr .a_rotating-logo-pic {
  width: 100vw;
  height: 44vw;
  max-height: 70vh;
  opacity: 0.5;
  transform: translateX(30%) scale(0.5);
}

.m_hiring {
  position: relative;
  overflow: hidden;
}
.m_hiring-wrapper {
  padding: 2vw 8.333vw;
  background: var(--bg-main-color-100);
}
.m_hiring-content {
  padding: 4vw;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.m_hiring-content .a_title {
  color: var(--theme-2);
}
.m_hiring-cta {
  display: flex;
  flex-direction: row;
  column-gap: 2vw;
  align-items: center;
}
.m_hiring .a_rotating-logo {
  position: absolute;
  width: 100vw;
  height: 100vw;
  top: -24vw;
  left: -30vw;
  transform: rotate(50deg);
}
.m_hiring .a_rotating-logo-pic {
  width: 100%;
  height: 100%;
  max-height: none;
  opacity: 0.2;
  transform: translateX(0) scale(0.5);
}
.m_csr .m_hiring {
  padding: 2vw 0;
}
.a_contextpush .m_hiring {
  padding: 0;
}
.a_contextpush .m_hiring.a_contextpush-container {
  width: 0;
  border: 1px solid rgb(30, 30, 30);
}
.a_contextpush .m_hiring.a_contextpush-container.a_contextpush--sticky {
  width: 98vw;
}
.a_contextpush .m_hiring .m_hiring-wrapper {
  padding: 0;
  width: 98vw;
  background: var(--bg-theme-2-color-90);
}
.a_contextpush .m_hiring .m_hiring-wrapper .m_hiring-content {
  padding: 2.5vw 4vw;
}
.a_contextpush.picture-in-picture .m_hiring {
  padding: 0;
}
.a_contextpush.picture-in-picture .m_hiring.a_contextpush-container {
  width: 0;
}
.a_contextpush.picture-in-picture .m_hiring.a_contextpush-container.a_contextpush--sticky {
  width: 25vw;
}
.a_contextpush.picture-in-picture .m_hiring .m_hiring-wrapper {
  padding: 0;
  width: 25vw;
  background: var(--bg-theme-2-color-90);
}
.a_contextpush.picture-in-picture .m_hiring .m_hiring-wrapper .m_hiring-content {
  flex-direction: column;
  row-gap: 2vw;
  padding: 1.5vw;
  height: 13.6vw;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
}
.a_contextpush.picture-in-picture .m_hiring .m_hiring-wrapper .m_hiring-content .m_hiring-cta {
  column-gap: 1vw;
}

.o_cardslist {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 4vw;
  column-gap: 4vw;
}

.o_rowlist {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding-bottom: 8.333vw;
}
.o_rowlist.rowlist-col {
  flex-direction: row;
  row-gap: 4vw;
  column-gap: 4vw;
}

.o_expertises-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.o_expertises-list .m_expertise {
  width: 50%;
}

html {
  overflow: hidden;
}

#preload {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  height: 0;
  width: 0;
}

.home section.intro {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100vh;
}
.home section.intro #logosvgeffects {
  display: none;
}
.home section.intro .intro_content {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1vw;
  transform: translate(-50%, -50%);
}
.home section.intro .intro_content h1.a_title {
  font-size: 62px;
}
.home section.intro .intro_content h2 {
  font-size: 14px;
  text-transform: uppercase;
  text-align: center;
}
.home section.intro .scrlr {
  position: fixed;
  bottom: 3vw;
  left: 50%;
  width: 3vw;
  height: 3vw;
  transform: translate(-50%, 0);
  overflow: hidden;
}
.home section.intro .scrlr a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
@keyframes arrow {
  0% {
    transform: translate(-50%, -110%);
  }
  20% {
    transform: translate(-50%, 0%);
  }
  80% {
    transform: translate(-50%, 0%);
  }
  100% {
    transform: translate(-50%, 110%);
  }
}
.home section.intro .scrlr a span {
  display: block;
  width: 3px;
  height: 90%;
  position: absolute;
  top: 0;
  left: 50%;
  background: var(--text-main-color);
  border-radius: 3px;
  animation: 2s arrow ease infinite;
  transform: translate(-50%, -110%);
}
.home section.intro .scrlr a span::before, .home section.intro .scrlr a span::after {
  content: "";
  display: block;
  width: 3px;
  height: 30%;
  transform-origin: right bottom;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
  background: var(--text-main-color);
  border-radius: 3px;
}
.home section.intro .scrlr a span::after {
  left: 40%;
  transform-origin: left bottom;
  transform: rotate(45deg);
}
.home section.hero {
  position: relative;
  z-index: 1;
  height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  background: var(--theme-1);
  box-sizing: border-box;
  color: white;
  overflow: hidden;
}
.home section.hero #dex {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: hard-light;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
}
.home section.hero #dex video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home section.hero .hero_visual {
  position: absolute;
  inset: 0;
  background: transparent url(../img/mask-2.png) right center no-repeat;
  background-size: cover;
  filter: url("#taglineliquify");
  z-index: 1;
  pointer-events: none;
  transform: translateY(-20%);
}
.home section.hero .hero_noise {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 200%;
  background: transparent url(../img/noise-1.png) top left repeat;
  opacity: 0.5;
  z-index: 2;
  pointer-events: none;
}
.home section.hero #taglinesvgeffects {
  height: 0;
}
.home section.hero .claim {
  position: static;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding: 4vw 2vw 0;
  z-index: 4;
}
.home section.hero .claim .title--xxl {
  position: relative;
}
.home section.hero .claim .title--xxl .offset {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  filter: url("#taglineliquify");
}
.home section.hero .claim p {
  width: 40vw;
  padding-left: 0.5vw;
  text-align: left;
  font-size: 1.3vw;
  text-transform: uppercase;
  font-weight: 250;
  line-height: 150%;
}
.home section.skillz .a_revealtitle {
  color: white;
  background: #100926;
}
.home section.skillz .a_revealtitle .revealsentence.hide {
  display: block;
  opacity: 0;
  transform: translateY(2vh);
}
.home section.skillz .a_revealtitle .revealbackground {
  overflow: hidden;
}
.home section.skillz .a_revealtitle .revealbackground .revealbackground_illustration {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.home section.skillz .a_revealtitle.step-1 .revealbackground_illustration {
  background-image: url(../img/step-1.png);
}
.home section.skillz .a_revealtitle.step-2 .revealbackground_illustration {
  background-image: url(../img/step-2.png);
}
.home section.skillz .a_revealtitle.step-3 .revealbackground_illustration, .home section.skillz .a_revealtitle.step-4 .revealbackground_illustration {
  background-image: url(../img/step-3.png);
}
.home section.featured {
  position: relative;
  z-index: 2;
}
.home section.featured #featured_trigger {
  position: absolute;
  height: 1px;
  position: absolute;
  top: 50vh;
  width: 100%;
  background-color: cyan;
}
.home section.featured .featured_video {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 4vw 2vw;
  min-height: 90vh;
  background-color: black;
  color: white;
}
.home section.featured .featured_video * {
  position: static;
  z-index: 3;
}
.home section.featured .featured_video .title--xl {
  width: 43%;
}
.home section.featured .featured_video p {
  width: 27%;
  text-transform: uppercase;
}
.home section.featured .featured_video video {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.7;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home section.featured .featured_desc {
  padding: 2vw 8.333vw;
}
.home section.featured .featured_desc p {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 3.3vw;
  text-transform: uppercase;
  letter-spacing: -0.08vw;
  margin-bottom: 1vw;
  line-height: 110%;
}
.home section.featured .featured_desc p:first-child {
  text-indent: 12vw;
}
.home section.featured .featured_desc p span {
  color: var(--theme-1);
}
.home section.featured .featured_grid {
  display: flex;
  flex-direction: row;
  gap: 2vw;
  padding: 2vw;
}
.home section.featured .featured_grid .context {
  width: 23%;
  text-transform: uppercase;
  font-size: 0.95vw;
  line-height: 110%;
}
.home section.featured .featured_grid .context span {
  color: var(--theme-1);
}
.home section.featured .featured_grid .visuals {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2%;
  row-gap: 2vw;
  width: 80%;
  max-width: 1194px;
  overflow: hidden;
}
.home section.featured .featured_grid .visuals img {
  display: block;
  object-fit: cover;
}
.home section.featured .featured_grid .visuals img.visuals_big {
  width: 100%;
  flex-grow: 2;
}
.home section.featured .featured_grid .visuals img.visuals_small {
  width: 40%;
}
.home section.featured .featured_grid .visuals img.visuals_mid {
  width: 58%;
  height: 50vw;
}
.home .cases_scrolltrigger {
  position: relative;
  z-index: 10;
  display: block;
  transform: translateY(-85vh);
  height: 1px;
  background: green;
}
.home section.cases {
  position: relative;
  width: 100%;
  padding: 0 8.333vw;
  padding-top: 4vw;
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  gap: 4.16vw;
}
.home section.cases .cases_visual {
  position: sticky;
  top: 12vh;
  width: 33.3vw;
  min-height: 70vh;
  max-height: 80vh;
  background-color: transparent;
  overflow: hidden;
}
.home section.cases .cases_visual .case_background {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 80%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: 850ms ease;
}
.home section.cases .cases_visual.step-0 .case_background {
  background-image: url(../img/step-h-1.png);
}
.home section.cases .cases_visual.step-1 .case_background {
  background-image: url(../img/step-h-2.png);
}
.home section.cases .cases_visual.step-2 .case_background {
  background-image: url(../img/step-h-3.png);
}
.home section.cases .cases_visual.step-3 .case_background {
  background-image: url(../img/step-h-4.png);
}
.home section.cases .cases_visual .case_front {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  transform: translate(0, 0);
  transition: 550ms ease;
}
.home section.cases .cases_visual .case_front li {
  display: block;
  width: 100%;
  height: 80vh;
}
.home section.cases .cases_visual .case_front img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home section.cases .casepadder {
  padding: 25vh 0;
}
.home section.cases .o_rowlist {
  flex-grow: 1;
}
.home section.cases .o_rowlist .m_row {
  display: flex;
  padding: 2vw 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 43vh;
}
.home section.cases .o_rowlist .m_row.current {
  color: var(--theme-1);
}
.home section.cases .o_rowlist .m_row .title--xl {
  white-space: nowrap;
  margin-bottom: 0;
}
.home section.cases .o_rowlist .m_row p {
  max-width: 25vw;
  padding-bottom: 0;
}
.home section.cases .title--s {
  font-family: "Roboto Condensed", sans-serif;
}
.home section.expertises {
  padding: 0 8.333vw;
}