@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

*:after, *:before {
  box-sizing: inherit;
}

img {
  max-width: 100%;
}

::-moz-selection {
  background-color: rgba(25, 25, 25, 0.77);
  color: #fff;
}

::selection {
  background-color: rgba(25, 25, 25, 0.77);
  color: #fff;
}

/*********************
Variables
*********************/
/*********************
Mixins
*********************/
i {
  display: block;
  position: relative;
}
i svg {
  display: block;
  margin: auto;
}

.icon-wnwn {
  width: 130px;
  height: 45px;
  background-blend-mode: multiply;
  mix-blend-mode: multiply;
}
.icon-wnwn:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/wnwn-horizontal.svg);
  background-size: 100% 100%;
  background-blend-mode: multiply;
  mix-blend-mode: multiply;
}

.icon-facebook {
  width: 13px;
  height: 15px;
}
.icon-facebook:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/facebook.svg);
  background-size: auto 100%;
}

.icon-twitter {
  width: 17px;
  height: 17px;
}
.icon-twitter:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/twitter.svg);
  background-size: 100% 100%;
}

.icon-pinterest {
  width: 17px;
  height: 17px;
}
.icon-pinterest:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/pinterest.svg);
  background-size: 100% 100%;
}

.icon-instagram {
  width: 17px;
  height: 17px;
}
.icon-instagram:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/instagram.svg);
  background-size: 100% 100%;
}

.icon-email {
  width: 19px;
  height: 17px;
}
.icon-email:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/envelope.svg);
  background-size: 100% 100%;
}

.icon-website {
  width: 19px;
  height: 17px;
}
.icon-website:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/svg/website.svg);
  background-size: 100% 100%;
}

.btn {
  display: inline-block;
  position: relative;
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 0.7em;
  line-height: 1;
  letter-spacing: -0.00714em;
  color: inherit;
  transition: 0.35s;
  padding-bottom: 0.2em;
}
.btn:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
}
@media (max-width: 479px) {
  .btn {
    font-size: 3.6vw;
  }
}
.btn-bigger {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.4em;
  line-height: 1;
  letter-spacing: -0.00678em;
}
@media (min-width: 480px) {
  .btn-bigger {
    padding-bottom: 0.3em;
  }
}
.btn:hover, .btn:focus {
  transform: scale(0.975);
  opacity: 0.7;
}
.btn:active {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}

.h1 {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 3em;
  line-height: 1.26666;
  letter-spacing: -0.003333em;
}

.h2 {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 2em;
  line-height: 1.25;
  letter-spacing: 0.015em;
}
.h2 p + p {
  margin-top: 0.5em;
}
@media screen and (min-width: 480px) {
  .h2 p + p {
    margin-top: 1em;
  }
}

.h3 {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.5em;
  line-height: 1.3333;
  letter-spacing: 0.015em;
}

.h4 {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.4em;
  line-height: 1;
  letter-spacing: -0.00678em;
}

.h5 {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.1em;
  line-height: 1;
  letter-spacing: 0.009em;
}
.h5 + .p {
  margin-top: 2.1vw;
}
.h5 + .h3 {
  margin-top: 1.8vw;
}

.h6 {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0.0285em;
}

.p {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 2em;
  line-height: 1.25;
  letter-spacing: 0.015em;
}
.p.small {
  font-size: 1.2em;
  line-height: 1.33;
}
.p p + p:before {
  content: "    ";
}

p a {
  display: inline-block;
  position: relative;
  color: inherit;
  transition: 0.35s;
}
p a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 5%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
}
p a:hover, p a:focus {
  transform: scale(0.975);
  opacity: 0.7;
}
p a:active {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}

.label {
  margin-bottom: -0.25em;
  font-family: "FoundersGrotesk-Light";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
  line-height: 1.315;
  letter-spacing: 0.1442em;
  text-transform: uppercase;
}
@media screen and (min-width: 960px) {
  .label {
    font-size: 14px;
  }
}

.reg {
  font-family: "FoundersGrotesk-Regular";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.light {
  font-family: "FoundersGrotesk-Light";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #000;
  font-size: 3vw;
}
body:after {
  content: "";
  display: block;
  z-index: 3;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 1;
  pointer-events: all;
  transition: 0.5s;
}
body.no-transition:after {
  transition: 0s;
}
body.is-done-loading:after {
  opacity: 0;
  pointer-events: none;
}
body.is-loading:after {
  opacity: 1;
  pointer-events: all;
}
@media screen and (min-width: 480px) {
  body {
    font-size: 2vw;
  }
}
@media screen and (min-width: 640px) {
  body {
    font-size: 1.5vw;
  }
}
@media screen and (min-width: 960px) {
  body {
    font-size: 1vw;
  }
}

.main {
  flex: 1;
  padding-top: 4.7vw;
}
@media (max-width: 479px) {
  .main {
    padding-top: 11.1vw;
  }
}

/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
  overflow: hidden;
}

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.has-scroll-smooth body {
  overflow: hidden;
}

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh;
}

[data-scroll-direction=horizontal] [data-scroll-container] {
  display: inline-block;
  height: 100vh;
  white-space: nowrap;
}

[data-scroll-direction=horizontal] [data-scroll-section] {
  display: inline-block;
  height: 100%;
  vertical-align: top;
  white-space: nowrap;
}

.c-scrollbar {
  height: 100%;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center right;
  transition: transform 0.3s, opacity 0.3s;
  width: 11px;
}

.c-scrollbar:hover {
  transform: scaleX(1.45);
}

.c-scrollbar:hover, .has-scroll-dragging .c-scrollbar, .has-scroll-scrolling .c-scrollbar {
  opacity: 1;
}

[data-scroll-direction=horizontal] .c-scrollbar {
  bottom: 0;
  height: 10px;
  top: auto;
  transform: scaleY(1);
  width: 100%;
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
  transform: scaleY(1.3);
}

.c-scrollbar_thumb {
  background-color: #000;
  border-radius: 10px;
  cursor: -webkit-grab;
  cursor: grab;
  margin: 2px;
  opacity: 0.5;
  position: absolute;
  right: 0;
  top: 0;
  width: 7px;
}

.has-scroll-dragging .c-scrollbar_thumb {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
  bottom: 0;
  right: auto;
}

.more-about,
.banner-about,
.banner {
  margin-top: 3.35vw;
  margin-bottom: 2.85vw;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.more-about .inner,
.banner-about .inner,
.banner .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 40.5vw;
  padding-top: 5vw;
  padding-bottom: 5vw;
  background-color: #8a0303;
  color: #fff;
  text-align: center;
}
.more-about .logo,
.banner-about .logo,
.banner .logo {
  width: 27vw;
  min-width: 160px;
}
@media (max-width: 479px) {
  .more-about .logo,
  .banner-about .logo,
  .banner .logo {
    width: 57vw;
  }
}
.more-about .logo img,
.banner-about .logo img,
.banner .logo img {
  display: block;
}
.more-about .logo + .text,
.banner-about .logo + .text,
.banner .logo + .text {
  margin-top: 3.5vw;
}
.more-about .text,
.banner-about .text,
.banner .text {
  width: 40vw;
}
.more-about .text + .cta,
.banner-about .text + .cta,
.banner .text + .cta {
  margin-top: 3.5vw;
}
@media (max-width: 1024px) {
  .more-about .inner,
  .banner-about .inner,
  .banner .inner {
    height: auto;
    padding-top: 10.9vw;
    padding-bottom: 10.2vw;
  }
  .more-about .text,
  .banner-about .text,
  .banner .text {
    width: 75%;
  }
}

