@import url("https://use.typekit.net/hjd0pcn.css");
@font-face {
  font-family: "helvetica_now_displaylight";
  src: url("../fonts/helveticanowdisplay-light-webfont.woff2") format("woff2"), url("..fonts/helveticanowdisplay-light-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "helveticanowdisplay_regularRg";
  src: url("../fonts/helveticanowdisplay-regular-webfont.woff2") format("woff2"), url("../fonts/helveticanowdisplay-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "helvetica_now_displaythin";
  src: url("../fonts/helveticanowdisplay-thin-webfont.woff2") format("woff2"), url("../fonts/helveticanowdisplay-thin-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
*,
*::before {
  box-sizing: border-box;
}

body {
  z-index: 1;
  position: relative;
  height: 100%;
  margin: 0;
  overflow-x: hidden;
  background-color: #000;
  color: #fff;
  font-family: "helveticanowdisplay_regularRg", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.2;
  opacity: 1;
}
@media (min-width: 220em) {
  body {
    font-size: 2em;
  }
}

.body-wrapper {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-in;
  padding-top: 100px;
}
@media (min-width: 64em) {
  .body-wrapper {
    padding-top: 130px;
  }
}

::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}

ul {
  padding: 0;
  list-style: none;
}

p {
  margin: 0 0 1em;
  text-wrap: pretty;
  line-height: 1.4em;
}

a {
  text-decoration: none;
  color: #000;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 0.95;
  font-family: "tenon", sans-serif;
  margin: 0;
  font-weight: 400;
}

h1 {
  font-size: 4.1em;
  margin-bottom: 40px;
  font-weight: 500;
  letter-spacing: -2.19px;
}

h2 {
  font-size: 3.5em;
}

h3 {
  font-size: 3.1em;
  line-height: 1em;
  font-weight: 500;
  margin-bottom: 0.7em;
}

.large-p {
  font-size: 1.8em;
  line-height: 1.05em;
}

@media (min-width: 48em) {
  h1 {
    font-size: 8.5em;
  }
  h2 {
    font-size: 6.25em;
  }
  .large-p {
    font-size: 1.9em;
  }
}
@media (min-width: 64em) {
  h1 {
    font-size: 5.8em;
  }
  h2 {
    font-size: 4.8em;
  }
}
@media (min-width: 85.375em) {
  h1 {
    font-size: 8em;
  }
  h2 {
    font-size: 6.25em;
  }
}
@media (min-width: 94em) {
  h1 {
    font-size: 9.6em;
  }
}
@media (min-width: 120em) {
  h1 {
    font-size: 11.2em;
  }
}
.text-center {
  text-align: center;
}

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

.no-wrap {
  text-wrap: nowrap;
}

.btn {
  display: flex;
}
.btn a {
  background-color: #E3EC42;
  padding: 0.6em 1.5em;
  color: #000;
  text-decoration: none;
  border-radius: 6vw;
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-in;
}
.btn a:hover {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-in;
  background-color: #fff;
  color: #000;
}

button {
  border: none;
  display: flex;
  border-radius: 6vw;
  background-color: #000;
  padding: 0.6em 1.5em;
  color: #fff;
  font-size: 1em;
  line-height: 1em;
}
button:hover {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-in;
  background-color: #E3EC42;
  color: #000;
}

.dark {
  background-color: #000;
}
.dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 {
  color: #E3EC42;
}
.dark ul li a,
.dark p, .dark input, .dark textarea, .dark select {
  color: #fff;
}

.accent {
  background-color: #E3EC42;
}
.accent h1, .accent h2, .accent h3, .accent h4, .accent h5, .accent h6 {
  color: #000;
}
.accent .dark p {
  color: #fff;
}
.accent p, .accent input, .accent textarea, .accent select {
  color: #000;
}

.light {
  background-color: #F6F2EA;
  color: #000;
}
.light h1, .light h2, .light h3, .light h4, .light h5, .light h6 {
  color: #000;
}
.light ul li a,
.light p, .light input, .light textarea, .light select {
  color: #000;
}

/**
 * image related
 */
figure {
  margin: 0;
}

img {
  width: 100%;
}

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

.bg-cover {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  min-height: 300px;
}

svg {
  overflow: visible !important;
  z-index: 1;
}

/**
 * width, padding and wrappers
 */
.pad-all {
  padding: 3.76em 20px;
}
@media (min-width: 64em) {
  .pad-all {
    padding: 3.76em 1.88em;
  }
}

.pad-sides {
  padding-left: 1.88em;
  padding-right: 1.88em;
}
@media (min-width: 64em) {
  .pad-sides.no-left {
    padding-left: 0;
  }
  .pad-sides.no-right {
    padding-right: 0;
  }
}

.pad-top {
  padding-top: 3.76em;
}

.pad-btm {
  padding-bottom: 3.76em;
}

/**
 * flex
 */
.flex-wrap {
  display: flex;
  flex-direction: column;
}
.flex-wrap.wrap {
  flex-wrap: wrap;
  flex-direction: row;
}
@media (min-width: 64em) {
  .flex-wrap {
    flex-direction: row;
  }
  .flex-wrap .half {
    flex: 1;
    flex-basis: 50%;
  }
  .flex-wrap .half.grow-vis {
    flex-basis: 65%;
  }
  .flex-wrap .third {
    flex: 1;
    flex-basis: 33.33%;
  }
  .flex-wrap.col {
    flex-direction: column;
  }
}

.cont-just-end,
.just-cont-center-row,
.img-align-item-center,
.cont-align-end,
.just-cont-center,
.just-cont-between,
.align-items-center,
.img-align-end {
  display: flex;
}

.img-align-end {
  align-items: flex-end;
}

.img-align-item-center {
  align-items: center;
}

.cont-align-end {
  flex-direction: column;
  justify-content: flex-end;
}

.cont-just-end {
  justify-content: flex-end;
}

.just-cont-between {
  flex-direction: column;
  justify-content: space-between;
}

.just-cont-center {
  flex-direction: column;
  justify-content: center;
}

.just-cont-center-row {
  justify-content: center;
}

.align-items-center {
  flex-direction: column;
  align-items: center;
  width: 100%;
}

nav {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 5;
  font-size: 2em;
}
nav .mobile-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #000;
  padding: 0.5em;
  z-index: 5;
  position: relative;
}
nav .logo a {
  display: flex;
  width: 12vw;
}
nav .desktop-nav {
  padding: 1em;
  position: fixed;
  left: 0;
  top: -100%;
  display: block;
  width: 100%;
  transition: all 0.5s ease;
  background-color: #000;
  z-index: 3;
  transition: top 0.3s linear;
}
nav .desktop-nav.active {
  transition: top 0.3s linear;
  top: 70px;
}
nav .desktop-nav ul {
  padding: 0;
  margin: 0;
  width: 100%;
}
nav .desktop-nav ul .logo {
  display: none;
}
nav .desktop-nav ul li {
  padding: 1em 0;
}
nav .desktop-nav ul li a:hover {
  transition-property: all;
  transition-duration: 0.2s;
  transition-timing-function: ease-in;
  color: #E3EC42;
}
@media (min-width: 48em) {
  nav {
    font-size: 1em;
    height: 0;
  }
  nav .mobile-nav {
    display: none;
  }
  nav .desktop-nav {
    position: relative;
    top: 0;
    transition: top 0s linear;
  }
  nav .desktop-nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  nav .desktop-nav ul .logo {
    display: block;
  }
  nav .desktop-nav ul li {
    padding: 0 1em;
  }
}
nav .hamburger svg {
  stroke: #fff;
}
nav .hamburger.active .middle {
  display: none;
}
nav .hamburger.active .top {
  transform: rotate(45deg) translateX(1px) translateY(-5px) scale(1.1);
}
nav .hamburger.active .bottom {
  transform: rotate(-45deg) translateX(-11px) translateY(-5px) scale(1.1);
}

.hero {
  padding-top: 5em;
}
.hero .content {
  position: relative;
  z-index: 1;
}
.hero .content .top {
  min-height: calc(50vh - 5em);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hero .content .top h2 {
  padding: 0 2vw;
  font-size: 15vw;
  font-weight: 500;
}
.hero .content .top h2 .special {
  position: absolute;
  width: calc(100vw - 60px);
  bottom: 2vw;
  right: 2vw;
  text-align: right;
  font-weight: 400;
}
.hero .content .top svg {
  width: 50vw;
  margin-left: 25vw;
  margin-bottom: -25vw;
  z-index: 1;
}
.hero .content figure {
  z-index: -1;
  position: relative;
}
.hero .content figure .img-fit {
  height: 50vh;
}
@media (min-width: 64em) {
  .hero .content {
    display: flex;
  }
  .hero .content .top, .hero .content figure {
    width: 50%;
  }
  .hero .content .top {
    min-height: 100%;
    display: flex;
    justify-content: unset;
  }
  .hero .content .top h2 {
    padding: 0 20px;
    font-size: 7vw;
  }
  .hero .content .top svg {
    width: 50vh;
    margin-left: auto;
    margin-bottom: 0;
    margin-right: -22%;
  }
  .hero .content figure .img-fit {
    height: calc(100vh - 5em);
    width: 100%;
  }
}

.hero-intro .copy-content .btn {
  margin-top: 1em;
}
.hero-intro .large-p {
  font-family: "tenon", sans-serif;
  line-height: 1.2em;
}
@media (min-width: 64em) {
  .hero-intro .large-p {
    margin-bottom: 0;
    margin-right: 1.2em;
  }
  .hero-intro .copy-content {
    padding-left: 1.5em;
    display: flex;
    flex-direction: column;
  }
  .hero-intro .copy-content .btn {
    align-items: flex-end;
  }
}
@media (min-width: 85.375em) {
  .hero-intro .large-p {
    margin-right: 1.5em;
  }
  .hero-intro .copy-content {
    flex-direction: row;
  }
  .hero-intro .copy-content .btn {
    margin-top: 0;
    align-items: flex-start;
    justify-content: flex-end;
  }
}
@media (min-width: 94em) {
  .hero-intro .large-p {
    max-width: 85%;
  }
  .hero-intro .copy-content p {
    max-width: 17vw;
  }
}

.founder-intro.border-top {
  border-top: 1px solid #fff;
}
.founder-intro p.yellow {
  color: #E3EC42;
}
.founder-intro .small-p {
  font-family: "tenon", sans-serif;
  font-size: 1.5em;
  letter-spacing: -0.4px;
  margin-bottom: 0;
}
.founder-intro .large-p {
  font-family: "helvetica_now_displaylight", serif;
  font-size: 1.9em;
  margin-top: 1em;
  margin-bottom: 2em;
  font-weight: 300;
}
.founder-intro img {
  width: 25vw;
}
.founder-intro .medium-p {
  font-size: 3.1em;
  font-weight: 500;
  font-family: "tenon", sans-serif;
  line-height: 1em;
}
@media (min-width: 48em) {
  .founder-intro .large-p {
    max-width: 95%;
    font-size: 3.4em;
  }
}
@media (min-width: 85.375em) {
  .founder-intro .large-p {
    max-width: 85%;
  }
  .founder-intro img {
    width: 12vw;
  }
  .founder-intro .medium-p {
    font-size: 3.2em;
  }
}
@media (min-width: 94em) {
  .founder-intro img {
    width: 10vw;
  }
  .founder-intro .large-p {
    max-width: 75%;
  }
  .founder-intro .medium-p {
    font-size: 3.8em;
  }
}

.supertec .large-p {
  font-size: 2.5em;
}
.supertec p:not(.large-p) {
  margin-left: 25%;
}
@media (min-width: 64em) {
  .supertec p:not(.large-p) {
    max-width: 36%;
    margin-right: 0;
    margin-left: auto;
  }
}
@media (min-width: 94em) {
  .supertec p:not(.large-p) {
    max-width: 20%;
  }
}

.style-one {
  border-top: 1px solid #000;
  padding-bottom: 1.88em;
}
.style-one.other {
  padding-top: 1.88em;
}
.style-one div {
  position: relative;
}
.style-one div p {
  margin-bottom: 2em;
}
.style-one .svg-detail {
  position: absolute;
  width: 20%;
  bottom: 1em;
  right: 1em;
}
.style-one .content-text h3 div {
  text-wrap: nowrap;
}
@media (min-width: 64em) {
  .style-one .content-text {
    width: 40%;
    flex-basis: 40%;
    padding-right: 4em;
  }
}
@media (min-width: 85.375em) {
  .style-one .content-text {
    width: 30%;
    flex-basis: 30%;
    padding-right: 6%;
  }
  .style-one .img-content {
    width: 70%;
    flex-basis: 70%;
  }
}
@media (min-width: 94em) {
  .style-one .content-text {
    padding-right: 10%;
  }
}

.style-two h2 {
  font-weight: 500;
  font-size: 4.2em;
}
.style-two.border-top {
  border-top: 1px solid #000;
}
.style-two.no-right {
  padding-right: 0;
}
.style-two .dark {
  padding: 40px 1.6em;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  border-bottom: 1px solid #E3EC42;
  width: 100%;
}
.style-two .dark div.half {
  max-width: 50%;
}
.style-two .small-p {
  padding-top: 43%;
  font-size: 1.55em;
}
.style-two img {
  min-width: 80px;
}
@media (min-width: 48em) {
  .style-two .dark {
    width: 50%;
    flex-basis: 50%;
    border-left: 1px solid #E3EC42;
  }
}
@media (min-width: 64em) {
  .style-two .dark {
    width: 33.33%;
    flex-basis: 33.33%;
    flex-direction: column;
  }
  .style-two .dark div.half {
    max-width: 60%;
  }
  .style-two p {
    padding-right: 0;
  }
  .style-two figure {
    text-align: right;
  }
  .style-two img {
    max-width: 30%;
  }
  .style-two .small-p {
    padding-top: 1em;
  }
}
@media (min-width: 85.375em) {
  .style-two h2 {
    max-width: 80%;
    font-size: 5.3em;
  }
  .style-two .dark div.half {
    max-width: 50%;
  }
}
@media (min-width: 94em) {
  .style-two h2 {
    max-width: 70%;
  }
  .style-two img {
    max-width: 20%;
  }
  .style-two .dark div.half {
    max-width: 45%;
  }
}

/* marquee */
.marquee {
  position: relative;
  z-index: 3;
  overflow: hidden;
}
.marquee .marquee-carousel.marquee-carousel-1 {
  margin-right: -300px;
  margin-bottom: 1em;
}
.marquee .marquee-carousel.marquee-carousel-2 {
  margin-left: -300px;
  display: none;
}
.marquee .marquee-items {
  display: flex;
  flex-direction: column;
}
.marquee .marquee-items .marquee-item {
  width: 100vw;
  display: flex;
  justify-content: center;
  margin: 1em 0;
}
.marquee .marquee-items .marquee-item img {
  width: 80%;
}
@media (min-width: 768px) {
  .marquee .marquee-carousel.marquee-carousel-2 {
    display: block;
  }
  .marquee .marquee-items {
    -webkit-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
    -moz-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
    -o-transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
    flex-direction: row;
    position: relative;
    width: 100%;
  }
  .marquee .marquee-items .marquee-item {
    overflow: hidden;
    margin: 0;
    min-width: 20vw;
    display: flex;
    align-items: center;
  }
}
@media (min-width: 1200px) {
  .marquee .marquee-items .marquee-item {
    min-width: 14vw;
  }
}

.form-wrapper {
  background-color: #fff;
  padding-left: 30px;
  padding-right: 30px;
}
.form-wrapper h2 {
  font-size: 2.6em;
}
.form-wrapper .flex-wrap {
  margin-top: 2em;
}
.form-wrapper form {
  margin-bottom: 5em;
}
.form-wrapper form div {
  display: flex;
  flex-direction: column;
  margin-bottom: 2em;
}
.form-wrapper form input, .form-wrapper form textarea {
  border: none;
  border-bottom: 1px solid #D4D4D4;
  padding: 1em;
}
.form-wrapper form input:focus-visible, .form-wrapper form textarea:focus-visible {
  outline-color: #E3EC42;
}
@media (min-width: 64em) {
  .form-wrapper {
    padding-left: 3.1em;
    padding-right: 3.1em;
  }
  .form-wrapper .flex-wrap {
    padding: 1em;
  }
  .form-wrapper form {
    margin-bottom: 0;
    max-width: 80%;
  }
  .form-wrapper h2 {
    max-width: 80%;
  }
}
@media (min-width: 94em) {
  .form-wrapper h2 {
    max-width: 70%;
    font-size: 5em;
    margin-bottom: 1em;
  }
}

footer.pad-all {
  padding-bottom: 40px;
}
footer .logo {
  max-width: 200px;
}
footer .logo svg {
  width: 100%;
}
footer h3 {
  margin-top: 2em;
}
footer .btn a {
  background-color: #000;
  color: #fff;
}
footer .border-top.flex-wrap {
  justify-content: space-between;
  border-top: 1px solid #000;
  padding-top: 1.8em;
  margin-top: 30vw;
}
footer .border-top.flex-wrap a {
  margin-left: 1em;
}
footer .half.right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  text-align: right;
}
footer .bottom-nav {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
}
footer .bottom-nav .flex-wrap {
  display: flex;
  flex-direction: column;
  text-align: right;
}
footer .bottom-nav .flex-wrap p {
  margin-bottom: 0;
}
footer .bottom-nav .flex-wrap a {
  margin-bottom: 1em;
}
@media (min-width: 48em) {
  footer h3 {
    font-size: 3.2em;
  }
  footer .bottom-nav .flex-wrap {
    flex-direction: row;
  }
  footer .bottom-nav .flex-wrap a {
    margin-bottom: 0;
  }
}
@media (min-width: 64em) {
  footer h3 {
    margin-top: 0;
  }
  footer .border-top.flex-wrap {
    margin-top: 6vw;
  }
  footer .border-top.flex-wrap a {
    margin-right: 1em;
  }
}
@media (min-width: 94em) {
  footer .logo {
    max-width: 300px;
  }
}

/*# sourceMappingURL=styles.css.map */
