:root {
  --base-font: Sora, sans-serif;
  --_sizes---headings--h1: 5em;
  --_sizes---headings--h2: 4em;
  --_sizes---headings--h3: 1.6em;
  --_sizes---headings--h4: 1.5em;
  --_sizes---headings--h5: 1.4em;
  --_sizes---headings--h6: 1.3em;
  --_sizes---paragraph--base: 1em;
  --_swatch---main--green-base: #20e293;
  --_sizes---paragraph--large: 1.2em;
  --_sizes---paddings--section-large: 6.25em;
  --_sizes---paddings--section-small: 3.2em;
  --_swatch---main--orange-base: #f64803;
  --_swatch---main--white: white;
  --_sizes---paragraph--small: .9em;
  --_sizes---paddings--container-base: 2em;
  --_swatch---main--green-dark: #0e302a;
  --_swatch---main--dark: #082621;
  --_sizes---base: 1em;
  --_sizes---paddings--section-base: 5em;
  --_sizes---paddings--container-small: 1em;
  --_sizes---paddings--container-large: 4em;
  --_swatch---main--critical: #e80061;
  --_swatch---main--warning: #ffa7cc;
  --_swatch---main--stable: #6bc59a;
  --_swatch---main--optimal: #21593e;
}

body {
  font-family: var(--base-font);
  color: #333;
  line-height: 1.5em;
  font-size: var(--size-font);
}

h1 {
  font-size: var(--_sizes---headings--h1);
  margin: 0;
  font-weight: 700;
  line-height: 1.1em;
}

h2 {
  font-size: var(--_sizes---headings--h2);
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 700;
  line-height: 1.2em;
}

h3 {
  font-size: var(--_sizes---headings--h3);
  margin-top: 20px;
  margin-bottom: 10px;
  font-weight: 700;
  line-height: 143%;
}

h4 {
  font-size: var(--_sizes---headings--h4);
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 600;
  line-height: 1.2em;
}

h5 {
  font-size: var(--_sizes---headings--h5);
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 600;
  line-height: 1.2em;
}

h6 {
  font-size: var(--_sizes---headings--h6);
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 600;
  line-height: 1.2em;
}

p {
  color: #ffffffe6;
  font-size: var(--_sizes---paragraph--base);
  margin: 0;
  font-weight: 300;
  line-height: 1.75em;
}

.h3 {
  font-size: var(--_sizes---headings--h3);
  font-weight: 700;
  line-height: 1.2em;
}

.h2 {
  font-size: var(--_sizes---headings--h2);
  font-weight: 700;
  line-height: 1.2em;
}

.h2.heading-strikethrough--text {
  color: var(--_swatch---main--green-base);
  position: absolute;
  inset: auto auto 0 0%;
  transform: rotate(-3deg);
}

.section.test {
  height: 100svh;
}

.section.text--scroll {
  padding-top: var(--_sizes---paddings--section-large);
}

.section.project--slider {
  overflow: hidden;
}

.section.theme-orange {
  background-color: var(--_swatch---main--orange-base);
  color: var(--_swatch---main--white);
}

.section.overflow--hidden, .section.project--slider {
  overflow: hidden;
}

.section.dark--background.background-arrow__section {
  position: relative;
}

.h4 {
  font-size: var(--_sizes---headings--h4);
  font-weight: 600;
  line-height: 1.2em;
}

.container {
  padding-right: var(--_sizes---paddings--container-base);
  padding-left: var(--_sizes---paddings--container-base);
  max-width: var(--size-container);
  flex-flow: column;
  margin-left: auto;
  margin-right: auto;
}

.container.section--padding.h-hero--cont, .container.section--padding.footer--bottom {
  position: relative;
}