footer {
  padding-top: 3.5vw;
  padding-bottom: 1.1vw;
  margin-bottom: 2.45vw;
}
@media (max-width: 479px) {
  footer {
    padding-top: 6vw;
    padding-bottom: 3.3vw;
    margin-bottom: 7.35vw;
  }
}
footer .center {
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
  text-align: right;
}
footer .logo {
  display: inline-block;
  width: 3.25vw;
}
footer .logo + .copyright {
  margin-top: 0.25vw;
}
@media (max-width: 479px) {
  footer .logo {
    width: 9.75vw;
  }
  footer .logo + .copyright {
    margin-top: 1vw;
  }
}
footer .copyright {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 0.7vw;
  line-height: 1;
  letter-spacing: 0.02142em;
}
@media (max-width: 479px) {
  footer .copyright {
    font-size: 3.6vw;
  }
}
footer .copyright a:after {
  content: none;
}

form {
  position: relative;
}
form.is-submitting .formRow {
  opacity: 0.7;
  pointer-events: none;
}
form.is-submitted .formMessage {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.15s;
  pointer-events: all;
}
form.is-submitted .formRow {
  opacity: 0;
  pointer-events: none;
}

input,
textarea {
  border: 0;
  appearance: none;
  outline: none;
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.textbox,
.textarea {
  display: block;
  width: 100%;
  padding: 0.7vw 0.9vw;
  background: rgba(216, 216, 216, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.01);
  font-size: 0.7em;
  letter-spacing: -0.007em;
  color: #fff;
}

.textbox {
  height: 2.3vw;
}

.textarea {
  height: 5.3vw;
  line-height: 1.4;
}

button {
  background: none;
  border: 0;
  appearance: none;
  outline: none;
  padding: 0;
}

.formMessage {
  position: absolute;
  transform: translateY(50%);
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}

.formRow {
  transition: 0.5s;
}
.formRow + .formRow {
  margin-top: 2px;
}
.formRow + .formRow:last-child {
  display: flex;
  padding-top: 1.65vw;
}

.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.glide * {
  box-sizing: inherit;
}
.glide__track {
  overflow: hidden;
}
.glide__slides {
  position: relative;
  width: 100%;
  list-style: none;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  touch-action: pan-Y;
  overflow: hidden;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: flex;
  flex-wrap: nowrap;
  will-change: transform;
}
.glide__slides--dragging {
  user-select: none;
}
.glide__slide {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  white-space: normal;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
.glide__slide a {
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.glide__arrows {
  -webkit-touch-callout: none;
  user-select: none;
}
.glide__bullets {
  -webkit-touch-callout: none;
  user-select: none;
}
.glide--rtl {
  direction: rtl;
}

.glide__track + .glide__bullets {
  margin-top: 1.4vw;
}

.glide__slide {
  cursor: grab;
}
.glide__slide img {
  width: 100%;
}
.glide__slide:active {
  cursor: grabbing;
}

.glide__bullets {
  text-align: right;
}
.glide__bullets button {
  position: relative;
}
.glide__bullets button span {
  display: block;
  opacity: 0.4;
  cursor: pointer;
  transition: 0.35s;
}
.glide__bullets button:hover span {
  opacity: 0.7;
}
.glide__bullets button.glide__bullet--active span {
  opacity: 1;
}
.glide__bullets button:active span {
  transform: translate3d(0, 1px, 0) scale(0.975);
}
.glide__bullets button + button {
  margin-left: 1.15vw;
}
.glide__bullets.words button + button {
  margin-left: 2.15vw;
}
.glide__bullets.words button + button:before {
  content: "/";
  position: absolute;
  top: -0.15em;
  left: -1.25vw;
  font-size: 1.3em;
  pointer-events: none;
}

header {
  position: fixed;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 1.75vw;
  padding-bottom: 1.75vw;
  pointer-events: none;
}
@media (max-width: 479px) {
  header {
    padding-top: 3.5vw;
    padding-bottom: 3.5vw;
  }
}
header .center {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
header .logo {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.2vw;
  line-height: 1;
  letter-spacing: -0.00708em;
  pointer-events: all;
}
header .logo a {
  display: block;
  color: inherit;
  transition: 0.35s;
}
header .logo a:hover, header .logo a:focus {
  transform: scale(0.975);
  opacity: 0.7;
}
header .logo a:active {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}
@media (max-width: 479px) {
  header .logo {
    display: flex;
    align-items: center;
    font-size: 3.6vw;
  }
}
header .actions {
  display: flex;
  align-items: center;
}
header .title {
  transition: 0.35s;
  pointer-events: all;
}
header .title .char {
  display: inline-block;
}
header .title + .info {
  margin-left: 2.1vw;
}
header .title.is-hidden {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 479px) {
  header .title {
    display: none;
  }
}
header .info {
  pointer-events: all;
  transition: 0.35s;
}
header .info span {
  display: block;
  cursor: pointer;
  transition: 0.35s;
}
header .info span:hover, header .info span:focus {
  transform: scale(0.95);
  opacity: 0.7;
}
header .info span:active {
  transform: translate3d(0, 1px, 0) scale(0.85);
  transition: 0.15s;
}
header .info + .divider {
  margin-left: 3.2vw;
}
header .info.is-hidden {
  opacity: 0;
  pointer-events: none;
}
header .info.is-hidden + .divider {
  opacity: 0;
}
header .divider {
  height: 1.1vw;
  width: 1px;
  background-color: rgba(0, 0, 0, 0.4);
  transition: 0.35s;
}
header .divider + .search {
  margin-left: 3.2vw;
}
@media (max-width: 479px) {
  header .divider {
    height: 3.3vw;
  }
}
header .search {
  display: block;
  cursor: pointer;
  pointer-events: all;
  transition: 0.35s;
}
header .search:hover, header .search:focus {
  transform: scale(0.95);
  opacity: 0.7;
}
header .search:active {
  transform: translate3d(0, 1px, 0) scale(0.85);
  transition: 0.15s;
}
header .search svg {
  width: 1.1vw;
  height: 1.1vw;
}
header .search + .hamburger {
  margin-left: 2.1vw;
}
@media (max-width: 479px) {
  header .search svg {
    width: 3.3vw;
    height: 3.3vw;
  }
  header .search + .hamburger {
    margin-left: 4.2vw;
  }
}
header .hamburger {
  position: relative;
  z-index: 2;
  width: 1.65vw;
  height: 1.65vw;
  cursor: pointer;
  pointer-events: all;
  transition: 0.35s;
}
header .hamburger:before, header .hamburger:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transition: transform 0.35s, top 0.35s, bottom 0.35s;
}
header .hamburger:before {
  top: 33.33%;
}
header .hamburger:after {
  bottom: 33.33%;
}
header .hamburger:hover, header .hamburger:focus {
  transform: scale(0.9);
  opacity: 0.7;
}
header .hamburger:hover:before, header .hamburger:hover:after, header .hamburger:focus:before, header .hamburger:focus:after {
  width: 100%;
}
header .hamburger:active {
  transform: translate3d(0, 1px, 0) scale(0.8);
  transition: 0.15s;
}
@media (max-width: 479px) {
  header .hamburger {
    width: 4.95vw;
    height: 4.95vw;
  }
}
header nav.is-open,
header .finder.is-open {
  opacity: 1;
  pointer-events: all;
  transition: 0.5s;
}
header nav.is-open ~ .center .title,
header nav.is-open ~ .center .info,
header nav.is-open ~ .center .divider,
header nav.is-open ~ .center .search,
header .finder.is-open ~ .center .title,
header .finder.is-open ~ .center .info,
header .finder.is-open ~ .center .divider,
header .finder.is-open ~ .center .search {
  opacity: 0;
  pointer-events: none;
}
header nav.is-open ~ .center .hamburger:before,
header .finder.is-open ~ .center .hamburger:before {
  top: 50%;
  transform: translate3d(0, -50%, 0) rotate(45deg);
}
header nav.is-open ~ .center .hamburger:after,
header .finder.is-open ~ .center .hamburger:after {
  bottom: 50%;
  transform: translate3d(0, 50%, 0) rotate(-45deg);
}
header nav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 6.25vw;
  padding-bottom: 6.25vw;
  background-color: #8a0303;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: 0.35s;
  /* &:before {
    content: '';
    display: block;
    position: absolute;
    transform: scale(.95);
    top: 47.48vh;
    left: 50%;
    margin-left: -4.725vw;
    width: 9.45vw;
    height: 4.4vw;
    background-image: url(../images/png/logo-white.png);
    background-size: 100% 100%;
    opacity: 0;
    transition: .5s;
  } */
}
header nav.is-open .logo {
  transform: scale(1) translate3d(-50%, -50%, 0);
  opacity: 0.1;
  transition-delay: 0.25s;
}
header nav.is-open ~ .center .logo,
header nav.is-open ~ .center .hamburger {
  color: #fff;
}
header nav .logo {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: scale(0.95) translate3d(-50%, -50%, 0);
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: 0.5s;
}
header nav .logo img {
  min-width: 7.35vw;
  height: auto;
}
header nav .menu a,
header nav .submenu a {
  display: inline-block;
  transition: 0.5s;
}
header nav .menu a.is-unhovered,
header nav .submenu a.is-unhovered {
  opacity: 0.5;
}
header nav .menu a:active,
header nav .submenu a:active {
  transform: scale(0.95);
  transition: 0.15s;
}
header nav .menu {
  position: relative;
  z-index: 2;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  text-align: center;
}
header nav .menu li {
  color: #fff;
}
header nav .menu a {
  font-size: 3vw;
  line-height: 1.26666;
  letter-spacing: -0.025em;
}
@media (max-width: 479px) {
  header nav .menu a {
    font-size: 9vw;
  }
}
header nav .submenu {
  display: flex;
  justify-content: center;
}
header nav .submenu li {
  color: #fff;
}
header nav .submenu li + li {
  margin-left: 0.85vw;
}
header nav .submenu a {
  font-size: 1vw;
  line-height: 1;
  opacity: 0.8;
}
@media (max-width: 479px) {
  header nav .submenu li + li {
    margin-left: 2.55vw;
  }
  header nav .submenu a {
    font-size: 3vw;
  }
}
header nav a {
  font-family: neuzeit-grotesk, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: inherit;
}
header .finder {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 6.25vw;
  padding-bottom: 6.25vw;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: 0.35s;
}
header .finder.is-open ~ .center .logo,
header .finder.is-open ~ .center .hamburger {
  color: #000;
}
header .finder.is-open .formRow:before, header .finder.is-open .formRow:after {
  width: 50%;
  opacity: 1;
  transition: all cubic-bezier(0.22, 0.61, 0.36, 1) 0.45s;
}
header .finder form {
  padding-left: 14.75vw;
  padding-right: 14.75vw;
}
header .finder .formRow {
  position: relative;
}
header .finder .formRow:before, header .finder .formRow:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #D8D8D8;
  opacity: 0.5;
  transition: 0s;
  transition-delay: 0.5s;
}
header .finder .formRow:before {
  right: 0;
}
header .finder .formRow:after {
  left: 0;
}
header .finder input {
  width: 100%;
  padding-bottom: 1.25vw;
  text-align: center;
  font-size: 3em;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
header .finder input::placeholder {
  color: rgba(0, 0, 0, 0.2);
}

.gallery {
  padding-top: 6.05vw;
  padding-bottom: 6.05vw;
}
.gallery .center {
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.gallery .image img {
  display: block;
  width: 100%;
}
.gallery .image + .image {
  margin-top: 8.5vw;
}
.gallery .image + .images {
  margin-top: 12vw;
}
.gallery .image-h {
  padding-left: 6.45vw;
  padding-right: 6.45vw;
}
.gallery .image-h img {
  width: 64.5vw;
}
.gallery .image-h + .image-h {
  text-align: right;
}
.gallery .image-h + .image-h picture {
  display: inline-block;
}
.gallery .image-h + .image-f {
  margin-top: 7.4vw;
}
.gallery .image-f + .image-c {
  margin-top: 12vw;
}
.gallery .image-c {
  text-align: center;
}
.gallery .image-c img {
  margin: auto;
  width: 64.5vw;
}
.gallery .images {
  padding-left: 6.45vw;
  padding-right: 6.45vw;
}
.gallery .images .image + .image {
  margin-top: 12vw;
}
.gallery .images + .image,
.gallery .images + .images {
  margin-top: 12vw;
}
@media screen and (min-width: 600px) {
  .gallery .images {
    display: flex;
    justify-content: space-between;
  }
  .gallery .images .image {
    flex: 1;
  }
  .gallery .images .image + .image {
    margin-top: 4.5vw;
    margin-left: 9.7vw;
  }
  .gallery .images .image:first-child:last-child {
    margin-left: auto;
    margin-right: auto;
    max-width: 45%;
  }
}

.infobox {
  position: fixed;
  z-index: 5;
  top: 0;
  right: 0;
  transform: translateX(100%);
  height: 100%;
  width: 41.85vw;
  background-color: #8a0303;
  color: #fff;
  transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.infobox.is-open {
  transform: translateX(0);
  transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (max-width: 479px) {
  .infobox {
    width: 100vw;
  }
}
.infobox .close {
  position: absolute;
  z-index: 2;
  top: 1.7vw;
  right: 3.4vw;
  width: 1.65vw;
  height: 1.65vw;
  cursor: pointer;
  transition: 0.35s;
}
@media (max-width: 479px) {
  .infobox .close {
    top: 3.5vw;
    width: 4.95vw;
    height: 4.95vw;
  }
}
.infobox .close:before, .infobox .close:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1.5px;
  background-color: currentColor;
  transition: transform 0.35s;
}
.infobox .close:before {
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}
.infobox .close:after {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}
.infobox .close:hover, .infobox .close:focus {
  transform: scale(0.95);
  opacity: 0.7;
}
.infobox .close:active {
  transform: translate3d(0, 1px, 0) scale(0.85);
  transition: 0.15s;
}
.infobox .center {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 100%;
  padding: 6.4vw 9.75vw 6.4vw 6.4vw;
  overflow: scroll;
}
.infobox h2 .char {
  display: inline-block;
}
.infobox h2 + .description {
  margin-top: 3.2vw;
}
.infobox .p {
  font-size: 1em;
  line-height: 1.4;
}
@media (max-width: 479px) {
  .infobox .p {
    font-size: 3.6vw;
  }
}
.infobox .p .word {
  display: inline-block;
}
.infobox .p p + p:before {
  content: "        ";
}
.infobox .specs li {
  display: flex;
}
.infobox .specs li + li {
  margin-top: 1.4em;
}
.infobox .specs .key {
  width: 8.3vw;
  opacity: 0.8;
}
.infobox .specs .key + .value {
  padding-left: 1.4vw;
}
.infobox .specs .value {
  flex: 1;
}
.infobox .sections li + li {
  margin-top: 0.25em;
}
.infobox .sections li:last-child .expand {
  padding-bottom: 0;
}
.infobox .sections .title {
  display: inline-block;
  position: relative;
  margin-left: -1em;
  padding-left: 1em;
  opacity: 0.4;
  cursor: pointer;
}
.infobox .sections .title span {
  display: inline-block;
  opacity: 0.7;
  transition: 0.35s;
}
.infobox .sections .title:before, .infobox .sections .title:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5em;
  height: 1px;
  background-color: #fff;
  transition: 0.35s;
}
.infobox .sections .title:before {
  transform: rotate(180deg);
}
.infobox .sections .title:after {
  transform: rotate(90deg);
}
.infobox .sections .title:hover span, .infobox .sections .title:focus span {
  transform: scale(0.975);
  opacity: 0.5;
}
.infobox .sections .title:active span {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}
.infobox .sections .title.is-open:after {
  transform: rotate(180deg);
}
.infobox .sections .title.is-open + .body {
  height: auto;
}
@media (min-width: 1280px) {
  .infobox .sections .title:before, .infobox .sections .title:after {
    margin-top: -1px;
  }
}
.infobox .sections .body {
  height: 0;
  overflow: hidden;
}
.infobox .sections .expand {
  padding-top: 0.5em;
  padding-bottom: 1.5em;
}

.modal {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 16;
  width: 100%;
  height: 100%;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0s 0.4s ease;
}
.modal:before {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
  height: 100%;
  width: 100%;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0s 0.4s ease;
}
.modal.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transition: opacity 0.4s, visibility 0s;
}
.modal.is-visible:before {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s, visibility 0s;
}
.modal.is-loading:before {
  background-image: url(../images/gif/loader-dark.gif);
  background-repeat: no-repeat;
  background-position: center;
}
.modal.is-loading .glide {
  opacity: 0;
}
.modal.is-loading .glide__slide {
  cursor: default;
}

.modal-layout {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
}

.modal-topbar,
.modal-bottombar {
  display: flex;
  align-items: center;
  padding: 0 3.25vw;
}
@media (max-width: 479px) {
  .modal-topbar,
  .modal-bottombar {
    padding-top: 3.5vw;
    padding-bottom: 3.5vw;
  }
}

.modal-topbar {
  justify-content: flex-end;
}
@media (min-width: 480px) {
  .modal-topbar {
    height: 5.65vw;
  }
}

.modal-content {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  user-select: none;
}
@media (max-width: 479px) {
  .modal-content {
    flex: 1;
  }
}
@media (min-width: 480px) {
  .modal-content {
    height: calc(100vh - 7.4vw);
  }
}

.modal-bottombar {
  justify-content: space-between;
  width: 100%;
}
@media (max-width: 479px) {
  .modal-bottombar {
    padding-bottom: 3.5vw;
  }
}
@media (min-width: 480px) {
  .modal-bottombar {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 5.4vw;
  }
}
@media screen and (min-width: 640px) {
  .modal-bottombar {
    justify-content: flex-end;
  }
}

.modal-close {
  display: block;
  position: relative;
  width: 1.65vw;
  height: 1.65vw;
  cursor: pointer;
  background: none;
  pointer-events: all;
  transition: 0.35s;
}
.modal-close:before, .modal-close:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1.5px;
  background-color: currentColor;
  transition: transform 0.35s;
}
.modal-close:before {
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}
.modal-close:after {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}
.modal-close:hover, .modal-close:focus {
  transform: scale(0.95);
  opacity: 0.7;
}
.modal-close:active {
  transform: translate3d(0, 1px, 0) scale(0.85);
  transition: 0.15s;
}
@media (max-width: 479px) {
  .modal-close {
    width: 4.95vw;
    height: 4.95vw;
  }
}

.modal-pagination,
.modal-title {
  font-size: 0.9em;
  letter-spacing: 0.0283em;
  line-height: 1;
  pointer-events: all;
}
@media (max-width: 479px) {
  .modal-pagination,
  .modal-title {
    font-size: 3.6vw;
  }
}

.modal-description {
  margin-right: 1.85vw;
  padding-bottom: 0.1vw;
  pointer-events: all;
}
.modal-description a {
  color: inherit;
}
.modal-description a:after {
  height: 1px;
}

.modal-pagination {
  position: relative;
  margin-right: 3.1vw;
  padding-left: 0;
  padding-right: 2.3vw;
}
.modal-pagination:after {
  content: "";
  display: block;
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  right: 0;
  height: 1.1vw;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.3);
}
@media (max-width: 479px) {
  .modal-pagination:after {
    height: 2.5vw;
  }
}

