:root {
  --white: white;
  --black: black;
  --gainsboro: #e8e6e5;
  --green-yellow: #c6fb50;
  --violet: #f88cd4;
}

body {
  background-color: var(--white);
  color: var(--black);
  letter-spacing: 0;
  font-family: Switzer, sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
}

h1 {
  letter-spacing: -.07em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 6em;
  font-weight: 500;
  line-height: .9;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 500;
}

h3, h4, h5, h6, p {
  margin-top: 0;
  margin-bottom: 0;
}

a {
  font-size: 1em;
  text-decoration: none;
}

label {
  margin-bottom: .3em;
  font-size: 1.25em;
  font-weight: 700;
  display: block;
}

blockquote {
  border-left: .3em solid #e2e2e2;
  margin-bottom: 1em;
  padding: 1em 2em 1em 1.7em;
  font-size: 1.2em;
  line-height: 1.6;
}

.container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 1.8em;
}

.container.is-nav {
  justify-content: space-between;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}

.container.is-home-hero {
  padding-top: 0;
}

.container.is-work {
  padding-top: 3em;
  padding-bottom: 3em;
}

.container.is-projects {
  padding-top: 6em;
  padding-bottom: 1.8em;
}

.container.is-footer {
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  min-height: 100vh;
  padding-bottom: 0;
  display: flex;
}

.container.is-awards {
  padding-top: 5em;
  padding-bottom: 6%;
}

.page-wrapper {
  width: 100%;
  font-size: 1em;
  position: relative;
}

.page-main {
  z-index: 2;
  background-color: var(--white);
  border-bottom-right-radius: 2em;
  border-bottom-left-radius: 2em;
  position: relative;
  overflow: hidden;
}

.page-styles {
  position: fixed;
  inset: 0% 0% auto;
}

.home-hero_visual {
  z-index: 1;
  position: relative;
  overflow: hidden;
}

.home-hero_visual-height-radius {
  padding-top: 68%;
  position: relative;
  overflow: hidden;
}