.container.full-screen {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.container.overflow--none {
  position: relative;
  overflow: hidden;
}

.container.max {
  width: 100%;
}

.container.section--padding.h-hero--cont, .container.section--padding.footer--bottom {
  position: relative;
}

.container.section--padding._2col {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-flow: row;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.container.section--padding.top2x {
  padding-top: calc(var(--_sizes---paddings--section-large) * 2);
}

.container.section--padding.xxl {
  padding-top: calc(var(--_sizes---paddings--section-large) * 3);
  padding-bottom: calc(var(--_sizes---paddings--section-large) * 3);
}

.container.section--padding.xxl.u-position__relative {
  padding-bottom: calc(var(--_sizes---paddings--section-large) * 2);
}

.container.section--padding.small {
  max-width: calc(var(--size-container) * .8);
}

.container.section--padding.section__overflow.about--hero {
  padding-top: calc(var(--_sizes---paddings--section-large) * 2);
}

.container.section--padding.flick--container {
  overflow: hidden;
}

.container.section--padding.footer--bottom {
  position: relative;
}

.container.section--padding.hero--section {
  padding-top: calc(var(--_sizes---paddings--section-large) * 2);
}

.container.section--padding.hero--section.about {
  margin-bottom: -6.25em;
  padding-bottom: 0;
}

.container.section--padding.hero--section.small {
  max-width: calc(var(--size-container) * .8);
}

.container.section--padding.hero--section.small.z-index {
  z-index: 2;
  position: relative;
}

.container.section--padding.project-video--padding {
  padding-bottom: calc(var(--_sizes---paddings--section-large)  + 15em);
}

.section--padding {
  padding-top: var(--_sizes---paddings--section-large);
  padding-bottom: var(--_sizes---paddings--section-large);
}

.logo--wrapper {
  width: 8.375em;
}

.logo--wrapper.w--current {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}

.display--none {
  display: none;
}

.page--wrapper {
  flex-flow: column;
  justify-content: space-between;
  min-height: 100svh;
  display: flex;
}

.theme-dark {
  background-color: var(--_swatch---main--green-dark);
  color: var(--_swatch---main--white);
}

.btn__circle-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.btn__circle {
  background-color: var(--_swatch---main--orange-base);
  pointer-events: none;
  border-radius: 50%;
  width: 120%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
}

.btn__text {
  color: #efede3;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.btn-text-p {
  text-transform: uppercase;
  color: currentColor;
  white-space: nowrap;
  margin-bottom: 0;
  font-family: Kumbh Sans, sans-serif;
  font-size: 1em;
  font-weight: 700;
  line-height: 100%;
}

.btn__bg {
  border: .125em solid var(--_swatch---main--orange-base);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.btn__bg:where(.w-variant-47717e3c-5ba2-2d69-44f7-1a48ffda4430), .btn__bg.outline-white-2, .btn__bg.outline-white-9, .btn__bg.outline-white-16 {
  border-color: var(--_swatch---main--white);
}

.btn__bg.full-white {
  background-color: #fff;
}

.btn__bg.outline-white-2, .btn__bg.outline-white-9 {
  border-color: var(--_swatch---main--white);
}

.before__100 {
  padding-top: 100%;
  display: block;
}

.btn {
  background-color: var(--_swatch---main--orange-base);
  cursor: pointer;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: center;
  padding: 1em 1.375em;
  font-size: 1em;
  text-decoration: none;
  display: flex;
  position: relative;
}

.btn:where(.w-variant-47717e3c-5ba2-2d69-44f7-1a48ffda4430) {
  background-color: var(--_swatch---main--white);
}

.btn:hover {
  text-decoration: none;
}

.btn.outline-white {
  background-color: var(--_swatch---main--white);
}

.btn.outline-white-15, .btn.outline-white {
  background-color: var(--_swatch---main--white);
}

.btn.outline-white.cta {
  flex: 1;
}

.btn.outline-white-8 {
  background-color: var(--_swatch---main--white);
}

.btn.outline-white-8.cta {
  flex: 1;
}

.btn.fullwidth {
  width: 100%;
}

.button-wrap {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.button-wrap.margin-top--large {
  margin-top: 3em;
}

.button-wrap.cta {
  width: 15em;
}

.header--container {
  z-index: 1000;
  max-height: 5em;
  transition: transform .4s cubic-bezier(.645, .045, .355, 1);
  display: flex;
  position: fixed;
  top: 1em;
  left: 50%;
  transform: translate(-50%);
}

.header--container.header--hidden {
  transform: translate(0, -130%)translate(-50%);
}

.header-inner--bck {
  pointer-events: none;
  inset: 0%;
}

.header--logo {
  justify-content: center;
  align-items: center;
  padding-left: 1.1em;
  padding-right: 1.1em;
  display: flex;
}

.header-button--wrap {
  cursor: pointer;
  border-left: 1px solid #ffffff4d;
  justify-content: center;
  align-items: center;
  width: 5em;
  height: 5em;
  transition: background-color .2s;
  display: flex;
  position: relative;
}

.header-button--wrap:hover {
  background-color: #ffffff4d;
}

.nav--button {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-end;
  width: 2em;
  height: 1em;
  display: flex;
}

.nav-button--line {
  background-color: var(--_swatch---main--white);
  width: 100%;
  height: .1875em;
}

.nav-button--line.is2 {
  width: 50%;
}

.header {
  z-index: 1000;
  position: relative;
}

.footer {
  background-color: var(--_swatch---main--dark);
  overflow: hidden;
}

.footer--top {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.footer--logo {
  width: 8.375em;
}

.footer-top--left {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  display: flex;
}

.footer-top--right {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  flex-flow: column;
  display: flex;
}

.footer-contact--grid {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.footer-contact--link {
  color: #ffffffe6;
  text-decoration: none;
}

.footer-link--wrap {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: column;
  display: flex;
}

.line {
  background-color: #fff3;
  width: 100%;
  height: .0625em;
}

.footer-page--wrap {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  max-width: 30em;
  display: flex;
}

.footer-page--grid {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.footer--link {
  color: #fff;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
}

.footer--svg {
  opacity: .2;
  width: 25em;
  position: absolute;
  inset: auto 0% -20% auto;
  transform: rotate(10deg);
}

.align--center {
  text-align: center;
}

.gsap-slider__collection {
  width: 100%;
}

.gsap-slider__list {
  -webkit-user-select: none;
  user-select: none;
  will-change: transform;
  touch-action: pan-y;
  backface-visibility: hidden;
  display: flex;
}

.gsap-slider {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-flow: column;
  align-items: center;
  width: 100%;
  margin-top: 3em;
  display: flex;
  position: relative;
}

.gsap-slider__item {
  width: calc(((100% - 1px)  - (var(--slider-spv)  - 1) * var(--slider-gap)) / var(--slider-spv));
  margin-right: var(--slider-gap);
  transform-origin: bottom;
  flex: none;
}

.h-project--item {
  color: var(--_swatch---main--white);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  height: 40em;
  text-decoration: none;
  display: flex;
  position: relative;
}

.h-project--item.project--grid {
  aspect-ratio: 1 / 1.38;
  height: auto;
}

.h-project-item--top {
  padding: 1.5em;
}

.h-project-item--bottom {
  width: 100%;
}

.h-project-item--title {
  padding: 2em;
}

.h-project-line--track {
  background-color: #fff3;
  width: 100%;
  height: .125em;
}

.h-project--line {
  background-color: var(--_swatch---main--white);
  width: 0%;
  height: 100%;
}

.h-project-logo--wrap {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  background-color: #fff;
  justify-content: flex-start;
  align-items: center;
  padding-left: 1em;
  display: flex;
  position: relative;
}

.h-project-item--logo {
  z-index: 2;
  max-width: 7em;
  max-height: 4em;
  padding: .25em;
  position: relative;
}

.h-project-item-logo--line {
  z-index: 2;
  background-color: #0000001a;
  width: .0625em;
  height: 4em;
  position: relative;
}

.h-project-item--service {
  z-index: 2;
  color: var(--_swatch---main--dark);
  white-space: nowrap;
  margin-right: 1em;
  font-weight: 700;
  position: relative;
  overflow: hidden;
}

.h-project-item-bck--wrap {
  z-index: -1;
  position: absolute;
  inset: 0%;
  overflow: clip;
}

.h-project-item--bck {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.dark--background {
  background-color: var(--_swatch---main--dark);
}

.h-project-item-logo--bck {
  z-index: 0;
  background-color: var(--_swatch---main--orange-base);
  width: 0%;
  height: 100%;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.h-project-item-bck--overlay {
  background-image: linear-gradient(0deg, var(--_swatch---main--green-dark), #0000 50%);
  position: absolute;
  inset: 0%;
}

.h-project-item--hover {
  background-color: var(--_swatch---main--orange-base);
  opacity: 0;
  filter: blur(75px);
  border-radius: 50%;
  width: 40em;
  height: 40em;
  position: absolute;
  inset: auto auto -50% -20%;
}

.review--item {
  cursor: pointer;
  position: relative;
}

.no-margin {
  margin: 0;
}

.no-margin.heading-negative {
  margin-top: -.3em;
}

._2col {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

._2col.gap--xxl {
  grid-column-gap: 8em;
  grid-row-gap: 8em;
}

.cta--container {
  padding-right: 15em;
}

.cta-sec--wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  background-color: #ffffff1a;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  min-height: 70svh;
  padding: 5.625em;
  display: flex;
}

.cta-text--wrap {
  width: 50%;
}

.kicker {
  color: var(--_swatch---main--green-base);
  font-size: var(--_sizes---headings--h3);
  font-weight: 700;
  line-height: 100%;
}

.kicker.margin.bottom-m {
  margin-bottom: 1em;
}

.kicker.orange {
  color: var(--_swatch---main--orange-base);
}

.cta--paragraph {
  max-width: 38ch;
  margin-top: 2.5em;
  margin-bottom: 1.5em;
}

.cta-button--wrap {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  width: 15em;
  display: flex;
}

.cta-button--wrap.u-margin__top._2rem {
  margin-top: 2rem;
}

.cta-img--col {
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 50%;
  position: relative;
}

.cta--img {
  object-fit: cover;
  max-width: unset;
  width: calc(100% + 20.625em);
  height: 100%;
  position: absolute;
  inset: 0% auto auto 0%;
}

.cta--img.image--cutout.mobile {
  display: none;
}

.cta-contact--details {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  background-color: var(--_swatch---main--dark);
  border: .0625em solid #707070;
  flex-flow: column;
  padding: 2.5em;
  display: flex;
  position: absolute;
  bottom: 2em;
  left: 0;
}

.cta-detail--grid {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.cta-detail--contact {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: column;
  display: flex;
}

.cta-detail--link {
  color: #fffc;
  text-decoration: none;
}

.review__img {
  aspect-ratio: 1 / 1.35;
  object-fit: cover;
  width: 100%;
}

.review-card__client {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.review-client__img {
  object-fit: cover;
  border-radius: 100%;
  width: 3em;
  height: 3em;
}

.review-client__name {
  color: #ffffff80;
}

.review-img__overlay {
  background-color: #0000004d;
  position: absolute;
  inset: 0%;
}

.review__button {
  width: 5em;
  height: 5em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.review__button.big {
  width: 10em;
  height: 10em;
}

.nav--container {
  z-index: 999;
  width: 0;
  height: 0;
  position: fixed;
  top: 1em;
  left: 50%;
  overflow: hidden;
  transform: translate(-50%);
}

.nav--wrapper {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 80vw;
  display: grid;
}

.nav-grid__col {
  background-color: var(--_swatch---main--green-dark);
  border: .0625em solid #3a3a3a;
  width: 100%;
  padding: 8.25em;
}

.nav-grid__col.first {
  background-color: var(--_swatch---main--dark);
  background-color: var(--_swatch---main--dark);
  border-right-width: 0;
  margin-right: -1px;
}

.nav__link {
  color: var(--_swatch---main--white);
  font-size: var(--_sizes---headings--h2);
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-weight: 700;
  text-decoration: none;
  position: relative;
}

.nav__link.w--current {
  position: relative;
}

.nav-link__text {
  line-height: 1em;
  transition: transform .3s, color .3s;
}

.nav-contact__wrapper {
  grid-column-gap: 4em;
  grid-row-gap: 4em;
  flex-flow: column;
  display: flex;
}

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

.nav-contact__cluster {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  flex-flow: column;
  display: flex;
}

.nav-contact__link {
  color: #ffffffe6;
  text-decoration: none;
}

.nav-button__list {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  align-items: stretch;
  width: 10em;
  display: flex;
}

.nav--overlay {
  visibility: hidden;
  background-color: #00000026;
  position: fixed;
  inset: 0%;
}

.project-title__wrap {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-flow: column;
  display: flex;
}

.project-detail__wrap {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  display: flex;
}

.project__details {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  display: flex;
}

.project-detail__title {
  font-weight: 600;
}

.project-detail__text {
  color: var(--_swatch---main--orange-base);
}

.project-intro__big {
  font-size: 1.875em;
  font-weight: 700;
  line-height: 1.5em;
}

.project-intro__small {
  padding-left: 3em;
  line-height: 2em;
}

.project-logo--container {
  background-color: var(--_swatch---main--white);
  justify-content: center;
  align-items: center;
  padding: 1.5em;
  display: flex;
  overflow: hidden;
}

.project__logo {
  max-width: 10em;
  max-height: 10em;
}

.project-logo__wrap {
  justify-content: center;
  align-items: center;
  width: 10em;
  height: 10em;
  display: flex;
}

.vimeo-player__btn {
  -webkit-backdrop-filter: blur(1em);
  backdrop-filter: blur(1em);
  background-color: #64646433;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 6em;
  height: 6em;
  transition: opacity .3s linear;
  display: flex;
  position: relative;
}

.vimeo-player__duration-span {
  text-align: center;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
  display: block;
}

.vimeo-player__play {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.vimeo-player__iframe {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
}

.vimeo-player {
  pointer-events: auto;
  color: #efeeec;
  isolation: isolate;
  background-color: #131313;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: -15em;
  display: flex;
  position: relative;
  overflow: hidden;
  transform: translateX(0);
}

.vimeo-player.normal {
  max-height: 100svh;
  margin-top: 0;
}

.vimeo-player__timeline {
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  height: 1.5em;
  display: flex;
  position: relative;
}

.vimeo-player__loading {
  pointer-events: none;
  color: #ff4c24;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity .3s linear;
  display: flex;
  position: absolute;
}

.vimeo-player__fullscreen-scale-svg {
  width: 100%;
  position: absolute;
}

.vimeo-player__loading-svg {
  width: 6em;
}

.vimeo-player__duration {
  flex-shrink: 0;
  width: 2.25em;
}

.vimeo-player__timeline-input {
  pointer-events: auto;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: #0000;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.vimeo-player__mute {
  cursor: pointer;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  display: flex;
  position: relative;
}

.vimeo-player__interface-bottom {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.vimeo-player__volume-up-svg {
  width: 100%;
  position: absolute;
}

.vimeo-player__dark {
  opacity: .5;
  pointer-events: none;
  background-color: #131313;
  width: 100%;
  height: 100%;
  transition: opacity .3s linear;
  position: absolute;
}

.vimeo-player__btn-pause-svg {
  width: 50%;
}

.vimeo-player__placeholder {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: opacity .3s linear;
  display: block;
  position: absolute;
}

.vimeo-player__pause {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.vimeo-player__before {
  padding-top: 62.5%;
}

.vimeo-player__volume-mute-svg {
  width: 100%;
  position: absolute;
}

.vimeo-player__interface {
  pointer-events: none;
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 100%;
  height: 100%;
  padding: min(2em, 4vw);
  transition-property: opacity;
  transition-duration: .3s;
  transition-timing-function: linear;
  display: flex;
  position: absolute;
}

.vimeo-player__fullscreen {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  display: flex;
  position: relative;
}

.vimeo-player__fullscreen-shrink-svg {
  width: 100%;
  position: absolute;
}

.vimeo-player__timeline-progress {
  vertical-align: top;
  -webkit-appearance: none;
  appearance: none;
  height: var(--progress-height);
  border-radius: var(--timeline-rounded-corners);
  color: var(--progress-fill-bg);
  background-color: #0000;
  border: none;
  width: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.project-impress__grid {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.project-impress__img {
  max-height: 40em;
}

.project-bts__container {
  margin-top: 3em;
}

.collection-list {
  display: flex;
  position: relative;
}

.vimeo-lightbox__pause {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.vimeo-lightbox__timeline {
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  height: 1.5em;
  display: flex;
  position: relative;
}

.vimeo-lightbox__loading-svg {
  color: #ff4c24;
  width: 6em;
}

.vimeo-lightbox__player {
  pointer-events: auto;
  color: #efeeec;
  isolation: isolate;
  background-color: #131313;
  border-radius: 1em;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.vimeo-lightbox__dark {
  opacity: .5;
  pointer-events: none;
  background-color: #131313;
  width: 100%;
  height: 100%;
  transition: opacity .3s linear;
  position: absolute;
}

.vimeo-lightbox__volume-up-svg {
  width: 100%;
  position: absolute;
}

.vimeo-lightbox__btn {
  -webkit-backdrop-filter: blur(1em);
  backdrop-filter: blur(1em);
  background-color: #64646433;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 6em;
  height: 6em;
  transition: opacity .3s linear;
  display: flex;
  position: relative;
}

.vimeo-lightbox__volume-mute-svg, .vimeo-lightbox__fullscreen-scale-svg {
  width: 100%;
  position: absolute;
}

.vimeo-lightbox__duration-span {
  text-align: center;
  white-space: nowrap;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
  display: block;
}

.vimeo-lightbox__interface-bottom {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.vimeo-lightbox__play {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
}

.vimeo-lightbox__timeline-input {
  pointer-events: auto;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-color: #0000;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}

.vimeo-lightbox__calc-wrap {
  width: 100%;
  position: relative;
}

.vimeo-lightbox {
  z-index: 300;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  padding: 5vw;
  display: flex;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.vimeo-lightbox__iframe {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
}

.vimeo-lightbox__timeline-progress {
  vertical-align: top;
  -webkit-appearance: none;
  appearance: none;
  height: var(--progress-height);
  border-radius: var(--timeline-rounded-corners);
  color: var(--progress-fill-bg);
  background-color: #0000;
  border: none;
  width: 100%;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.vimeo-lightbox__interface {
  pointer-events: none;
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  width: 100%;
  height: 100%;
  padding: min(2em, 4vw);
  transition-property: opacity;
  transition-duration: .3s;
  transition-timing-function: linear;
  display: flex;
  position: absolute;
}

.vimeo-lightbox__close {
  z-index: 600;
  background-color: var(--_swatch---main--orange-base);
  pointer-events: auto;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3em;
  height: 3em;
  display: flex;
  position: absolute;
  top: 2.5vw;
  right: 2.5vw;
}

.vimeo-lightbox__fullscreen-shrink-svg {
  width: 100%;
  position: absolute;
}

.vimeo-lightbox__placeholder {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: opacity .3s linear;
  display: block;
  position: absolute;
}

.vimeo-lightbox__bg {
  pointer-events: auto;
  background-color: #131313;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.vimeo-lightbox__calc {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.vimeo-lightbox__close-bar {
  background-color: currentColor;
  width: 1em;
  height: .125em;
  position: absolute;
  transform: rotate(-45deg);
}

.vimeo-lightbox__close-bar.is--duplicate {
  transform: rotate(45deg);
}

.vimeo-lightbox__btn-play-svg {
  width: 40%;
}

.vimeo-lightbox__btn-pause-svg {
  width: 50%;
}

.vimeo-lightbox__loading {
  pointer-events: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity .3s linear;
  display: flex;
  position: absolute;
}

.vimeo-lightbox__mute {
  cursor: pointer;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  display: flex;
  position: relative;
}

.vimeo-lightbox__fullscreen {
  cursor: pointer;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  display: flex;
  position: relative;
}

.vimeo-lightbox__before {
  padding-top: 62.5%;
}

.vimeo-lightbox__duration {
  flex-shrink: 0;
  width: 2.25em;
}

.p-review__container {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.p-review__title {
  max-width: 10ch;
}

.p-review__wrap {
  position: relative;
}

.review__box {
  z-index: 3;
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  background-color: var(--_swatch---main--orange-base);
  flex-flow: column;
  max-width: 20em;
  padding: 2.5em 3.125em;
  display: flex;
  position: absolute;
  top: auto;
  bottom: 2em;
  right: auto;
  transform: translate(-50%);
}

.p-review-quote__text {
  max-width: 25ch;
  font-size: 1.125em;
  font-weight: 700;
}

.review-box__quote {
  opacity: .4;
  font-size: 4.3125em;
  line-height: 1em;
  position: absolute;
  top: 1rem;
  left: .7rem;
}

.nav-item__svg {
  opacity: 0;
  pointer-events: none;
  width: 1em;
  height: 1em;
  transition: all .3s;
  position: absolute;
  inset: 20% auto auto -1em;
  transform: rotate(90deg)translate(0, -50%);
}

@media screen and (max-width: 991px) {
  body {
    --_sizes---headings--h1: 4em;
    --_sizes---headings--h2: 3em;
    --_sizes---headings--h3: 1.6em;
    --_sizes---headings--h4: 1.5em;
    --_sizes---headings--h5: 1.4em;
    --_sizes---headings--h6: 1.3em;
    --_sizes---paragraph--base: 1em;
    --_sizes---paragraph--large: 1.2em;
    --_sizes---paddings--section-large: 6.25em;
    --_sizes---paddings--section-small: 3.2em;
    --_sizes---paragraph--small: .9em;
    --_sizes---paddings--container-base: 2em;
    --_sizes---base: 1em;
    --_sizes---paddings--section-base: 5em;
    --_sizes---paddings--container-small: 1em;
    --_sizes---paddings--container-large: 4em;
  }

  .h2.heading-strikethrough--text {
    bottom: 0%;
  }

  .container.section--padding.hero--section.small, .container.section--padding.small, .container.section--padding.hero--section.small, .container.section--padding.small, .container.section--padding.hero--section.small, .container.section--padding.hero--section.small, .container.section--padding.small {
    max-width: var(--size-container);
  }

  .hero-text--container {
    width: 100%;
    max-width: 100%;
  }

  .home-intro--text {
    font-size: 6.25em;
  }

  .footer-top--left {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
  }

  .h-project-item--logo {
    max-width: 6em;
    max-height: 3em;
  }

  .h-project-item--service {
    padding-right: 2em;
    font-size: .8em;
  }

  .marquee-advanced__item-width {
    width: 25vw;
  }

  ._2col-strikethrough-text--wrap {
    height: auto;
    padding-bottom: 20%;
  }

  ._2col, ._2col.gap--xxl, ._2col.gap--xxl {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
  }

  .h-intro-text--col {
    padding-left: 0;
  }

  .h-service-title--wrap {
    width: auto;
  }

  .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;
  }

  .cta--container {
    padding-right: 0;
  }

  .cta-sec--wrapper {
    grid-column-gap: 3em;
    grid-row-gap: 3em;
    flex-flow: column;
  }

  .cta-text--wrap {
    width: 100%;
  }

  .cta-img--col {
    width: 100%;
    height: 35em;
  }

  .cta--img.image--cutout {
    width: calc(100% + 5.625em);
    position: absolute;
  }

  .hero__content {
    padding-right: var(--_sizes---paddings--container-base);
    padding-left: var(--_sizes---paddings--container-base);
  }

  .willem-nav__links {
    grid-column-gap: 0em;
    grid-row-gap: 0em;
    flex-flow: column;
  }

  .willem__h1 {
    font-size: 9em;
  }

  .vimeo-bg__pause, .vimeo-bg__play {
    bottom: 1em;
    right: 1em;
  }

  .review__wrap {
    padding-top: 3em;
    padding-bottom: 6em;
  }

  .review__button.big {
    width: 5em;
    height: 5em;
  }

  .nav--wrapper {
    grid-template-columns: 1fr;
  }

  .nav-grid__col {
    padding: 2em 2em 3em;
  }

  .nav-grid__col.first {
    margin-right: 0;
    padding: 6em 2em 2em;
  }

  .nav-grid__col.is2 {
    display: none;
  }

  .nav__list {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .nav__link {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1.5em;
  }

  .nav-contact__list {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    flex-flow: wrap;
  }

  .nav-contact__cluster {
    width: 48%;
  }

  .nav-button__list.navigation {
    flex-flow: row;
  }

  .footer__title {
    margin: 0;
  }

  .nav-contact__title {
    width: 100%;
  }

  .hero-video__container {
    width: 80%;
  }

  .contact__container {
    flex-flow: column;
  }

  .contact__wrap {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    max-width: 100%;
  }

  .contact-img__container.image--cutout {
    width: 100%;
    height: 30em;
  }

  .cta-small__container {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
  }

  .cta-small__wrap {
    width: 100%;
  }

  .cta-small__svg {
    transform: rotate(135deg);
  }

  .cta-small-svg__wrap {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  body {
    --_sizes---headings--h1: 2.25em;
    --_sizes---headings--h2: 2em;
    --_sizes---headings--h3: 1.5em;
    --_sizes---headings--h4: 1.5em;
    --_sizes---headings--h5: 1.4em;
    --_sizes---headings--h6: 1.3em;
    --_sizes---paragraph--base: 1em;
    --_sizes---paragraph--large: 1.2em;
    --_sizes---paddings--section-large: 6.25em;
    --_sizes---paddings--section-small: 3.2em;
    --_sizes---paragraph--small: .9em;
    --_sizes---paddings--container-base: 1.5em;
    --_sizes---base: 1em;
    --_sizes---paddings--section-base: 5em;
    --_sizes---paddings--container-small: 1em;
    --_sizes---paddings--container-large: 4em;
  }

  p {
    font-size: 1em;
    line-height: 1.5em;
  }

  .h2.heading-strikethrough--text {
    bottom: -10%;
  }

  .section.text--scroll {
    padding-top: 0;
  }

  .section.text--scroll.section--padding.dark--background.project {
    padding-top: var(--_sizes---paddings--section-small);
    padding-bottom: var(--_sizes---paddings--section-small);
    padding-top: var(--_sizes---paddings--section-small);
    padding-bottom: var(--_sizes---paddings--section-small);
    padding-top: var(--_sizes---paddings--section-small);
    padding-bottom: var(--_sizes---paddings--section-small);
    padding-top: var(--_sizes---paddings--section-small);
    padding-bottom: var(--_sizes---paddings--section-small);
  }

  .container.section--padding._2col {
    flex-flow: column;
  }

  .container.section--padding.hero--section {
    padding-top: calc(var(--_sizes---paddings--section-large) * 1.5);
  }

  .container.section--padding.xxl.u-position__relative {
    padding-top: 0;
    padding-bottom: 0;
  }

  .container.section--padding.section__overflow {
    overflow: hidden;
  }

  .container.section--padding.section__overflow.mobile-small-section--padding {
    padding-top: var(--_sizes---paddings--section-small);
    padding-bottom: var(--_sizes---paddings--section-small);
    padding-top: var(--_sizes---paddings--section-small);
    padding-bottom: var(--_sizes---paddings--section-small);
  }

  .logo--wrapper {
    color: var(--_swatch---main--white);
  }

  .button-wrap {
    flex-flow: wrap;
  }

  .header--logo {
    width: 8em;
  }

  .header-button--wrap {
    width: 4em;
    height: 4em;
  }

  .home-intro--text {
    white-space: nowrap;
    font-size: 4em;
  }

  .footer--top {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    flex-flow: column;
  }

  .footer-top--left {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }

  .footer-contact--grid {
    flex-flow: column;
  }

  .footer-page--wrap {
    z-index: 1;
    position: relative;
  }

  .footer-page--grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer--svg {
    opacity: .1;
    width: 80%;
  }

  .gsap-slider {
    padding-left: 0;
    padding-right: 1em;
  }

  .gsap-slider__item {
    width: calc(((100% - 1px)  - (var(--slider-spv)  - 1) * var(--slider-gap)) / var(--slider-spv));
  }

  .h-project--item {
    height: 30em;
  }

  .h-project-item--title {
    padding: 1em;
  }

  .h-project-logo--wrap {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    flex-flow: column;
    padding-left: 0;
  }

  .h-project-item--logo {
    padding-top: .75em;
  }

  .h-project-item-logo--line {
    width: 100%;
    height: .0625em;
  }

  .h-project-item--service {
    text-align: center;
    white-space: normal;
    max-width: 15ch;
    margin-left: 1em;
    margin-right: 1em;
    padding-bottom: .5em;
    padding-left: 0;
    padding-right: 0;
    line-height: 1.2em;
  }

  .marquee-advanced__item-width {
    width: 33vw;
    height: 4.5em;
  }

  .section-title--flex {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .review--grid {
    grid-template-columns: 1fr;
  }

  ._2col-img--wrap, ._2col-text--wrap {
    width: 100%;
  }

  .h-intro--title {
    text-align: left;
  }

  ._2col {
    grid-template-columns: 1fr;
  }

  ._2col.position-mobile__relative {
    position: relative;
  }

  .h-intro--svg {
    display: none;
  }

  .h-service-title--wrap {
    padding-left: 0;
  }

  .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-visual__wrap {
    height: 20em;
  }

  .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;
  }

  .cta-sec--wrapper {
    padding: 2.5em;
  }

  .cta--img.image--cutout {
    width: calc(100% + 5em);
    display: none;
    bottom: -2.5em;
    left: -2.5em;
    transform: translate(0, 2.5em);
  }

  .cta--img.image--cutout.mobile {
    display: block;
  }

  .cta-contact--details {
    width: 100%;
    padding: 1.5em;
    position: absolute;
    bottom: 0;
  }

  .cta-detail--grid {
    grid-template-columns: 1fr;
  }

  .hero__content {
    padding-top: 1em;
    padding-left: 0;
    padding-right: 0;
  }

  .willem-nav__start {
    width: 65%;
  }

  .willem__h1 {
    font-size: 5.5em;
  }

  .willem-nav__end {
    grid-column-gap: 1.5em;
    grid-row-gap: 1.5em;
    flex-flow: column;
    width: 45%;
  }

  .vimeo--overlay {
    background-image: linear-gradient(-180deg, #0000 70%, var(--_swatch---main--green-dark));
  }

  .flick-card__h3 {
    font-size: 10vw;
  }

  .flick-card__btn {
    width: calc(100% - 2em);
    bottom: 1em;
    left: 1em;
  }

  .flick-group__relative-object {
    width: 120vw;
  }

  .flick-card {
    border-width: .25em;
    width: 60vw;
  }

  .flick-group {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
  }

  .review-client__img {
    flex: none;
    width: 2em;
    height: 2em;
  }

  .u-grid__2col {
    grid-template-columns: 1fr;
  }

  .text__svg {
    width: 30%;
    right: -10px;
  }

  .team__wrap {
    flex-flow: column;
  }

  .team__card, .team-card__sollicatatie {
    width: auto;
  }

  .process__grid {
    flex-flow: column;
    grid-template-columns: 1fr;
    justify-items: stretch;
    display: flex;
  }

  .process__card.is2 {
    transform: none;
  }

  .process-info__wrap {
    padding: 2em 1.5em;
  }

  .proces-text__wrap {
    flex: 0 auto;
    max-width: calc(100% - 1.5em);
  }

  .project__grid {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    grid-template-columns: 1fr;
  }

  .project-grid__item {
    position: relative;
  }

  .project-detail__wrap {
    grid-column-gap: .5em;
    grid-row-gap: .5em;
    flex-flow: column;
  }

  .project-intro__big {
    font-size: 1.25em;
  }

  .project-intro__small {
    padding-left: 0;
  }

  .project-logo--container {
    justify-content: flex-start;
    align-items: center;
    padding: 0;
    position: absolute;
    inset: 0% 0% auto auto;
  }

  .project__logo {
    max-width: 2em;
    max-height: 2em;
  }

  .project-logo__wrap {
    justify-content: center;
    align-items: center;
    width: 4em;
    height: 4em;
  }

  .hero-video__container {
    width: 100%;
    height: 40svh;
    position: relative;
    top: 0%;
    transform: none;
  }

  .project--title {
    margin-top: 0;
    font-size: 1em;
  }

  .p-review__container {
    grid-template-columns: 1fr;
  }

  .review__box {
    padding: 1.5em 1.5em 1.5em 2em;
    left: 0;
    right: 0;
    transform: none;
  }

  .p-review-quote__text {
    font-size: 1em;
  }

  .review-box__quote {
    font-size: 2em;
  }

  .heading-strikethrough--text {
    left: 0%;
  }

  .contact__wrap {
    padding: 3em 1.5em;
  }

  .contact__overlay {
    background-image: linear-gradient(0deg, #0e302ae6 15%, #0000 87%);
  }

  .contact__grid {
    grid-template-columns: 1fr;
  }

  .cta-small__wrap {
    flex-flow: column-reverse;
  }

  .cta-small__details {
    width: 100%;
    padding: 2em;
  }

  .cta-small-img__wrap {
    aspect-ratio: 1.5;
    width: 100%;
  }

  .h-img__wrap {
    width: 100%;
  }

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

  .full-width {
    width: 100%;
  }
}

@media screen and (max-width: 479px) {
  .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;
  }

  .willem__h1-start {
    width: 2em;
  }

  .hero__content {
    min-height: auto;
    padding-top: 3em;
  }

  .willem__h1-end {
    width: 2em;
  }

  .image {
    width: 100%;
    margin-left: auto;
  }
}

#w-node-c363bb10-dac9-92af-d5cc-804d3ffc0b47-8c4766ea {
  place-self: end;
}

#w-node-_88e18530-ae32-9927-a095-5370dda96be5-8c4766ea, #w-node-_867542ff-147b-01aa-9a19-ef3e276d85d8-8c4766ea, #w-node-_37f4a49f-6063-4561-b34d-5bae10757d98-8c4766ea {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_40c7425e-3474-dda4-76e6-aa73ee31286b-8c4766ea {
  justify-self: start;
}

#w-node-a682e5b5-bfaa-38e0-7d9e-721810ce811b-10ce8117 {
  align-self: center;
}