.modal-title {
  margin-right: 1.85vw;
  border: none;
  padding: 0;
}
@media (max-width: 479px) {
  .modal-title {
    flex: 1;
  }
}

.modal .glide,
.modal .glide__track,
.modal .glide__slides,
.modal .glide__slide {
  height: 100%;
}
.modal .glide {
  transition: 0.5s;
}
.modal .glide__slide .canvas,
.modal .glide__slide picture {
  display: flex;
  width: 100%;
  height: 100%;
}
.modal .glide__slide canvas,
.modal .glide__slide img {
  display: block;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.modal .glide__arrow {
  position: relative;
  width: 5.4vw;
  height: 5.4vw;
  background: none;
  cursor: pointer;
  transition: 0.35s;
}
.modal .glide__arrow:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2vw;
  height: 2vw;
  background-image: url(../images/svg/arrow.svg);
  background-size: 100% 100%;
}
@media (max-width: 479px) {
  .modal .glide__arrow:after {
    width: 3.3vw;
    height: 3.3vw;
  }
}
@media (min-width: 640px) {
  .modal .glide__arrow {
    width: 3.25vw;
    height: 3.25vw;
  }
  .modal .glide__arrow:after {
    width: 1.9vw;
    height: 1.9vw;
  }
}
.modal .glide__arrow:hover, .modal .glide__arrow:focus {
  transform: scale(0.95);
  opacity: 0.7;
}
.modal .glide__arrow:active {
  transform: translate3d(0, 1px, 0) scale(0.85);
  transition: 0.15s;
}
.modal .glide__arrow--right:after {
  transform: translate3d(-50%, -50%, 0);
}
.modal .glide__arrow--left:after {
  transform: translate3d(-50%, -50%, 0) rotate(180deg);
}