.grid {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.grid.is-projects {
  justify-content: space-between;
  align-items: end;
}

.grid.is-projects.flex {
  display: flex;
}

.grid.is-awards {
  grid-row-gap: 2em;
  padding-top: 2em;
}

.grid.flex {
  border-top: 1px solid #000;
  border-bottom: 1px #000;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
}

.home-hero_image {
  object-fit: cover;
  object-position: 50% 6%;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.home-hero_content {
  z-index: 2;
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 30%;
  display: flex;
  position: relative;
}

.text-style-display {
  letter-spacing: -.06em;
  text-transform: uppercase;
  white-space: nowrap;
  margin-left: -.06em;
  font-size: 8.8vw;
  line-height: .88;
}

.text-style-sub {
  text-transform: uppercase;
  font-size: .9em;
}

.text-style-sub.is-2 {
  position: absolute;
  inset: 0% auto auto 0%;
}

.nav_logo {
  width: 10.1rem;
  height: 6.4rem;
}

.nav_logo-text {
  text-transform: uppercase;
  line-height: 1;
}

.home-hero_p {
  max-width: 20em;
}

.c_button_link {
  white-space: nowrap;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  min-width: 9.3em;
  padding-top: 1.8em;
  padding-bottom: 1.8em;
  display: flex;
}

.home-hero_image-wrap {
  z-index: 1;
  background-color: var(--gainsboro);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0% 0% 0% auto;
  overflow: hidden;
}

.home-hero_image-wrap.is-2 {
  z-index: 2;
  display: none;
}

.c_button_panel {
  border: 1.5px solid #0000001a;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  min-width: 3.2em;
  min-height: 2.8em;
  padding-left: 1em;
  padding-right: 1em;
  transition: color .2s, background-color .2s;
  display: flex;
}

.c_button_emoji {
  justify-content: center;
  align-items: center;
  width: .9em;
  height: .9em;
  font-size: 1.6em;
  line-height: .6;
  display: flex;
}

.c_button_text-wrap {
  width: 0;
  position: relative;
  overflow: hidden;
}

.c_button_text.text-style-sub.is-2 {
  position: absolute;
  inset: 0% auto auto 0%;
}

.home-hero_overlay {
  z-index: 3;
  background-color: var(--white);
  width: 0%;
  height: 100%;
  position: absolute;
  inset: 0% auto 0% 0%;
}

.work_item {
  border-top: 1.5px solid #0003;
}

.work_item:last-child {
  border-bottom: 1.5px solid #0003;
}

.work_content {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 28em;
  display: flex;
}

.work_visual {
  display: block;
  position: relative;
  overflow: hidden;
}

.work_visual-height-radius {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
}

.work_image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.text-style-h3 {
  letter-spacing: -.02em;
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.3;
}

.work_video {
  z-index: 3;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity .4s;
  position: absolute;
  inset: 0%;
}

.work_video.is-shown {
  opacity: 1;
}

.work_role-wrap {
  padding-bottom: 1em;
}

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

.opacity-low {
  color: #0000008a;
}

.work_link {
  grid-column-gap: .5em;
  grid-row-gap: .5em;
  background-color: #fff;
  border: 1.5px solid #0003;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  margin-top: auto;
  padding: .6em 1.2em;
  line-height: 1.4;
  transition: color .2s, background-color .2s;
  display: flex;
}

.work_link:hover {
  background-color: var(--black);
  color: var(--white);
}

.work_link.tab {
  width: 17vw;
}

.work_link-svg {
  flex: none;
  width: .7em;
  height: 1.2em;
  transition: transform .2s;
}

.sr-only {
  opacity: 0;
  max-width: 0;
  max-height: 0;
  position: absolute;
  inset: 0% auto auto 0%;
  overflow: hidden;
}

.link {
  text-decoration: underline;
}

.link:hover {
  color: #0000008a;
}

.text-style-display-2 {
  letter-spacing: -.06em;
  white-space: nowrap;
  margin-left: -.06em;
  font-size: 5em;
  line-height: .88;
}

.footer {
  background-color: var(--black);
  color: var(--gainsboro);
  position: sticky;
  bottom: 0;
}

.footer_wrapper {
  margin-top: -100vh;
}

.spacer {
  height: 100vh;
}

.footer_link-text {
  letter-spacing: -.07em;
  font-size: 1em;
  line-height: .9;
}

.footer_link-text.is-2 {
  position: absolute;
  inset: 0% auto auto 0%;
}

.footer_link {
  border-bottom-style: solid;
  border-bottom-width: .05em;
  padding-bottom: .08em;
  font-size: 9vw;
  position: relative;
  overflow: hidden;
}

.footer_link:hover {
  color: var(--green-yellow);
}

.footer_link-text-wrap {
  position: relative;
  overflow: hidden;
}

.footer_top {
  width: 100%;
  height: 0;
}

.footer_bottom {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  color: #7c7c7c;
  border-top: 1.5px solid #fff3;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: 1.8em;
  padding-bottom: 2.2em;
  display: flex;
}

.social_link-wrapper {
  grid-column-gap: 1.25em;
  grid-row-gap: 0em;
  flex-wrap: wrap;
  justify-content: flex-start;
  display: flex;
}

.social_link {
  padding-top: .3em;
  padding-bottom: .3em;
}

.social_link:hover {
  color: var(--gainsboro);
}

.social_link-text-wrap {
  position: relative;
  overflow: hidden;
}

.social_link-text {
  line-height: 1.3;
}

.social_link-text.is-2 {
  position: absolute;
  inset: 0% auto auto 0%;
}

.c_button_wrap {
  padding-right: .8em;
  position: relative;
}

.work_link-text-wrap {
  position: relative;
  overflow: hidden;
}

.awards_section {
  display: none;
}

.awards_card {
  grid-column-gap: .75em;
  grid-row-gap: .75em;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  line-height: 1.3;
  display: flex;
  position: relative;
  overflow: hidden;
}

.awards_card-height-radius {
  width: 100%;
  padding-top: 100%;
  position: relative;
  overflow: hidden;
}

.awards_card-height-radius.is-16-9 {
  padding-top: 56.25%;
}

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

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

.awards_video {
  z-index: 2;
  width: 100%;
  height: 100%;
  transition: opacity .4s;
  position: absolute;
  inset: 0%;
}

.awards_video.is-shown {
  opacity: 1;
}

.awards_button-wrap {
  z-index: 3;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0%;
}

.awards_button {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--white);
  background-color: #97979730;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  width: 5em;
  height: 5em;
  transition: color .2s, background-color .2s, transform .2s;
  display: flex;
}

.awards_button-embed {
  opacity: 1;
  width: 2em;
  height: 2em;
}

.awards_visual {
  z-index: 1;
  width: 100%;
  height: 100%;
  transition: transform .4s;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.footer_center {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

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

.footer_status-dot {
  background-color: var(--violet);
  border-radius: 100vw;
  flex: none;
  width: 1em;
  height: 1em;
}

.logo-video {
  z-index: 888888;
  width: 100%;
  height: 100%;
}

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

.image.cover {
  object-fit: cover;
  object-position: 50% 0%;
}

.project-video {
  border-radius: 20px;
  width: 100%;
}

.project-video-wrapper {
  border-radius: 100px;
  width: 100%;
}

.about-paragraph {
  width: 30vw;
}

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

.expertise-logo-wrapper {
  object-fit: cover;
  width: 18vw;
  height: 12vw;
  padding: 24px;
}

.tab-menu {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  padding-left: 1.8em;
  padding-right: 1.8em;
  display: flex;
}

@media screen and (max-width: 991px) {
  .container {
    padding: 1.2em;
  }

  .grid {
    grid-column-gap: .75em;
  }

  .work_content {
    padding-bottom: 1.5em;
  }

  .footer_link {
    font-size: 12vw;
  }
}

@media screen and (max-width: 767px) {
  .container {
    padding: 1em;
  }

  .grid {
    grid-column-gap: .5em;
  }

  .home-hero_content {
    padding-top: 12%;
    padding-bottom: .5em;
  }

  .text-style-display {
    font-size: 16vw;
  }

  .text-style-display-2 {
    font-size: 4em;
  }

  .footer_link {
    font-size: 14vw;
  }
}

@media screen and (max-width: 479px) {
  .container.is-projects {
    padding-top: 1em;
  }

  .home-hero_visual-height-radius {
    padding-top: 130%;
  }

  .grid.is-projects.flex {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

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

  .home-hero_image {
    object-position: 50% -80%;
  }

  .nav_logo {
    width: 8.7rem;
    height: 3.7rem;
  }

  .work_link.tab, .work_link.tab.w--current {
    width: auto;
  }

  .text-style-display-2 {
    margin-left: 0;
    font-size: 3.5em;
  }

  .about-paragraph {
    width: auto;
  }

  .about-grid {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    grid-template-columns: 1fr;
  }

  .expertise-logo-wrapper {
    width: 100%;
    height: auto;
  }

  .tab-menu {
    padding-left: 1em;
    padding-right: 1em;
  }
}

#w-node-_7bfdb334-e25f-79bf-7af9-1a6446921a78-9f77ca1f {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_29200686-3778-2e5b-1aa7-bd99134155d0-9f77ca1f {
  grid-area: 1 / 1 / 2 / 9;
}

#w-node-cd0cba11-749c-7898-fcde-6913316ca59d-9f77ca1f {
  grid-area: 1 / 5 / 2 / 13;
}

#w-node-cf6529ee-71ac-1124-9d4a-9a02bd5d15d8-9f77ca1f {
  grid-area: 1 / 1 / 2 / 9;
}

#w-node-_714a1d9c-ebfa-58d9-c7fb-4bc26d683f73-9f77ca1f, #w-node-_8988a9d2-9f25-7161-a337-76a45bd3dd7c-9f77ca1f, #w-node-_34cb7674-276f-fa71-2585-dff123197ebc-9f77ca1f, #w-node-a8c41d22-eab6-cdc6-08ce-5bcf09341fc2-9f77ca1f, #w-node-_38661e46-bfc5-eb18-23eb-660e36a0f8f8-9f77ca1f, #w-node-cf5d77ed-f86c-9c4d-2767-8122322526ae-9f77ca1f {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_195bf476-0613-99ec-024b-c29713223abc-9f77ca1f {
  grid-area: 1 / 1 / 2 / 9;
}

