:root {
  --colors--bg-color: #ececec;
  --typography--main-type: neue-haas-grotesk-display, sans-serif;
  --colors--text-color: #2b2b2b;
  --typography--h1: 6rem;
  --typography--h2: 1.5rem;
  --typography--h3: 1rem;
  --link-text-color: #2b2b2b;
  --spacers--spacer-1: 1rem;
  --nav-btn-text-initial: #2b2b2b;
  --nav-btn-bg-hover: #2b2b2b;
  --nav-btn-text-hover: #ececec;
  --divider-circle-bg: #2b2b2b;
  --arrow-color: #ececec;
  --spacers--spacer-25: 25rem;
  --nav-contact-info-bg: #ececec;
  --spacers--spacer-0-5: .5rem;
}

body {
  background-color: var(--colors--bg-color);
  font-family: var(--typography--main-type);
  color: var(--colors--text-color);
  height: 100vh;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  overflow: hidden;
}

h1 {
  font-family: var(--typography--main-type);
  font-size: var(--typography--h1);
  letter-spacing: -1px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: .8;
}

h2 {
  font-family: var(--typography--main-type);
  font-size: var(--typography--h2);
  letter-spacing: .2px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.15;
}

h3 {
  font-family: var(--typography--main-type);
  font-size: var(--typography--h3);
  letter-spacing: .2px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1;
}

a {
  color: var(--link-text-color);
  text-decoration: none;
}

.page-wrapper {
  margin-right: var(--spacers--spacer-1);
  margin-left: var(--spacers--spacer-1);
  height: 100%;
}

.main-wrapper {
  border-left-style: solid;
  border-left-width: 1px;
  border-right-style: solid;
  border-right-width: 1px;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 100%;
  display: flex;
}

.footer {
  padding-top: var(--spacers--spacer-1);
  padding-bottom: var(--spacers--spacer-1);
  border-top-style: solid;
  border-top-width: 1px;
  justify-content: center;
  align-items: stretch;
  display: flex;
  position: relative;
}

.nav-desktop {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  justify-content: space-between;
  display: flex;
  position: relative;
}

.nav-btn {
  padding: var(--spacers--spacer-1);
  color: var(--nav-btn-text-initial);
  font-size: var(--typography--h3);
  letter-spacing: .2px;
  background-color: #0000;
  border-left-style: solid;
  border-left-width: 1px;
  transition: color .3s, background-color .3s;
}

.nav-btn:hover {
  background-color: var(--nav-btn-bg-hover);
  color: var(--nav-btn-text-hover);
}

.nav-btn.w--current {
  background-color: var(--colors--text-color);
  color: var(--colors--bg-color);
}

.nav-logo {
  padding-right: var(--spacers--spacer-1);
  padding-left: var(--spacers--spacer-1);
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  justify-content: flex-start;
  align-items: center;
  transition: opacity .3s;
  display: flex;
}

.nav-logo:hover {
  opacity: .7;
}

.heading-h3 {
  text-wrap: balance;
}

.heading-h3.weight-semibold {
  font-weight: 600;
}

.heading-h3.remove-line-height {
  line-height: .8;
}

.heading-h3.expand {
  flex: none;
}

.circle {
  background-color: var(--divider-circle-bg);
  border-radius: 100vw;
  width: .8rem;
  height: .8rem;
}

.content-wrapper {
  height: calc(100vh - 96px);
  display: flex;
}

.home_content-left {
  padding: var(--spacers--spacer-1);
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 50%;
  display: flex;
}

.home_content-right {
  padding: var(--spacers--spacer-1);
  border-left-style: solid;
  border-left-width: 1px;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 50%;
  display: flex;
}

.nav-links {
  position: relative;
}

.heading-h1.remove-line-height {
  line-height: .75;
}

.circle-btn {
  background-color: var(--divider-circle-bg);
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  display: flex;
  overflow: hidden;
}

