:root {
  --_swatch---white: #f9f9f9;
  --_swatch---light: #fffdf5;
  --spacing--medium: 2rem;
  --spacing--container: 4rem;
  --spacing--large: 3rem;
  --spacing--xxlarge: 7rem;
  --_swatch---black: #000;
  --_swatch---accent: #ea1c89;
  --spacing--base: 1rem;
  --spacing--xlarge: 4rem;
  --text-size--base: var(--size-font);
}

body {
  color: var(--_swatch---white);
  font-family: Inter, sans-serif;
  line-height: 1.2em;
  font-size: var(--size-font);
}

h1 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 4em;
  font-weight: 700;
  line-height: 1.5em;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 2.5em;
  font-weight: 700;
  line-height: 1.5em;
}

p {
  margin-bottom: 10px;
  font-weight: 200;
  line-height: 1.2em;
}

a {
  color: var(--_swatch---light);
  text-decoration: underline;
}

img {
  object-fit: cover;
  max-width: 100%;
  display: inline-block;
}

.section.header {
  z-index: 999;
  padding-top: var(--spacing--medium);
  padding-bottom: var(--spacing--medium);
  width: 100%;
  position: absolute;
}

.section.work-img--grid {
  padding-bottom: 20svh;
}

.section.header--wrapper {
  z-index: 100;
  padding-top: var(--spacing--medium);
  padding-bottom: var(--spacing--medium);
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
  position: absolute;
}

.container {
  padding-right: var(--spacing--container);
  padding-left: var(--spacing--container);
  width: 100%;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
}

.container.container--wide {
  max-width: 95%;
  padding-left: 0;
  padding-right: 0;
}

.container.container--wide.container--padding.padding--xxlarge {
  padding-top: var(--spacing--xxlarge);
  padding-bottom: var(--spacing--xxlarge);
  margin-top: -39px;
}

.container.container--wide.container--padding.padding--xxlarge.home-work--custom {
  object-fit: fill;
  margin-top: -75px;
  margin-bottom: -44px;
  padding-bottom: 5rem;
  display: block;
  top: 44px;
}

.container.work-scorll--container {
  min-height: 130svh;
}

.container.container--padding {
  padding-top: var(--spacing--large);
  padding-bottom: var(--spacing--large);
}

.container.container--padding.padding-bottom--xxl {
  padding-bottom: var(--spacing--xxlarge);
}

.container.container--padding.padding-xxlarge {
  padding-top: var(--spacing--xxlarge);
  padding-bottom: var(--spacing--xxlarge);
  width: 104%;
  margin-top: 0;
  margin-bottom: 0;
}

.container.container--padding.p-hero {
  padding-top: 8rem;
  padding-bottom: 3rem;
}

.container.container--padding.padding-top--none {
  padding-top: 0;
}

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

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