.projects .center {
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.projects ul {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 3.25vw;
  row-gap: 6.225vw;
  transition: 0.35s;
}
.projects ul.disappear {
  opacity: 0;
  transform: translateY(2.15vw);
  transition: opacity 0.3s, transform 0s linear 0.3s;
}
@media screen and (min-width: 480px) {
  .projects ul {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 768px) {
  .projects ul {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 960px) {
  .projects ul {
    row-gap: 4.15vw;
  }
}
.projects li {
  display: flex;
  flex-direction: column;
  break-inside: avoid;
}
.projects li.is-hidden {
  display: none;
}
.projects li.is-hidden + li {
  margin-top: 0;
}
.projects li .image {
  position: relative;
  overflow: hidden;
}
.projects li .image.square:before {
  padding-top: 97.59%;
}
.projects li .image.tall:before {
  padding-top: 132.01%;
}
.projects li .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
}
.projects li .image:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2.15vw;
  border-top: 4px solid #000;
  background-color: #fff;
  opacity: 1;
  transition: 0.5s;
  transition-delay: 0.05s;
}
.projects li .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.projects li .image + h2 {
  margin-top: 1.25vw;
}
.projects li h2 {
  position: relative;
  font-size: 1.3em;
  letter-spacing: -0.00692em;
  text-align: center;
  transition: 0.5s;
}
.projects li a {
  display: block;
  color: #000;
  transition: 0.5s;
}
.projects li a:hover .image:after {
  transform: translateY(-2.15vw);
  transition-delay: 0s;
}
.projects li a:hover .image img {
  height: calc(100% - 2.15vw);
  transition-delay: 0.05s;
}
.projects li a:hover h2 {
  transform: translateY(-2.15vw);
  transition-delay: 0.05s;
}
.projects li a:active {
  transform: translate3d(0, 1px, 0) scale(0.975);
  opacity: 0.7;
  transition: 0.15s;
}

.splash {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.splash.is-loaded:before {
  opacity: 0;
}
.splash.is-loaded .logo {
  transform: translate3d(-50%, -50%, 0) scale(1);
  transition: transform 5s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 1s;
}
.splash.is-finished {
  opacity: 0;
  pointer-events: none;
  transition: 0s linear 2s;
}
.splash.is-finished .logo {
  opacity: 0;
}
.splash.is-finished + .home .logo,
.splash.is-finished + .home .col {
  opacity: 1;
}
.splash.is-finished + .home .col {
  transform: translateY(0);
  transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s, opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
}
.splash:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: 1s;
}
.splash .logo {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0) scale(0.9);
  z-index: 2;
  pointer-events: none;
}
.splash .logo img {
  min-width: 7.35vw;
  height: auto;
}
@media (max-width: 479px) {
  .splash .logo img {
    width: 73vw;
    max-width: none;
  }
}
.splash .images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.splash .images picture {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  will-change: transform, opacity;
}
.splash .images img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.splash + .home .logo,
.splash + .home .col {
  opacity: 0;
}
.splash + .home .col {
  transform: translateY(2.15vw);
}