.services-link {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.arrow-embed {
  color: var(--arrow-color);
  width: 1rem;
  height: 1rem;
}

.arrow-embed.light {
  color: var(--colors--bg-color);
}

.home_img-wrapper {
  height: var(--spacers--spacer-25);
  justify-content: center;
  align-items: center;
  display: flex;
  overflow: hidden;
}

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

.nav-contact-info {
  z-index: 2;
  margin-top: var(--spacers--spacer-1);
  margin-right: var(--spacers--spacer-1);
  padding-top: var(--spacers--spacer-1);
  padding-bottom: var(--spacers--spacer-1);
  grid-column-gap: var(--spacers--spacer-1);
  grid-row-gap: var(--spacers--spacer-1);
  background-color: var(--nav-contact-info-bg);
  border-style: solid;
  border-width: 1px;
  flex-flow: column;
  display: flex;
  position: absolute;
  right: 0;
}

.branding_content-left {
  padding: var(--spacers--spacer-1);
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 50%;
  display: flex;
}

.branding_content-right {
  padding: var(--spacers--spacer-1);
  grid-column-gap: var(--spacers--spacer-1);
  grid-row-gap: var(--spacers--spacer-1);
  border-left-style: solid;
  border-left-width: 1px;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 50%;
  display: flex;
  position: relative;
  overflow: scroll;
}

.divider {
  background-color: var(--divider-circle-bg);
  width: 1px;
  height: 100%;
}

.services-labels {
  grid-column-gap: var(--spacers--spacer-0-5);
  grid-row-gap: var(--spacers--spacer-0-5);
  flex-flow: wrap;
  display: flex;
}

.label-txt {
  padding: var(--spacers--spacer-0-5);
  font-size: var(--typography--h3);
  text-transform: uppercase;
  border-style: solid;
  border-width: 1px;
  border-radius: 100vw;
  justify-content: flex-start;
  align-items: flex-start;
}

.services-img-wrapper {
  position: relative;
}

.scroll-link {
  z-index: 2;
  padding: var(--spacers--spacer-0-5);
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  border: 1px solid var(--colors--text-color);
  background-color: var(--colors--bg-color);
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0% auto auto 0%;
}

.project-subtitle-wrapper {
  left: var(--spacers--spacer-1);
  top: var(--spacers--spacer-1);
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  mix-blend-mode: difference;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: absolute;
}

.back-link {
  z-index: 2;
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  justify-content: flex-start;
  align-items: center;
  transition: opacity .3s;
  display: flex;
}

.back-link:hover {
  opacity: .7;
}

.services-title {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.experience_content-left {
  padding: var(--spacers--spacer-1);
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 50%;
  display: flex;
}

.experience_content-right {
  border-left-style: solid;
  border-left-width: 1px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 50%;
  display: flex;
  overflow: scroll;
}

.experience-wrapper {
  padding: var(--spacers--spacer-1);
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  flex-flow: column;
  display: flex;
}

.experience-wrapper.remove-bottom-line {
  border-bottom-width: 0;
}

.experience-title {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.experience-company {
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.weight-medium {
  font-weight: 500;
}

.company-name {
  grid-column-gap: .1rem;
  grid-row-gap: .1rem;
  flex-flow: column;
  display: flex;
}

.about_content-left {
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 50%;
  display: flex;
}

.about_content-right {
  padding: var(--spacers--spacer-1);
  border-left-style: solid;
  border-left-width: 1px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 50%;
}

.heading-h2 {
  text-wrap: balance;
}

.about-title {
  padding: var(--spacers--spacer-1);
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  height: 100%;
  display: flex;
}

.about-highlight {
  padding: var(--spacers--spacer-1);
  grid-column-gap: var(--spacers--spacer-1);
  grid-row-gap: var(--spacers--spacer-1);
  border-top-style: solid;
  border-top-width: 1px;
  flex-flow: column;
  display: flex;
}

.circle-title {
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.div-block {
  border-radius: 100vw;
  justify-content: flex-end;
  width: 10rem;
  height: 10rem;
  display: flex;
  overflow: hidden;
}

.div-block-2 {
  justify-content: flex-end;
  display: flex;
}

.nav-btn-contact {
  padding: var(--spacers--spacer-1);
  color: var(--nav-btn-text-initial);
  font-size: var(--typography--h3);
  letter-spacing: .2px;
  background-color: #0000;
  border-left-style: solid;
  border-left-width: 1px;
  transition: color .3s, background-color .3s;
}

.nav-btn-contact:hover {
  background-color: var(--nav-btn-bg-hover);
  color: var(--nav-btn-text-hover);
}

.nav-btn-contact.w--current {
  background-color: var(--colors--text-color);
  color: var(--colors--bg-color);
}

.nav-mobile {
  border-bottom-style: solid;
  border-bottom-width: 1px;
  justify-content: space-between;
  display: none;
  position: relative;
}

.nav-btn-mobile {
  padding: var(--spacers--spacer-1);
  color: var(--nav-btn-text-initial);
  font-size: var(--typography--h3);
  letter-spacing: .2px;
  background-color: #0000;
  border-left-style: solid;
  border-left-width: 1px;
  transition: color .3s, background-color .3s;
}

.nav-btn-mobile:hover {
  background-color: var(--nav-btn-bg-hover);
  color: var(--nav-btn-text-hover);
}

.nav-btn-mobile.w--current {
  background-color: var(--colors--text-color);
  color: var(--colors--bg-color);
}

.nav-btn-mobile-contact {
  padding: var(--spacers--spacer-1);
  border-left: 1px solid var(--colors--text-color);
  color: var(--colors--text-color);
  font-size: var(--typography--h3);
  letter-spacing: .2px;
  background-color: #0000;
  transition: color .3s, background-color .3s;
}

.nav-btn-mobile-contact:hover, .nav-btn-mobile-contact.w--current {
  background-color: var(--colors--text-color);
  color: var(--colors--bg-color);
}

.nav-contact-inner {
  padding-right: var(--spacers--spacer-1);
  padding-left: var(--spacers--spacer-1);
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  justify-content: flex-start;
  align-items: center;
  transition: opacity .3s;
  display: flex;
}

.nav-contact-inner:hover {
  opacity: .7;
}

.photo-wrapper {
  border-radius: 100vw;
  justify-content: flex-end;
  align-self: flex-end;
  width: 10rem;
  height: 10rem;
  display: flex;
  overflow: hidden;
}

.nav-btn-copy {
  padding: var(--spacers--spacer-1);
  border-left: 1px solid var(--colors--text-color);
  color: var(--colors--text-color);
  font-size: var(--typography--h3);
  letter-spacing: .2px;
  background-color: #0000;
  transition: color .3s, background-color .3s;
}

.nav-btn-copy:hover, .nav-btn-copy.w--current {
  background-color: var(--colors--text-color);
  color: var(--colors--bg-color);
}

.nav-btn-main-mobile {
  padding: var(--spacers--spacer-1);
  color: var(--nav-btn-text-initial);
  font-size: var(--typography--h3);
  letter-spacing: .2px;
  background-color: #0000;
  border-left-style: solid;
  border-left-width: 1px;
  transition: color .3s, background-color .3s;
}

.nav-btn-main-mobile:hover {
  background-color: var(--nav-btn-bg-hover);
  color: var(--nav-btn-text-hover);
}

.nav-btn-main-mobile.w--current {
  background-color: var(--colors--text-color);
  color: var(--colors--bg-color);
}

.nav-links-wrapper {
  border-left-style: solid;
  border-left-width: 1px;
  justify-content: space-between;
  width: 50%;
  display: flex;
}

.color-mode-wrapper {
  display: flex;
}

.mode-switcher {
  display: none;
}

.color-mode {
  padding-right: var(--spacers--spacer-1);
  padding-left: var(--spacers--spacer-1);
  color: var(--nav-btn-text-initial);
  border-right-style: solid;
  border-right-width: 1px;
  justify-content: center;
  align-items: center;
  width: 52px;
  transition: color .3s, background-color .3s;
  display: flex;
}

.color-mode:hover {
  background-color: var(--nav-btn-bg-hover);
  color: var(--nav-btn-text-hover);
}

.code-embed {
  justify-content: center;
  align-items: center;
  display: flex;
}

.div-block-3 {
  width: 50%;
}

.nav-links-wrapper-mobile {
  border-left-style: solid;
  border-left-width: 1px;
  justify-content: space-between;
  width: 50%;
  display: flex;
}

.label-click {
  padding: var(--spacers--spacer-1);
  grid-column-gap: .3rem;
  grid-row-gap: .3rem;
  background-color: var(--nav-contact-info-bg);
  border-style: solid;
  border-width: 1px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: absolute;
}

.marquee-btn {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  justify-content: center;
  align-items: center;
  display: flex;
}

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

.footer-marquee {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  justify-content: center;
  width: 100%;
  display: flex;
}

@media screen and (min-width: 1920px) {
  body {
    --colors--bg-color: #ececec;
    --typography--main-type: neue-haas-grotesk-display, sans-serif;
    --colors--text-color: #2b2b2b;
    --typography--h1: 6rem;
    --typography--h2: 1.5rem;
    --typography--h3: 1rem;
    --link-text-color: #2b2b2b;
    --spacers--spacer-1: 1rem;
    --nav-btn-text-initial: #2b2b2b;
    --nav-btn-bg-hover: #2b2b2b;
    --nav-btn-text-hover: #ececec;
    --divider-circle-bg: #2b2b2b;
    --arrow-color: #ececec;
    --spacers--spacer-25: 25rem;
    --nav-contact-info-bg: #ececec;
    --spacers--spacer-0-5: .5rem;
  }
}

@media screen and (max-width: 991px) {
  body {
    --colors--bg-color: #ececec;
    --typography--main-type: neue-haas-grotesk-display, sans-serif;
    --colors--text-color: #2b2b2b;
    --typography--h1: 6rem;
    --typography--h2: 1.5rem;
    --typography--h3: 1rem;
    --link-text-color: #2b2b2b;
    --spacers--spacer-1: 1rem;
    --nav-btn-text-initial: #2b2b2b;
    --nav-btn-bg-hover: #2b2b2b;
    --nav-btn-text-hover: #ececec;
    --divider-circle-bg: #2b2b2b;
    --arrow-color: #ececec;
    --spacers--spacer-25: 25rem;
    --nav-contact-info-bg: #ececec;
    --spacers--spacer-0-5: .5rem;
  }

  .nav-desktop {
    display: none;
  }

  .nav-links {
    width: 50%;
    display: flex;
  }

  .services-link {
    grid-column-gap: var(--spacers--spacer-1);
    grid-row-gap: var(--spacers--spacer-1);
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
  }

  .services-title {
    grid-column-gap: var(--spacers--spacer-1);
    grid-row-gap: var(--spacers--spacer-1);
    flex-flow: column;
  }

  .about_content-left, .about_content-right {
    overflow: scroll;
  }

  .nav-mobile {
    display: flex;
  }

  .menu-mobile-open {
    top: 60px;
    right: var(--spacers--spacer-1);
    z-index: 4;
    background-color: var(--nav-contact-info-bg);
    border-style: solid;
    border-width: 1px;
    flex-flow: column;
    display: flex;
    position: absolute;
  }

  .nav-btn-mobile {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-left-width: 0;
    transition-duration: .2s, .2s;
  }

  .nav-btn-mobile-contact {
    border-left-width: 0;
    transition-property: none;
  }

  .nav-btn-mobile-contact:hover {
    background-color: var(--colors--bg-color);
    color: var(--colors--text-color);
  }

  .nav-mobile-contact-wrapper {
    padding-bottom: var(--spacers--spacer-1);
    flex-flow: column;
    display: flex;
  }

  .nav-contact-inner {
    padding-top: var(--spacers--spacer-1);
    transition-duration: .2s;
  }

  .nav-mobile-contact {
    padding-top: var(--spacers--spacer-1);
    padding-right: var(--spacers--spacer-1);
    padding-left: var(--spacers--spacer-1);
  }

  .photo-wrapper {
    width: 7rem;
    height: 7rem;
  }

  .nav-btn-main-mobile {
    border-bottom-style: solid;
    border-bottom-width: 0;
    border-left-width: 1px;
    transition-duration: .2s, .2s;
  }

  .nav-links-wrapper-mobile {
    width: 100%;
  }

  .label-click {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  body {
    --colors--bg-color: #ececec;
    --typography--main-type: neue-haas-grotesk-display, sans-serif;
    --colors--text-color: #2b2b2b;
    --typography--h1: 4rem;
    --typography--h2: 1.5rem;
    --typography--h3: 1rem;
    --link-text-color: #2b2b2b;
    --spacers--spacer-1: 1rem;
    --nav-btn-text-initial: #2b2b2b;
    --nav-btn-bg-hover: #2b2b2b;
    --nav-btn-text-hover: #ececec;
    --divider-circle-bg: #2b2b2b;
    --arrow-color: #ececec;
    --spacers--spacer-25: 25rem;
    --nav-contact-info-bg: #ececec;
    --spacers--spacer-0-5: .5rem;
    height: 100svh;
  }

  .heading-h3 {
    line-height: .9;
  }

  .heading-h3.remove-line-height {
    line-height: 1;
  }

  .circle {
    width: .7rem;
    height: .7rem;
  }

  .content-wrapper {
    flex-flow: column;
    justify-content: space-between;
    height: calc(100svh - 44px);
    overflow: hidden;
  }

  .home_content-left {
    grid-column-gap: var(--spacers--spacer-1);
    grid-row-gap: var(--spacers--spacer-1);
    width: 100%;
    height: 50%;
  }

  .home_content-right {
    grid-column-gap: var(--spacers--spacer-1);
    grid-row-gap: var(--spacers--spacer-1);
    border-top-style: solid;
    border-top-width: 1px;
    border-left-width: 0;
    border-left-color: #000;
    width: 100%;
    height: 50%;
  }

  .nav-links {
    width: auto;
  }

  .circle-btn {
    width: 3rem;
    height: 3rem;
  }

  .services-link {
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
  }

  .branding_content-left {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    height: 40%;
    overflow: scroll;
  }

  .branding_content-right {
    border-top-style: solid;
    border-top-width: 1px;
    border-left-width: 0;
    border-left-color: #000;
    width: 100%;
    height: 100%;
    overflow: scroll;
  }

  .divider {
    flex: none;
    width: 100%;
    height: 1px;
    position: relative;
  }

  .services-title {
    flex-flow: row;
  }

  .experience_content-left {
    width: 100%;
    height: 20vh;
  }

  .experience_content-right {
    border-top-style: solid;
    border-top-width: 1px;
    border-left-width: 0;
    width: 100%;
    height: calc(80vh - 48px);
  }

  .about_content-left {
    width: 100%;
  }

  .about_content-right {
    border-top-style: solid;
    border-top-width: 1px;
    border-left-width: 0;
    width: 100%;
  }

  .heading-h2 {
    letter-spacing: .4px;
  }

  .nav-btn-main-mobile {
    border-bottom-width: 0;
    border-left-width: 0;
    border-left-color: #000;
  }

  .nav-links-wrapper-mobile {
    justify-content: flex-end;
  }
}

@media screen and (max-width: 479px) {
  body {
    --colors--bg-color: #ececec;
    --typography--main-type: neue-haas-grotesk-display, sans-serif;
    --colors--text-color: #2b2b2b;
    --typography--h1: 3.5rem;
    --typography--h2: 1.5rem;
    --typography--h3: 0.8rem;
    --link-text-color: #2b2b2b;
    --spacers--spacer-1: 1rem;
    --nav-btn-text-initial: #2b2b2b;
    --nav-btn-bg-hover: #2b2b2b;
    --nav-btn-text-hover: #ececec;
    --divider-circle-bg: #2b2b2b;
    --arrow-color: #ececec;
    --spacers--spacer-25: 25rem;
    --nav-contact-info-bg: #ececec;
    --spacers--spacer-0-5: .5rem;
    height: 100svh;
  }

  .home_img-wrapper {
    height: auto;
  }

  .branding_content-left {
    width: 100%;
  }
}