#w-node-_195bf476-0613-99ec-024b-c29713223abe-9f77ca1f {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_13b61dda-cdb5-aa06-4403-7fb410a03e94-9f77ca1f {
  grid-area: 1 / 1 / 2 / 9;
}

#w-node-c1d1fe56-d919-7d35-d8fe-07210ada8ca8-9f77ca1f {
  grid-area: span 1 / span 8 / span 1 / span 8;
}

#w-node-_82225be9-7802-8bb0-9628-293882f89f24-9f77ca1f {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

@media screen and (max-width: 991px) {
  #w-node-_8988a9d2-9f25-7161-a337-76a45bd3dd7c-9f77ca1f, #w-node-_34cb7674-276f-fa71-2585-dff123197ebc-9f77ca1f, #w-node-a8c41d22-eab6-cdc6-08ce-5bcf09341fc2-9f77ca1f, #w-node-_38661e46-bfc5-eb18-23eb-660e36a0f8f8-9f77ca1f, #w-node-cf5d77ed-f86c-9c4d-2767-8122322526ae-9f77ca1f {
    grid-area: span 1 / span 12 / span 1 / span 12;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_7bfdb334-e25f-79bf-7af9-1a6446921a78-9f77ca1f, #w-node-cd0cba11-749c-7898-fcde-6913316ca59d-9f77ca1f, #w-node-cf6529ee-71ac-1124-9d4a-9a02bd5d15d8-9f77ca1f, #w-node-_714a1d9c-ebfa-58d9-c7fb-4bc26d683f73-9f77ca1f, #w-node-_195bf476-0613-99ec-024b-c29713223abc-9f77ca1f, #w-node-_195bf476-0613-99ec-024b-c29713223abe-9f77ca1f, #w-node-_13b61dda-cdb5-aa06-4403-7fb410a03e94-9f77ca1f, #w-node-c1d1fe56-d919-7d35-d8fe-07210ada8ca8-9f77ca1f {
    grid-area: span 1 / span 12 / span 1 / span 12;
  }

  #w-node-_82225be9-7802-8bb0-9628-293882f89f24-9f77ca1f {
    grid-area: span 1 / span 8 / span 1 / span 8;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_82225be9-7802-8bb0-9628-293882f89f24-9f77ca1f {
    grid-area: span 1 / span 12 / span 1 / span 12;
  }
}


@font-face {
  font-family: 'Switzer';
  src: url('../fonts/Switzer-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}