.e404 {
  padding-top: 7.7vw;
  padding-bottom: 8.7vw;
}
.e404 .center {
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.e404 .text + .block {
  margin-top: 3.7vw;
}
.e404 .block .h5 {
  max-width: 22.8vw;
}
.e404 .block .h5 + div {
  margin-top: 1.5vw;
}
.e404 .block + .block {
  margin-top: 7.35vw;
}
.e404 .pages a {
  display: inline-block;
  line-height: 1.2;
  color: inherit;
  transition: 0.35s;
}
.e404 .pages a:hover, .e404 .pages a:focus {
  transform: scale(0.975);
  opacity: 0.7;
}
.e404 .pages a:active {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}

.about .intro {
  padding-top: 8.85vw;
  padding-bottom: 12.7vw;
}
.about .intro .center {
  padding-left: 9.7vw;
  padding-right: 9.7vw;
}
.about .intro .text {
  width: 70.5vw;
}
.about .hero img {
  display: block;
  width: 100vw;
  height: auto;
}
.about .philosophy {
  padding-top: 9.3vw;
  padding-bottom: 10.9vw;
}
.about .philosophy .center {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding-left: 9.7vw;
  padding-right: 3.25vw;
}
.about .philosophy .text {
  width: 32.2vw;
  padding-top: 23.75vw;
}
.about .philosophy .image {
  width: 45.15vw;
}
.about .philosophy .image.stuck {
  position: sticky;
  top: 9.3vw;
}
.about .philosophy .image picture {
  position: relative;
}
.about .philosophy .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 119.15%;
}
.about .philosophy .image picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about .philosophy picture,
.about .philosophy img {
  display: block;
}
.about .philosophy picture + .cta,
.about .philosophy img + .cta {
  margin-top: 1.4vw;
}
.about .philosophy .cta {
  text-align: right;
}
@media (max-width: 639px) {
  .about .philosophy {
    padding-top: 23.75vw;
    padding-bottom: 23.75vw;
  }
  .about .philosophy .center {
    flex-direction: column;
    padding-right: 9.7vw;
  }
  .about .philosophy .text,
  .about .philosophy .image {
    width: 100%;
  }
  .about .philosophy .text {
    padding-top: 0;
  }
  .about .philosophy .image {
    padding-top: 10.9vw;
  }
}
.about .team {
  padding-bottom: 10.6vw;
  background-color: #8a0303;
  color: #fff;
}
.about .team > .center {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding-left: 3.2vw;
  padding-right: 9.7vw;
}
.about .team .people {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 3.25vw;
  row-gap: 3.3vw;
  margin-top: 15.3vw;
  width: 45.15vw;
  padding-top: 9.05vw;
}
.about .team .person a {
  color: inherit;
}
.about .team .person a:hover .image:after {
  transform: translateY(-2vw);
  transition-delay: 0s;
}
.about .team .person a:hover .image img {
  height: calc(100% - 2vw);
  transition-delay: 0.05s;
}
.about .team .person a:hover .details {
  transform: translateY(-2vw);
  transition-delay: 0.05s;
}
.about .team .person a:hover .cta {
  transform: translateY(-2vw);
  pointer-events: all;
  opacity: 1;
  transition-delay: 0.1s;
}
.about .team .person a:active .image:after {
  transform: translateY(-2.5vw) scale(0.975);
  transition: 0.15s;
}
.about .team .person a:active .image img {
  transform: translate3d(0, 1px, 0) scale(0.975);
  opacity: 0.7;
  transition: 0.15s;
}
.about .team .image {
  position: relative;
  overflow: hidden;
}
.about .team .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 120%;
}
.about .team .image:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2vw;
  border-top: 4px solid #fff;
  background-color: #8a0303;
  opacity: 1;
  transition: 0.5s;
  transition-delay: 0.05s;
}
.about .team .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}
.about .team .details {
  padding-top: 2.2vw;
  transition: 0.5s;
}
.about .team .h4 + .h6 {
  margin-top: 0.25vw;
}
.about .team .cta {
  margin-top: 1.45vw;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}