.header-nav--container {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.header-nav--wrapper {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  display: flex;
}

.header-nav--wrapper.dark {
  color: var(--_swatch---black);
}

.header-nav--link {
  color: inherit;
  font-size: 1.25em;
  text-decoration: none;
}

.underline-link {
  position: relative;
}

.text-color--dark {
  color: var(--_swatch---black);
}

.text-color--dark.font-size--large {
  font-size: 1.2em;
  font-weight: 300;
}

.text-color--dark.font-size--large.partner--paragraph {
  margin-bottom: 1em;
}

.h-about--container {
  position: relative;
  overflow: clip;
}

.h-about--container.marquee {
  margin-bottom: 145px;
  overflow: hidden;
}

.h-about--background {
  z-index: -1;
  background-color: var(--_swatch---black);
  position: absolute;
  inset: 0%;
  overflow: clip;
}

.h-about--trigger {
  pointer-events: none;
  width: 100%;
  height: 100%;
  max-height: 100svh;
  position: absolute;
  inset: 0% auto auto 0%;
}

.h-about-footer--spacing {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  height: 30svh;
  display: flex;
}

.footer {
  background-color: var(--_swatch---white);
  position: relative;
}

.footer-contact--wrapper {
  z-index: 1;
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.footer--link {
  color: var(--_swatch---black);
  font-size: 1.5em;
  text-decoration: none;
}

.footer-icon {
  z-index: 0;
  width: 7em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.display--none {
  display: none;
}

.underline-link-dark {
  position: relative;
}

.menu-details {
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-left: 2em;
  display: flex;
}

.menu-list {
  flex-flow: column;
  width: 100%;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
  display: flex;
}

.menu-button {
  z-index: 10;
  grid-column-gap: .625em;
  grid-row-gap: .625em;
  background-color: var(--_swatch---white);
  color: var(--_swatch---black);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin: -1em -.9em;
  padding: 1em .9em;
  display: flex;
  box-shadow: 0 0 5px #0000001a;
}

.icon-wrap {
  width: 1em;
  height: .8em;
  transition: transform .4s cubic-bezier(.65, .05, 0, 1);
}

.menu-button-icon {
  flex-flow: column;
  justify-content: space-between;
  width: 1em;
  height: .8em;
  display: flex;
}

.menu-link {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  color: #131313;
  width: 100%;
  padding-top: .75em;
  padding-bottom: .75em;
  padding-left: 2em;
  text-decoration: none;
  display: flex;
}

.header {
  z-index: 10002;
  justify-content: flex-end;
  align-items: center;
  display: flex;
  position: fixed;
  top: 2em;
  left: 2em;
  right: 2em;
}

.p-large {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.125em;
}

.p-large.agency-small-paragraph {
  max-width: 30ch;
}

.p-large.text-link {
  color: #131313;
}

.overlay {
  z-index: 20;
  cursor: pointer;
  background-color: #13131366;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.menu-link-heading {
  z-index: 1;
  text-transform: none;
  font-size: 4.5em;
  font-weight: 700;
  line-height: .75;
  transition: transform .55s cubic-bezier(.65, .05, 0, 1);
  position: relative;
}

.socials-row {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  flex-flow: row;
  display: flex;
}

.bg-panel {
  z-index: 100;
  background-color: var(--_swatch---white);
  border-top-left-radius: 1.25em;
  border-bottom-left-radius: 1.25em;
  position: absolute;
  inset: 0%;
}

.bg-panel.second {
  background-color: var(--_swatch---black);
}

.bg-panel.first {
  background-color: var(--_swatch---accent);
}

.p-small {
  font-size: .875em;
}

.menu {
  z-index: 100;
  grid-column-gap: 5em;
  grid-row-gap: 5em;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 35em;
  height: 100%;
  margin-left: auto;
  padding-top: 6em;
  padding-bottom: 2em;
  position: relative;
  overflow: auto;
}

.menu-list-item {
  height: 6em;
  position: relative;
  overflow: hidden;
}

.menu-bg {
  z-index: 100;
  position: absolute;
  inset: 0%;
}

.nav {
  z-index: 10001;
  width: 100%;
  height: 100dvh;
  margin-left: auto;
  margin-right: auto;
  display: none;
  position: fixed;
  inset: 0%;
}

.menu-inner {
  z-index: 1000;
  grid-column-gap: 5em;
  grid-row-gap: 5em;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  height: 100%;
  display: flex;
  position: relative;
  overflow: auto;
}

.project--body {
  background-color: var(--_swatch---white);
}

.p-hero--container {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  flex-flow: row;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}

.p-hero-info--wrapper {
  padding: var(--spacing--xlarge);
  border-radius: var(--spacing--medium);
  background-color: var(--_swatch---black);
  flex-flow: column;
  justify-content: space-between;
  width: 40%;
  display: flex;
}

.h2 {
  font-size: 2.5em;
  line-height: 1.2em;
}

.p-hero-img--wrapper {
  border-radius: var(--spacing--medium);
  width: 60%;
  position: relative;
  overflow: hidden;
}

.p-hero--company {
  font-size: 2em;
  font-weight: 200;
  line-height: 1em;
}

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

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

.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__before {
  padding-top: 62.5%;
}

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

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

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

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

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

.p-info--title {
  color: inherit;
  margin-top: 0;
  font-size: 1.75em;
}

.p-info--text {
  color: inherit;
  max-width: 80ch;
}

.p-info--block {
  background-color: var(--_swatch---black);
  color: var(--_swatch---white);
  border-radius: 1.5em;
  padding: 2em 2.5em;
}

.p-img--grid {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto auto auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.p-grid--img {
  border-radius: var(--spacing--large);
  width: 100%;
  height: auto;
}

.p-review--quote {
  font-size: 4em;
  font-weight: 700;
  line-height: 1.1em;
}

.p-quote-text--wrapper {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.p-review-person--text {
  color: var(--_swatch---accent);
  font-size: 2em;
  font-weight: 200;
  line-height: 1.1em;
}

.hamburger--line {
  background-color: #000;
  width: 100%;
  height: 2px;
}

.p-info--grid {
  grid-column-gap: 3rem;
  grid-row-gap: 3rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

@media screen and (max-width: 991px) {
  body {
    --spacing--medium: 2rem;
    --spacing--container: 2rem;
    --spacing--large: 3rem;
    --spacing--xxlarge: 5rem;
    --spacing--base: 1rem;
    --spacing--xlarge: 4rem;
    --text-size--base: var(--size-font);
  }

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

  .h-hero-text--wrapper {
    flex-flow: column;
  }

  .h-project-item-bck--wrapper {
    height: 70svh;
  }

  .work-text--wrapper {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

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

  .agency-partner--grid {
    grid-template-columns: 1fr 1fr;
  }

  .agency-crew--grid {
    flex-flow: column;
    display: flex;
  }

  .p-hero--container {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    flex-flow: column-reverse;
  }

  .p-hero-info--wrapper {
    width: 100%;
    height: auto;
  }

  .h2.no-margin {
    margin: 0;
  }

  .p-hero-img--wrapper {
    width: 100%;
    height: 100%;
  }

  .p-quote-text--wrapper {
    flex-flow: column;
  }

  .crew--column.is2 {
    margin: 0;
  }

  .crew--column.is3 {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

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

@media screen and (max-width: 767px) {
  body {
    --spacing--medium: 2rem;
    --spacing--container: 1rem;
    --spacing--large: 3rem;
    --spacing--xxlarge: 5rem;
    --spacing--base: 1rem;
    --spacing--xlarge: 4rem;
    --text-size--base: var(--size-font);
  }

  .section {
    margin-top: 25px;
  }

  .container.container--padding.p-hero {
    padding-bottom: 0;
  }

  .container.container--padding.p-hero-custom {
    padding-top: 2rem;
  }

  .header-nav--wrapper {
    grid-column-gap: var(--spacing--medium);
    grid-row-gap: var(--spacing--medium);
  }

  .display--title {
    font-size: 6em;
  }

  .h-hero-text--wrapper {
    grid-column-gap: 3em;
    grid-row-gap: 3em;
  }

  .h-project--item {
    text-decoration: none;
  }

  ._w-project-info--wrapper {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .project--title {
    line-height: 1.3em;
  }

  .project--title.home {
    font-size: 1.35em;
  }

  .h-project--link {
    font-size: var(--size-font);
  }

  .h-project-link--text {
    font-size: 1.1em;
  }

  .h-about--trigger {
    position: absolute;
  }

  .h-about--title {
    font-size: 4em;
  }

  .footer-icon {
    inset: auto 5% 4em auto;
    transform: translate(0%);
  }

  .p-large.text-link {
    font-size: 1em;
  }

  .menu-link-heading {
    font-size: 4em;
  }

  .socials-row {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }

  .bg-panel {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .menu {
    padding-top: calc(6 * var(--menu-padding));
    width: 100%;
  }

  .menu-list-item {
    height: 4.5em;
  }

  .menu-inner {
    padding-top: var(--spacing--large);
    padding-bottom: var(--spacing--base);
  }

  .work--trigger {
    position: absolute;
  }

  .agency-partner--grid {
    grid-template-columns: 1fr;
  }

  .partner-text--wrap {
    padding-left: 0;
    padding-right: 0;
  }

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

  .marquee-advanced {
    padding-top: 5em;
    padding-bottom: 5em;
  }

  .crew--title {
    font-size: 4em;
  }

  .agency-crew--grid {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
  }

  .crew--name {
    font-size: 1.4em;
  }

  .crew--job {
    font-size: 1em;
    line-height: 1.2em;
  }

  .h-project-info--wrapper {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1.5em;
  }

  .p-hero-info--wrapper {
    padding: 2rem;
  }

  .h2.no-margin {
    font-size: 1.75em;
  }

  .p-hero--company {
    font-size: 1.25em;
  }

  .h-about-video--wrap {
    transform: scale3d(1none, 1none, 1none);
  }

  .h-about--video {
    display: none;
  }

  .h-about-bck--img {
    display: block;
  }

  .p-img--grid {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    min-height: 110svh;
  }

  .p-review--quote {
    font-size: 3.5em;
  }

  .crew--column.is3 {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 479px) {
  .section {
    margin-top: 0;
  }

  .h-project-item-bck--wrapper {
    flex: none;
  }

  .footer {
    z-index: 0;
  }

  .menu {
    padding-top: calc(7 * var(--menu-padding));
    padding-bottom: calc(2 * var(--menu-padding));
  }

  ._w-project--item {
    height: 70svh;
  }

  .p-hero-info--wrapper {
    margin-bottom: 32px;
    padding-left: 4rem;
  }

  .p-info--block {
    margin-top: 2px;
    margin-bottom: -15px;
  }

  .p-review--quote {
    font-size: 3em;
  }

  #w-node-_48e04e47-d3fe-6bb4-2279-b6f14f9f935e-7c81d821 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}