.about .team .text {
  position: sticky;
  top: 9.05vw;
  width: 32.25vw;
  padding-top: 9.05vw;
}
@media (max-width: 479px) {
  .about .team .people {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 639px) {
  .about .team {
    padding-top: 15.3vw;
    padding-bottom: 15.3vw;
  }
  .about .team .center {
    flex-direction: column;
    padding-left: 9.7vw;
    padding-right: 9.7vw;
  }
  .about .team .people,
  .about .team .text {
    width: 100%;
  }
  .about .team .people {
    order: 2;
    margin-top: 10.6vw;
  }
  .about .team .text {
    order: 1;
    position: static;
  }
}
.about .office {
  padding-top: 10.2vw;
  padding-bottom: 8.95vw;
}
.about .office > .center {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  padding-left: 9.7vw;
  padding-right: 3.25vw;
}
.about .office .text {
  width: 32.2vw;
  padding-top: 23.95vw;
}
.about .office .image {
  width: 45.15vw;
}
.about .office .image.stuck {
  position: sticky;
  top: 10.2vw;
}
.about .office .image picture {
  display: block;
  position: relative;
}
.about .office .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 119.15%;
}
.about .office .image picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about .office picture,
.about .office img {
  display: block;
}
.about .office picture + .cta,
.about .office img + .cta {
  margin-top: 1.4vw;
}
.about .office .cta {
  text-align: right;
}
@media (max-width: 639px) {
  .about .office {
    padding-top: 23.95vw;
    padding-bottom: 23.95vw;
  }
  .about .office > .center {
    flex-direction: column;
    padding-right: 9.7vw;
  }
  .about .office .text,
  .about .office .image {
    width: 100%;
  }
  .about .office .text {
    padding-top: 0;
  }
  .about .office .image {
    padding-top: 8.95vw;
  }
}

.book .intro {
  padding-top: 6.05vw;
  padding-bottom: 2.5vw;
}
.book .intro .center {
  padding-left: 9.7vw;
  padding-right: 9.7vw;
}
.book .intro .text {
  width: 70.5vw;
}
.book .intro h1 {
  text-transform: uppercase;
}
.book .bAbout {
  padding-bottom: 1.95vw;
}
.book .bAbout > .center {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-left: 9.7vw;
  padding-right: 3.25vw;
}
.book .bAbout .text {
  width: 32.2vw;
  padding-top: 26.9vw;
}
.book .bAbout .image {
  width: 45.15vw;
}
.book .bAbout .image picture {
  display: block;
  position: relative;
}
.book .bAbout .image picture:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 119.15%;
}
.book .bAbout .image picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.book .bAbout img + .cta {
  margin-top: 1.4vw;
}
.book .bAbout .cta {
  text-align: right;
}
@media (max-width: 639px) {
  .book .bAbout {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
  .book .bAbout > .center {
    flex-direction: column;
    padding-right: 9.7vw;
  }
  .book .bAbout .text,
  .book .bAbout .image {
    width: 100%;
  }
  .book .bAbout .text {
    order: 2;
    padding-top: 12vw;
  }
  .book .bAbout .image {
    order: 1;
    padding-top: 0;
  }
}
.book .banner-book {
  margin-top: 3.35vw;
  margin-bottom: 2.85vw;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.book .banner-book .center {
  position: relative;
}
.book .banner-book .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  position: relative;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #000;
  text-align: center;
}
@media (max-width: 479px) {
  .book .banner-book .inner {
    padding-top: 10.9vw;
    padding-bottom: 42vw;
  }
}
@media (min-width: 480px) {
  .book .banner-book .inner {
    padding-top: 5.7vw;
    padding-bottom: 38vw;
  }
}
.book .banner-book .text {
  width: 80vw;
}
.book .banner-book .text + .cta {
  margin-top: 3.5vw;
}
@media (min-width: 480px) {
  .book .banner-book .text {
    width: 70vw;
  }
}
@media (min-width: 640px) {
  .book .banner-book .text {
    width: 50vw;
  }
}
@media (min-width: 1024px) {
  .book .banner-book .text {
    width: 35.85vw;
  }
}
.book .banner-book .image {
  position: relative;
  background-color: #EAEAEA;
  position: absolute;
  background-color: #EAEAEA;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  /* &:before {
    padding-top: 58.1905%;
  } */
}
.book .banner-book .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
}
@media (max-width: 1024px) {
  .book .banner-book .center {
    display: flex;
    flex-direction: column;
  }
}

.books .a {
  padding-top: 14.55vw;
}
.books .a .center {
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.books .a .c {
  display: flex;
  justify-content: space-between;
}
.books .a .c + .c {
  margin-top: 2.35vw;
}
.books .a .text,
.books .a .image {
  width: 45.15vw;
}
.books .a .text {
  display: flex;
  align-items: center;
  justify-content: center;
}
.books .a h2 {
  text-transform: uppercase;
}
.books .a .h2 + .p {
  margin-top: 2.95vw;
}
.books .a .h2 + .cta {
  margin-top: 3.95vw;
}
.books .a .p + .cta {
  margin-top: 3.95vw;
}
.books .a .image img {
  display: block;
}
@media (max-width: 639px) {
  .books .a {
    padding-bottom: 14.55vw;
  }
  .books .a .center {
    padding-left: 9.7vw;
    padding-right: 9.7vw;
  }
  .books .a .c {
    flex-direction: column;
  }
  .books .a .c .text {
    order: 2;
  }
  .books .a .c .image {
    order: 1;
  }
  .books .a .c .text .inner {
    width: 100%;
  }
  .books .a .c + .c {
    padding-top: 8.95vw;
  }
  .books .a .text,
  .books .a .image {
    width: 100%;
  }
  .books .a .text {
    padding-top: 5.95vw;
  }
}
@media (min-width: 640px) {
  .books .a .c:nth-child(odd) .text {
    order: 1;
  }
  .books .a .c:nth-child(odd) .inner {
    width: 32.2vw;
  }
  .books .a .c:nth-child(odd) .image {
    order: 2;
  }
  .books .a .c:nth-child(even) .text {
    order: 2;
  }
  .books .a .c:nth-child(even) .inner {
    width: 30.6vw;
  }
  .books .a .c:nth-child(even) .image {
    order: 1;
  }
}

.case-study .intro {
  padding-top: 6.05vw;
  padding-bottom: 4.7vw;
}
.case-study .intro .center {
  padding-left: 9.7vw;
  padding-right: 9.7vw;
}
@media screen and (min-width: 480px) {
  .case-study .intro .text {
    width: 70.5vw;
  }
}
.case-study .hero img {
  display: block;
  width: 100vw;
  height: auto;
}
.case-study .gallery {
  padding-top: 6.05vw;
  padding-bottom: 6.05vw;
}
.case-study .gallery .open-info {
  position: absolute;
  top: 0;
  right: 0;
  height: 100vh;
  right: 3.25vw;
}
.case-study .gallery .open-info p {
  position: absolute;
  bottom: calc(7.75vh - 1.2vw);
  right: 0;
  cursor: pointer;
  font-size: 1.2vw;
  line-height: 1;
  letter-spacing: -0.00708em;
  transition: 0.35s;
}
.case-study .gallery .open-info p:hover, .case-study .gallery .open-info p:focus {
  transform: scale(0.975);
  opacity: 0.7;
}
.case-study .gallery .open-info p:active {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}
@media (max-width: 479px) {
  .case-study .gallery .open-info {
    position: sticky;
    top: calc(98.25vh - 3.6vw);
    height: auto;
  }
  .case-study .gallery .open-info p {
    top: 0;
    right: 3.25vw;
    bottom: auto;
    font-size: 3.6vw;
  }
}
.case-study .gallery .open-info + .center .image:last-child,
.case-study .gallery .open-info + .center .images:last-child {
  padding-bottom: 6.05vh;
}
.case-study .gallery a {
  display: inline-block;
  transition: 0.5s;
}
.case-study .gallery a picture {
  display: block;
  overflow: hidden;
  transition: 0.5s;
}
.case-study .gallery a img {
  transition: 0.5s;
}
.case-study .gallery a:hover picture, .case-study .gallery a:focus picture {
  transform: scale(0.965);
}
.case-study .gallery a:hover img, .case-study .gallery a:focus img {
  transform: scale(1.1);
}
.case-study .gallery a:active {
  transform: translate3d(0, 1px, 0) scale(0.975);
  opacity: 0.7;
  transition: 0.15s;
}
.case-study .related {
  padding-top: 5.95vw;
  padding-bottom: 4vw;
}
.case-study .related .center {
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.case-study .related .text {
  text-align: center;
}
.case-study .related .projects {
  margin-top: 4vw;
}
@media screen and (max-width: 479px) {
  .case-study .related .projects ul li:nth-child(2), .case-study .related .projects ul li:nth-child(3) {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .case-study .related .projects ul li:nth-child(3) {
    display: none;
  }
}

.contact section {
  padding-top: 3.3vw;
  padding-bottom: 4.4vw;
}
.contact section > .center {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
@media screen and (min-width: 640px) {
  .contact section > .center {
    flex-direction: row;
    padding-left: 8.05vw;
  }
}
@media screen and (min-width: 640px) {
  .contact section .text {
    padding-top: 10.1vw;
    width: 35.45vw;
  }
}
.contact section .h2 + .offices {
  margin-top: 8.05vw;
}
.contact section .office + .office {
  margin-top: 7.15vw;
}
.contact section .image {
  margin-top: 8.05vw;
}
@media screen and (min-width: 640px) {
  .contact section .image {
    margin-top: 0;
    width: 45.15vw;
  }
}

.home > .logo {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  z-index: 2;
  pointer-events: none;
}
.home > .logo img {
  width: 25vw;
  height: auto;
}
@media screen and (min-width: 500px) {
  .home > .logo img {
    width: 15vw;
  }
}
@media screen and (min-width: 768px) {
  .home > .logo img {
    width: 10vw;
  }
}
.home .more-about,
.home .banner {
  position: relative;
  z-index: 3;
  margin: 0;
  padding-bottom: 6.8vw;
}
@media (max-width: 479px) {
  .home .chunk-2 {
    display: none;
  }
}
.home .chunk-1 .list .center li .image picture:last-child {
  display: none;
}
.home .chunk-2 .list .center li .image picture:first-child {
  display: none;
}
.home .list {
  padding-top: 3.6vw;
  padding-bottom: 5.85vw;
}
.home .list .logo {
  display: none;
}
.home .list.reg ul.col-left {
  z-index: 3;
}
@media screen and (min-width: 480px) {
  .home .list.reg ul.col-left {
    padding-top: 7.75vw;
    padding-bottom: 7.75vw;
  }
}
.home .list.reg ul.col-left li:nth-child(even) .image:before {
  padding-top: 97.59%;
}
.home .list.reg ul.col-left li:nth-child(odd) .image:before {
  padding-top: 132.01%;
}
.home .list.reg ul.col-right {
  z-index: 1;
}
@media (max-width: 479px) {
  .home .list.reg ul.col-right {
    z-index: 3;
  }
}
.home .list.reg ul.col-right li:nth-child(odd) .image:before {
  padding-top: 97.59%;
}
.home .list.reg ul.col-right li:nth-child(even) .image:before {
  padding-top: 132.01%;
}
.home .list.alt ul.col-left {
  z-index: 1;
}
@media (max-width: 479px) {
  .home .list.alt ul.col-left {
    z-index: 3;
  }
}
.home .list.alt ul.col-left li:nth-child(odd) .image:before {
  padding-top: 97.59%;
}
.home .list.alt ul.col-left li:nth-child(even) .image:before {
  padding-top: 132.01%;
}
.home .list.alt ul.col-right {
  z-index: 3;
}
@media screen and (min-width: 480px) {
  .home .list.alt ul.col-right {
    padding-top: 7.75vw;
    padding-bottom: 7.75vw;
  }
}
.home .list.alt ul.col-right li:nth-child(even) .image:before {
  padding-top: 97.59%;
}
.home .list.alt ul.col-right li:nth-child(odd) .image:before {
  padding-top: 132.01%;
}
.home .list .center {
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
@media screen and (min-width: 480px) {
  .home .list .center {
    display: flex;
    align-items: flex-start;
  }
}
.home .list .center ul {
  flex: 1;
  position: relative;
}
.home .list .center ul + ul {
  margin-top: 4.75vw;
}
@media screen and (min-width: 480px) {
  .home .list .center ul + ul {
    margin-top: 0;
    margin-left: 3.25vw;
  }
}
.home .list .center li {
  text-align: center;
  will-change: transform;
}
.home .list .center li a {
  display: block;
  color: #191919;
  transition: 0.5s;
}
.home .list .center li a:hover .image:after {
  transform: translateY(-2.15vw);
  transition-delay: 0s;
}
.home .list .center li a:hover .image picture {
  height: calc(100% - 2.15vw);
}
.home .list .center li a:hover h2 {
  transform: translateY(-2.15vw);
  transition-delay: 0.05s;
}
.home .list .center li a:hover h3 {
  transform: translateY(-2.15vw);
  transition-delay: 0.075s;
}
.home .list .center li a:active {
  transform: translate3d(0, 1px, 0) scale(0.975);
  opacity: 0.7;
  transition: 0.15s;
}
.home .list .center li .image {
  position: relative;
  overflow: hidden;
}
.home .list .center li .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
}
.home .list .center li .image:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2.15vw;
  border-top: 4px solid #000;
  opacity: 1;
  transition: 0.5s;
}
.home .list .center li .image picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: 0.5s;
}
.home .list .center li .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 5vw);
  object-fit: cover;
  transition: 0.01s;
}
.home .list .center li .image + h2 {
  margin-top: 2.2vw;
}
.home .list .center li h2,
.home .list .center li h3 {
  transition: 0.5s;
}
.home .list .center li h2 + h3 {
  margin-top: 0.4em;
}
.home .list .center li + li {
  margin-top: 4.75vw;
}

.publications {
  padding-bottom: 6.65vw;
}
.publications .intro {
  padding-top: 7.7vw;
}
.publications .intro .center {
  padding-left: 9.7vw;
  padding-right: 9.7vw;
}
@media screen and (min-width: 960px) {
  .publications .intro .text {
    width: 35.9vw;
  }
}
.publications .press {
  padding-top: 8.05vw;
}
.publications .press .center {
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.publications .press .covers {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 3.25vw;
  row-gap: 9.1vw;
  width: 100%;
}
@media screen and (min-width: 480px) {
  .publications .press .covers {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 768px) {
  .publications .press .covers {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 960px) {
  .publications .press .covers {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.publications .press .cover {
  cursor: pointer;
}
.publications .press .cover:hover .image:after {
  transform: translateY(-2.15vw);
  transition-delay: 0s;
}
.publications .press .cover:hover .image img {
  height: calc(100% - 2.15vw);
  transition-delay: 0.05s;
}
.publications .press .cover:hover .details {
  transform: translateY(-2.15vw);
  transition-delay: 0.05s;
}
.publications .press .cover:hover .cta {
  transform: translateY(-2.15vw);
  pointer-events: all;
  opacity: 1;
  transition-delay: 0.1s;
}
.publications .press .cover:active .image:after {
  transform: translateY(-2.5vw) scale(0.975);
  transition: 0.15s;
}
.publications .press .cover:active .image img {
  transform: translate3d(0, 1px, 0) scale(0.975);
  opacity: 0.7;
  transition: 0.15s;
}
.publications .press .image {
  position: relative;
  overflow: hidden;
}
.publications .press .image:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 120%;
}
.publications .press .image:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2.15vw;
  border-top: 4px solid #000;
  background-color: #fff;
  opacity: 1;
  transition: 0.5s;
  transition-delay: 0.05s;
}
.publications .press .image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: 0.5s;
}
.publications .press .details {
  padding-top: 2.2vw;
  transition: 0.5s;
}
.publications .press .h4 + .h6 {
  margin-top: 0.45vw;
}
.publications .press .cta {
  margin-top: 1.45vw;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}
.publications .press .cta .divider {
  display: inline-block;
  margin-left: 0.8vw;
  margin-right: 0.7vw;
  font-size: 0.7em;
}

.results {
  padding-top: 7.7vw;
  padding-bottom: 8.7vw;
}
.results .center {
  width: 100%;
  padding-left: 3.25vw;
  padding-right: 3.25vw;
}
.results .text .open-search {
  display: inline-block;
  position: relative;
  cursor: pointer;
  transition: 0.35s;
}
.results .text .open-search:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
}
.results .text .open-search:hover, .results .text .open-search:focus {
  transform: scale(0.975);
  opacity: 0.7;
}
.results .text .open-search:active {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}
.results .text + .block {
  margin-top: 3.7vw;
}
.results .block .h5 {
  max-width: 22.8vw;
}
.results .block .h5 + div {
  margin-top: 1.5vw;
}
.results .block + .block {
  margin-top: 7.35vw;
}
.results .pages a {
  display: inline-block;
  line-height: 1.2;
  color: inherit;
  transition: 0.35s;
}
.results .pages a:hover, .results .pages a:focus {
  transform: scale(0.975);
  opacity: 0.7;
}
.results .pages a:active {
  transform: translate3d(0, 1px, 0) scale(0.925);
  transition: 0.15s;
}

.work .filter {
  padding-top: 7.9vw;
  padding-bottom: 5.25vw;
}
.work .filter .center {
  position: relative;
}
.work .filter .mobile {
  text-align: center;
  margin-bottom: 5vw;
}
.work .filter .mobile.is-open {
  display: none;
}
.work .filter .mobile.is-open ~ .categories ul {
  display: block;
}
.work .filter .mobile.is-open ~ .subcategories {
  display: flex;
}
@media screen and (min-width: 480px) {
  .work .filter .mobile {
    display: none;
  }
  .work .filter .mobile.is-open ~ .categories ul {
    display: flex;
  }
}
.work .filter ul {
  display: none;
  text-align: center;
}
@media screen and (min-width: 480px) {
  .work .filter ul {
    display: flex;
    justify-content: center;
  }
}
.work .filter .categories,
.work .filter .subcategory {
  position: relative;
  width: 100%;
}
.work .filter .categories a,
.work .filter .subcategory a {
  display: inline-block;
  position: relative;
  transition: 0.5s;
}
.work .filter .categories a:after,
.work .filter .subcategory a:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: #000;
  opacity: 0;
}
@media screen and (max-width: 479px) {
  .work .filter .categories a:after,
  .work .filter .subcategory a:after {
    transition: 0.35s;
  }
}
.work .filter .categories a.is-active:after,
.work .filter .subcategory a.is-active:after {
  opacity: 1;
}
.work .filter .categories a.is-unhovered,
.work .filter .subcategory a.is-unhovered {
  opacity: 0.3;
}
.work .filter .categories a:active,
.work .filter .subcategory a:active {
  transform: scale(0.95);
  transition: 0.15s;
}
.work .filter .categories .line,
.work .filter .subcategory .line {
  position: absolute;
  top: 100%;
  left: 0;
  height: 2px;
  width: 0;
  background-color: #000;
}
@media screen and (max-width: 479px) {
  .work .filter .categories .line,
  .work .filter .subcategory .line {
    display: none;
  }
}
.work .filter .categories {
  transition: 0.5s;
}
.work .filter .categories li + li {
  margin-top: 2vw;
}
@media screen and (min-width: 480px) {
  .work .filter .categories li + li {
    margin-top: 0;
    margin-left: 3.45vw;
  }
}
.work .filter .categories.subcategories-active {
  transform: translateY(-1.75vw);
}
.work .filter .categories.subcategories-active + .subcategories {
  transform: translateY(0);
  opacity: 1;
}
.work .filter .categories.subcategories-active + .subcategories .subcategory.is-active {
  pointer-events: all;
}
.work .filter .subcategories {
  position: absolute;
  transform: translateY(1vw);
  top: 100%;
  left: 0;
  width: 100%;
  padding-top: 0.85vw;
  opacity: 0;
  transition: 0.5s;
}
@media screen and (max-width: 479px) {
  .work .filter .subcategories {
    position: relative;
    top: 0;
    padding-top: 5vw;
  }
}
.work .filter .subcategories .subcategory {
  pointer-events: none;
  display: none;
}
.work .filter .subcategories .subcategory.is-active {
  display: block;
}
@media screen and (max-width: 479px) {
  .work .filter .subcategories ul {
    display: flex;
    justify-content: center;
  }
}
.work .filter .subcategories ul li + li {
  margin-left: 3.45vw;
}
@media screen and (min-width: 480px) {
  .work .filter .subcategories ul li + li {
    margin-left: 1.85vw;
  }
}
.work .filter a {
  color: #000;
}