.gallery-container {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background-color: var(--black);
}
.gallery-container * {
  color: var(--white);
}
.gallery-container.hidden {
  top: -10000000px;
  left: -10000000px;
  pointer-events: none;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}
.gallery-container.scene {
  user-select: none;
  pointer-events: all;
}
.gallery {
  position: relative;
  width: 110vw; /* large enough to fit parallax range */
  height: 105vh;
}

.bg-grid {
  background-image: url("/assets/graphics/bg.png");
  background-size: cover; /* or contain, 100% 100%, etc. */
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 1;
}

[data-barba-namespace="Our Work"] {
  background-color: var(--black);
}

[data-barba-namespace=Home] {
  background-color: var(--black);
}
[data-barba-namespace=Home] .bg-grid {
  opacity: 0;
}

[data-template=people],
[data-template=projects] {
  background-color: var(--black);
}
[data-template=people] .item,
[data-template=projects] .item {
  will-change: transform, filter;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.gallery-container.homepage .inner {
  position: absolute;
  /* width: 100%; */
  /* height: 100%; */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 130vw;
  aspect-ratio: 1.5906862745;
  /* height: auto; */
}
.gallery-container.homepage .img-wrapper {
  position: absolute;
  height: auto;
  display: block;
  aspect-ratio: 1;
  width: 15vw;
  background-color: #eee;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  transition: border-radius 0.3s ease;
  aspect-ratio: 1;
  height: auto;
  width: 29vw;
  text-align: right;
  background-color: transparent;
}
.gallery-container.homepage .img-wrapper._0 {
  top: -8%;
  left: 18.1%;
  width: 39vw;
  aspect-ratio: unset;
}
.gallery-container.homepage .img-wrapper._0 .aspectholder {
  clip-path: url(#img1Path);
}
.gallery-container.homepage .img-wrapper._0.two {
  top: -14.7%;
  left: 11.95%;
  width: 39vw;
}
.gallery-container.homepage .img-wrapper._0.three {
  top: -5.1%;
  left: 3.5%;
  width: 30vw;
}
.gallery-container.homepage .img-wrapper._1 {
  top: -23.8%;
  left: 75.37%;
  width: 33.5vw;
  aspect-ratio: 1;
}
.gallery-container.homepage .img-wrapper._1 .aspectholder {
  clip-path: url(#img2Path);
}
.gallery-container.homepage .img-wrapper._1.two {
  top: -17.8%;
  left: 50.37%;
}
.gallery-container.homepage .img-wrapper._1.three {
  top: -15.7%;
  left: 40.3%;
}
.gallery-container.homepage .img-wrapper._2 {
  top: 75.4%;
  left: 78.37%;
  width: 31.4vw;
  aspect-ratio: 1;
}
.gallery-container.homepage .img-wrapper._2 .aspectholder {
  clip-path: url(#img3Path);
}
.gallery-container.homepage .img-wrapper._2.two {
  top: 23.8%;
  left: 78.4%;
  width: 33vw;
}
.gallery-container.homepage .img-wrapper._2.three {
  top: 10.4%;
  left: 76.9%;
}
.gallery-container.homepage .img-wrapper .aspectholder {
  width: 100%;
  height: 100%;
}
.gallery-container.homepage .img-wrapper .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item {
  position: absolute;
  width: 15vw;
  aspect-ratio: 1;
  background-color: #eee;
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  transition: border-radius 0.5s ease, transform 0.5s ease, filter 0.5s ease;
  z-index: 1;
  backface-visibility: hidden;
  transform: translateZ(0);
}
.item:nth-child(1) {
  top: 35.51%;
  left: 9.3%;
  aspect-ratio: 0.793;
  text-align: right;
  width: 17.1vw;
}
.item:nth-child(1) .aspectholder._2 {
  width: 50%;
  height: 50%;
  top: 30%;
  right: -30%;
}
.item.two:nth-child(1) {
  top: 69.39%;
  left: 20.98%;
}
.item.three:nth-child(1) {
  top: 67.53%;
  left: 54.84%;
}
.item:nth-child(2) {
  top: 71.55%;
  left: 3.9%;
  aspect-ratio: 1;
  height: auto;
  width: 36.4vw;
  text-align: right;
  background-color: transparent;
}
.item:nth-child(2) .aspectholder._0 {
  clip-path: url(#wwdPath);
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: unset;
  aspect-ratio: 1;
}
.item:nth-child(2) .aspectholder._1 {
  top: 10%;
  left: 0%;
}
.item:nth-child(2) .aspectholder._2 {
  top: 80%;
  right: 20%;
}
.item.two:nth-child(2), .item.three:nth-child(2) {
  width: 36.4vw;
  top: 33.76%;
  left: -8%;
}
.item:nth-child(3) {
  top: 38.97%;
  left: 36.1%;
  aspect-ratio: 0.99;
  width: 17.5vw;
}
.item:nth-child(3) .aspectholder._2 {
  top: 60%;
}
.item.two:nth-child(3) {
  top: 38.85%;
  left: 57.76%;
}
.item.three:nth-child(3) {
  top: 38.53%;
  left: 32.65%;
}
.item:nth-child(4) {
  top: 25.05%;
  left: 56.33%;
  aspect-ratio: 0.808;
  width: 17.6vw;
}
.item:nth-child(4) .aspectholder._2 {
  top: 40%;
  right: -40%;
}
.item.two:nth-child(4) {
  top: 32.9%;
  left: 33.02%;
}
.item.three:nth-child(4) {
  top: 30.93%;
  left: 59.84%;
}
.item:nth-child(5) {
  top: 71.3%;
  left: 36%;
  aspect-ratio: 1;
  height: auto;
  width: 40.9vw;
  text-align: right;
  background-color: transparent;
}
.item:nth-child(5) .aspectholder._0 {
  clip-path: url(#wpPath);
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: unset;
  aspect-ratio: 1.3;
}
.item:nth-child(5) .aspectholder._1 {
  top: -10%;
  left: 20%;
}
.item:nth-child(5) .aspectholder._2 {
  top: 60%;
  right: 15%;
}
.item.two:nth-child(5) {
  top: 71.38%;
  left: 38.63%;
}
.item.three:nth-child(5) {
  top: 71.48%;
  left: 13.9%;
}
.item:nth-child(6) {
  top: 31.2%;
  left: 77.66%;
  aspect-ratio: 0.646;
  width: 17.1vw;
}
.item:nth-child(6) .aspectholder._1 {
  width: 50%;
  height: 50%;
  top: 60%;
  right: unset;
  left: -20%;
}
.item:nth-child(6) .aspectholder._2 {
  top: 20%;
}
.item.two:nth-child(6) {
  top: 64.54%;
  left: 77.73%;
}
.item.three:nth-child(6) {
  top: 58.75%;
  left: 76.5%;
}
.item-title {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  width: 100%;
  color: #eee;
}
.item-title span {
  white-space: nowrap;
}
.item-title .fs, .item-title blockquote footer, blockquote .item-title footer, .item-title .project-media-text .project-block-text .fp u, .project-media-text .project-block-text .fp .item-title u, .item-title .project-media-text .project-block-text .article-text strong u, .project-media-text .project-block-text .article-text strong .item-title u, .item-title .article-text .project-media-text .project-block-text strong u, .article-text .project-media-text .project-block-text strong .item-title u, .item-title .project-media-text .project-block-text .person-main-data .person-title strong u, .project-media-text .project-block-text .person-main-data .person-title strong .item-title u, .item-title .person-main-data .person-title .project-media-text .project-block-text strong u, .person-main-data .person-title .project-media-text .project-block-text strong .item-title u {
  display: block;
  position: relative;
  bottom: 2px;
  opacity: 0.5;
}
.item .item-holder {
  width: 100%;
  height: 100%;
  position: relative;
  transition: transform 0.5s ease;
}
.item .aspectholder {
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 10;
  transition: opacity 0.5s ease, filter 0.5s ease, transform 0.5s ease;
}
.item .aspectholder._0 {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
}
.item .aspectholder._1 {
  position: absolute;
  display: block;
  width: 40%;
  height: 40%;
  top: 20%;
  left: -20%;
  z-index: 0;
  filter: blur(4px);
  opacity: 0.5;
  transform: translateZ(0);
}
.item .aspectholder._2 {
  position: absolute;
  display: block;
  width: 40%;
  height: 40%;
  top: 80%;
  right: -20%;
  z-index: 0;
  filter: blur(6px);
  opacity: 0.1;
  transform: translateZ(0);
}
.item .aspectholder img {
  transition: transform 0.5s ease;
  transform: scale3d(1.02, 1.02, 1);
}
.item .aspectholder {
  width: 100%;
  height: 100%;
}
.item .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.item:hover {
  z-index: 10;
  will-change: transform, filter;
}
.item:hover .item-holder {
  transform: scale3d(1.05, 1.05, 1);
  will-change: transform;
}
.item:hover .aspectholder {
  opacity: 1;
  filter: blur(1px);
  will-change: filter, opacity;
  transform: translateZ(0);
}
.item:hover .aspectholder.debut {
  filter: blur(0);
}
.item:hover img {
  transform: scale3d(1.07, 1.07, 1);
  will-change: transform;
}

.project-title {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: var(--Pg);
  z-index: 11;
  color: var(--white);
  pointer-events: none;
  opacity: 0;
}
.project-title .project-title-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  row-gap: var(--Pm);
  text-align: center;
  width: 100%;
  max-width: calc(100% - 420px);
  padding: 0 7%;
}

[data-view=Parallax] .large {
  width: 100%;
  height: 100%;
  pointer-events: all;
}
[data-view=Parallax] .large .inner {
  position: absolute;
  display: grid !important;
  grid-template-columns: repeat(var(--cols), 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: 0;
  row-gap: 0;
  width: auto; /* large enough to fit parallax range */
  height: auto;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%);
  pointer-events: none;
  padding: 120px;
}
[data-view=Parallax] .large .inner:hover .item-container .item {
  opacity: 0.2;
  transition: opacity 0.3s ease;
}
[data-view=Parallax] .large .item-container {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: auto;
  aspect-ratio: 1;
  padding: 3.5vw 3.5vw;
  grid-row: span var(--row-span);
}
[data-view=Parallax] .large .item-container:hover .item {
  opacity: 1 !important;
  transition: opacity 0.3s ease;
}
[data-view=Parallax] .large .item-container .item {
  position: relative;
  pointer-events: auto;
  transform: translate(-50%, -50%);
  top: var(--top) !important;
  left: var(--left) !important;
  right: unset !important;
  bottom: unset !important;
  width: 14vw;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 2150px) {
  [data-view=Parallax] .large .item-container .item {
    width: 13vw;
  }
}
[data-view=Parallax] .large .item-container .item .item-title {
  align-items: flex-end;
  text-align: left;
  display: flex;
  justify-content: space-between;
  column-gap: var(--Ph);
  line-height: 1;
  padding-bottom: 4px;
  display: none;
}
[data-view=Parallax] .large .item-container .item .item-title .name {
  display: flex;
  column-gap: 8px;
  flex-wrap: wrap;
}
[data-view=Parallax] .large .item-container .item .item-title .fs, [data-view=Parallax] .large .item-container .item .item-title blockquote footer, blockquote [data-view=Parallax] .large .item-container .item .item-title footer, [data-view=Parallax] .large .item-container .item .item-title .project-media-text .project-block-text .fp u, .project-media-text .project-block-text .fp [data-view=Parallax] .large .item-container .item .item-title u, [data-view=Parallax] .large .item-container .item .item-title .project-media-text .project-block-text .article-text strong u, .project-media-text .project-block-text .article-text strong [data-view=Parallax] .large .item-container .item .item-title u, [data-view=Parallax] .large .item-container .item .item-title .article-text .project-media-text .project-block-text strong u, .article-text .project-media-text .project-block-text strong [data-view=Parallax] .large .item-container .item .item-title u, [data-view=Parallax] .large .item-container .item .item-title .project-media-text .project-block-text .person-main-data .person-title strong u, .project-media-text .project-block-text .person-main-data .person-title strong [data-view=Parallax] .large .item-container .item .item-title u, [data-view=Parallax] .large .item-container .item .item-title .person-main-data .person-title .project-media-text .project-block-text strong u, .person-main-data .person-title .project-media-text .project-block-text strong [data-view=Parallax] .large .item-container .item .item-title u {
  white-space: nowrap;
}
[data-view=Parallax] .large .item-container .item .item-title span {
  white-space: unset;
  display: block;
}
[data-view=Parallax] .large .item-container .item .item-title .abv {
  width: fit-content;
}
[data-view=Parallax] .large .item-container .item.card-article {
  width: 23vw;
  aspect-ratio: 1 !important;
  text-align: left;
  color: var(--black);
  --white: var(--black);
}
[data-view=Parallax] .large .item-container .item.card-article .aspectholder {
  display: block;
  filter: blur(0px) !important;
}
[data-view=Parallax] .large .item-container .item.card-article .fm, [data-view=Parallax] .large .item-container .item.card-article blockquote {
  font-weight: 400;
}
[data-view=Parallax] .large .item-container .item-holder {
  aspect-ratio: unset;
}
[data-view=Parallax] .large .item-container:nth-of-type(2n + 1) .item {
  aspect-ratio: unset;
}
[data-view=Parallax] .large .item-container:nth-of-type(2n + 1) .item .aspectholder {
  aspect-ratio: 0.8;
  top: 0 !important;
  position: relative;
}
[data-view=Parallax] .large .item-container:nth-of-type(2n + 2) .item {
  aspect-ratio: unset;
}
[data-view=Parallax] .large .item-container:nth-of-type(2n + 2) .item .aspectholder {
  aspect-ratio: 1;
  top: 0 !important;
  position: relative;
}

.gallery-grid {
  width: 100vw;
  height: 100%;
  padding-top: 200px;
  color: var(--white);
  z-index: 1;
  position: relative;
}
.gallery-grid.hidden {
  top: -10000000px;
  left: -10000000px;
  pointer-events: none;
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}
.gallery-grid-top {
  padding-bottom: var(--Pxl);
}
.gallery-grid-top-title {
  grid-column: 2/-2;
}
.gallery-grid-top-blurb {
  grid-column: 2/10;
}
.gallery-grid-cont {
  grid-column: 2/-2;
  padding: 0 7%;
  padding-bottom: 200px;
}
.gallery-grid-cont.grid-4 {
  column-gap: var(--Pg);
  row-gap: var(--Pl);
}
.gallery-grid-cont-item {
  display: flex;
  flex-direction: column;
  row-gap: var(--Ph);
  will-change: transform;
}
.gallery-grid-cont-item .item-title {
  position: relative;
  transform: unset;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 4px;
}
.gallery-grid-cont-item .item-title span {
  white-space: unset;
}
.gallery-grid-cont-item .aspectholder {
  width: 100%;
  aspect-ratio: 0.8;
  overflow: hidden;
  will-change: transform;
}
.gallery-grid-cont-item .aspectholder img {
  transition: transform 0.5s ease;
  transform: translateZ(0);
}
.gallery-grid-cont-item .aspectholder * {
  width: 100%;
  aspect-ratio: 0.8;
  object-fit: cover;
  transition: transform 0.5s ease;
  transform: translateZ(0);
}
.gallery-grid-cont-item:hover .aspectholder img {
  transform: scale3d(1.1, 1.1, 1);
  transition: transform 0.5s ease;
}

.project-archive {
  grid-column: 2/-2;
  color: var(--white);
  padding: var(--Pxl) 6%;
  row-gap: var(--Pl);
}
.project-archive-title {
  grid-column: 1/-1;
}
.project-archive-list {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
}
.project-archive-list-item {
  border-top: 1px solid var(--white-20);
  transition: border-top 0.2s ease;
}
.project-archive-list-item:hover {
  border-top: 1px solid var(--white);
}
.project-archive-list-item:hover summary {
  opacity: 1;
}
.project-archive-list-item-row {
  padding: var(--Pg) 0;
  display: flex;
  justify-content: flex-start;
  column-gap: var(--Ps);
}
.project-archive-list-item-row .year {
  flex: 1;
}
.project-archive-list-item-row .title,
.project-archive-list-item-row .discipline,
.project-archive-list-item-row .sector {
  flex: 3;
}
.project-archive-list-item-row .region,
.project-archive-list-item-row .status {
  flex: 2;
}
.project-archive-list-item-row *::after {
  content: "";
  display: none;
}
.project-archive-list-item-imgs {
  padding-bottom: var(--Pg);
  overflow-x: scroll;
  overflow-y: hidden;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: auto;
  column-gap: var(--Ps);
  scroll-snap-type: x mandatory;
  scroll-padding-left: 100px;
}
.project-archive-list-item-imgs .aspectholder {
  height: 300px;
  width: auto;
}
.project-archive-list-item-imgs .aspectholder * {
  height: 100%;
  width: auto;
}

.sort-options {
  padding: var(--Pm) 7% var(--Pxl) 7%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: var(--Pg);
  position: relative;
}
.sort-options:before {
  position: absolute;
  content: "";
  width: 86%;
  left: 7%;
  top: 0;
  height: 1px;
  background-color: var(--white-20);
}
.sort-options .custom-radio {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  position: relative;
  user-select: none;
}
.sort-options .custom-radio input[type=radio] {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}
.sort-options .custom-radio input[type=radio] ~ .custom-radio-box,
.sort-options .custom-radio input[type=radio] ~ span {
  opacity: 0.5;
  transition: opacity 0.2s ease;
}
.sort-options .custom-radio input[type=radio]:checked ~ .custom-radio-box {
  background: currentColor;
  opacity: 1;
}
.sort-options .custom-radio input[type=radio]:checked ~ span {
  opacity: 1;
}
.sort-options .custom-radio input[type=radio]:checked ~ .custom-radio-box::after {
  background: var(--white);
}
.sort-options .custom-radio-box {
  border: 1px solid var(--white);
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s;
  background: transparent;
}
.sort-options .custom-radio-box::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: transparent;
  transition: background 0.2s;
}

@media screen and (max-width: 789px) {
  .sort-options {
    padding: var(--Pm) 0% var(--Pxl) 0%;
    justify-content: flex-start;
  }
  .sort-options:before {
    width: 100%;
    left: 0;
  }
}
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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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: "";
  content: none;
}

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

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 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

blockquote,
q {
  quotes: none;
}

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

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

* {
  box-sizing: border-box;
}

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

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.hidden {
  display: none !important;
}

textarea,
input,
button,
select {
  font-family: inherit;
  font-size: inherit;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
}

input,
textarea,
input::placeholder,
textarea::placeholder {
  background: inherit;
  color: inherit;
  border: none;
  padding: 0;
  outline: inherit;
  opacity: 1;
}

textarea {
  resize: none;
}

input:not([type=submit]),
textarea {
  display: block;
  width: 100%;
  border-radius: 0;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  -webkit-appearance: none;
}

input[type=number] {
  -moz-appearance: textfield;
}

select {
  background: none;
  width: 100%;
  cursor: pointer;
  border: none;
  outline: none;
  border-radius: 0;
  color: var(--fg);
  margin: 0;
  padding: 0;
}

select option {
  color: var(--fg);
  margin: 0;
  padding: 0;
  background: var(--bg);
}

select:focus {
  outline: none;
}

ul,
li {
  text-decoration: none;
  list-style: none;
}

/* Input Elements */
button,
input[type=submit],
input[type=reset],
div[role=button] {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
  -webkit-appearance: none;
  border-radius: 0;
}

input[type=button],
input[type=button]:focus {
  outline: none;
}

a:link,
a:visited,
a:link span,
a:visited span {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-Thin.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-Thin.woff") format("woff"), url("../fonts/NeueHaasDisplay-Thin.eot") format("embedded-opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-ThinItalic.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-ThinItalic.woff") format("woff"), url("../fonts/NeueHaasDisplay-ThinItalic.eot") format("embedded-opentype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-XThin.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-XThin.woff") format("woff"), url("../fonts/NeueHaasDisplay-XThin.eot") format("embedded-opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-XThinItalic.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-XThinItalic.woff") format("woff"), url("../fonts/NeueHaasDisplay-XThinItalic.eot") format("embedded-opentype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-XXThin.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-XXThin.woff") format("woff"), url("../fonts/NeueHaasDisplay-XXThin.eot") format("embedded-opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-XXThinItalic.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-XXThinItalic.woff") format("woff"), url("../fonts/NeueHaasDisplay-XXThinItalic.eot") format("embedded-opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-Roman.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-Roman.woff") format("woff"), url("../fonts/NeueHaasDisplay-Roman.eot") format("embedded-opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-RomanItalic.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-RomanItalic.woff") format("woff"), url("../fonts/NeueHaasDisplay-RomanItalic.eot") format("embedded-opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-Mediu.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-Mediu.woff") format("woff"), url("../fonts/NeueHaasDisplay-Mediu.eot") format("embedded-opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-MediumItalic.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-MediumItalic.woff") format("woff"), url("../fonts/NeueHaasDisplay-MediumItalic.eot") format("embedded-opentype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-Bold.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-Bold.woff") format("woff"), url("../fonts/NeueHaasDisplay-Bold.eot") format("embedded-opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-BoldItalic.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-BoldItalic.woff") format("woff"), url("../fonts/NeueHaasDisplay-BoldItalic.eot") format("embedded-opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-Black.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-Black.woff") format("woff"), url("../fonts/NeueHaasDisplay-Black.eot") format("embedded-opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "NHG";
  src: url("../fonts/NeueHaasDisplay-BlackItalic.woff2") format("woff2"), url("../fonts/NeueHaasDisplay-BlackItalic.woff") format("woff"), url("../fonts/NeueHaasDisplay-BlackItalic.eot") format("embedded-opentype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
/* Root Elements */
:root {
  --Fb: 1rem;
  --black: #000000;
  --white: #ffffff;
  --off-white: #ebebeb;
  --grey: #f1f5f2;
  --beige: #c0bda9;
  --blue: #313a73;
  --pink: #f2b4c8;
  --yellow: #ebd96a;
  --green: #2f432d;
  --orange: #c8704e;
  --white-20: #ffffff44;
  --black-20: #00000026;
  --fg: var(--black);
  --bg: var(--white);
  --Pm: 20px;
  --Pg: 28px;
  --negPg: -28px;
  --Ps: 15px;
  --Ph: calc(0.5 * var(--Pm));
  --Pq: calc(0.2 * var(--Ph));
  --Pd: calc(2 * var(--Pm));
  --Pl: 50px;
  --Pxl: 100px;
  --Pxxl: 200px;
  --Hh: auto;
  --Hs: calc(100vh - var(--Hh));
  --Wf: calc(100% + (2 * var(--Pm)));
  --Wg: calc(100% + var(--Pm));
  --Ml: calc(-1 * var(--Pm));
  --Hh: 154px;
  --landscape: 1.38;
  --portrait: 0.9;
  --ease: 0.8s ease;
  --fxxxl: max(calc(calc(200 / 2080) * 100vw), 10px);
  --fxxl: max(calc(calc(130 / 2080) * 100vw), 10px);
  --fxl: max(calc(calc(120 / 2080) * 100vw), 10px);
  --fl: max(calc(calc(60 / 2080) * 100vw), 10px);
  --fm: 25px;
  --fp: max(calc(calc(20 / 2080) * 100vw), 20px);
  --fs: max(calc(calc(16 / 2080) * 100vw), 16px);
  --fms: 13px;
  --fxs: 12px;
  --size: var(--fs);
}
@media screen and (min-width: 2080px) {
  :root {
    --Pxl: 180px;
    --Pxxl: 280px;
  }
}
@media screen and (max-width: 786px) {
  :root {
    --fxxxl: 150px;
    --fxl: 35px;
    --fl: 30px;
    --fs: 15px;
    --Pg: 20px;
    --Pxl: 50px;
    --negPg: -20px;
  }
}

html {
  font-size: var(--size);
  font-weight: 400;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: 0;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "NHG", Helvetica, sans-serif;
  overflow-x: hidden;
  height: auto;
}

body.no-scroll {
  height: 100vh;
  overflow: hidden;
}

main {
  min-height: 100vh;
}

.visaully-hidden {
  visibility: hidden;
  position: absolute;
  z-index: -10;
  display: none;
}

.visaully-hidden {
  display: none;
}

/* Details Elements */
summary,
summary:focus {
  outline: none;
  list-style-type: none;
  position: relative;
  cursor: pointer;
  transition: all 0.3s;
}

details summary::marker,
details summary::-webkit-details-marker {
  content: "";
  visibility: hidden;
  position: absolute;
  z-index: -10;
  list-style-type: none;
  display: none;
}

summary > * {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

summary > *::after {
  content: "+";
  margin-left: var(--Pm);
}

@media (hover: hover) and (pointer: fine) {
  details summary:hover {
    opacity: 0.5;
  }
}
details[open] summary > *::after {
  content: "-";
}

details[open] summary ~ * {
  animation: appear 0.4s ease-in;
  -webkit-animation: appear 0.4s ease-in;
}

details.closing summary ~ * {
  animation: close 0.4s ease-out;
}

@keyframes appear {
  0% {
    opacity: 0;
    max-height: 0;
  }
  100% {
    opacity: 1;
    max-height: calc(var(--vh, 1vh) * 100);
  }
}
@keyframes close {
  0% {
    opacity: 1;
    max-height: calc(var(--vh, 1vh) * 100);
  }
  100% {
    opacity: 0;
    max-height: 0;
  }
}
/* Image/Video Elements */
.aspectholder > * {
  display: block;
}

.aspectholder.controls {
  position: relative;
}
.aspectholder.controls .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: 100px;
  height: 100px;
  background-color: var(--black);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  mix-blend-mode: screen;
}
.aspectholder.controls.playing .play-btn {
  display: none;
}

video .vsc-controller {
  height: 0 !important;
  width: 0 !important;
  object-fit: unset !important;
}

.grid-18 {
  display: grid;
  grid-template-columns: repeat(18, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: 1px;
  row-gap: var(--Pm);
  width: 100%;
}

.grid-16 {
  display: grid;
  grid-template-columns: repeat(16, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: 1px;
  row-gap: var(--Pm);
  width: 100%;
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pg);
  row-gap: var(--Pm);
  width: 100%;
}

@media screen and (max-width: 1186px) {
  .grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pg);
  row-gap: var(--Pm);
  width: 100%;
}

.fxxxl {
  font-size: var(--fxxxl);
  line-height: 0.8;
  font-weight: 500;
}

.fxxl {
  font-size: var(--fxxl);
  line-height: 0.85;
  font-weight: 500;
}

.fxl {
  font-size: var(--fxl);
  line-height: 0.9;
  font-weight: 500;
}

.fl, .footer .footer-topline .footer-message strong {
  font-size: var(--fl);
  line-height: 1.1;
  font-weight: 500;
}

.fm, blockquote {
  font-size: var(--fm);
  line-height: 1.2;
  font-weight: 500;
}

.fp, .article-text strong, .person-main-data .person-title strong, .privacy-section .page-content strong {
  font-size: var(--fp);
  line-height: 1.2;
  font-weight: 500;
}

.fs, blockquote footer, .project-media-text .project-block-text .fp u, .project-media-text .project-block-text .article-text strong u, .article-text .project-media-text .project-block-text strong u, .project-media-text .project-block-text .person-main-data .person-title strong u, .person-main-data .person-title .project-media-text .project-block-text strong u {
  font-size: var(--fs);
  line-height: 1.2;
  font-weight: 400;
  letter-spacing: 0.2px;
}

.fxs {
  font-size: var(--fxs);
  line-height: 1.2;
  font-weight: 400;
}

strong,
.bold,
blockquote footer,
.project-media-text .project-block-text .fp u,
.project-media-text .project-block-text .article-text strong u,
.article-text .project-media-text .project-block-text strong u,
.project-media-text .project-block-text .person-main-data .person-title strong u,
.person-main-data .person-title .project-media-text .project-block-text strong u {
  font-weight: 500;
}

.upcase {
  text-transform: uppercase;
}

.quote {
  text-indent: -0.45em;
}
.quote .the-quote {
  text-indent: -0.45em;
}
.quote .citation {
  padding-left: 0.45em;
}

@supports (hanging-punctuation: first) {
  .quote {
    text-indent: 0;
    hanging-punctuation: first;
  }
}
.px {
  padding-left: var(--Pg);
  padding-right: var(--Pg);
}

.py {
  padding-top: var(--Pg);
  padding-bottom: var(--Pg);
}

.pxs {
  padding-left: calc(var(--Pg) / 2);
  padding-right: calc(var(--Pg) / 2);
}

.pys {
  padding-top: calc(var(--Pg) / 2);
  padding-bottom: calc(var(--Pg) / 2);
}

.pxl {
  padding-left: calc(var(--Pg) * 2);
  padding-right: calc(var(--Pg) * 2);
}

.pyl {
  padding-top: calc(var(--Pg) * 2);
  padding-bottom: calc(var(--Pg) * 2);
}

.pr {
  padding-right: var(--Pg);
}

.pl {
  padding-left: var(--Pg);
}

.pt {
  padding-top: var(--Pg);
}

.pb {
  padding-bottom: var(--Pg);
}

.prs {
  padding-right: calc(var(--Pg) / 2);
}

.pls {
  padding-left: calc(var(--Pg) / 2);
}

.pts {
  padding-top: calc(var(--Pg) / 2);
}

.pbs {
  padding-bottom: calc(var(--Pg) / 2);
}

.prl {
  padding-right: calc(var(--Pg) * 2);
}

.pll {
  padding-left: calc(var(--Pg) * 2);
}

.ptl {
  padding-top: calc(var(--Pg) * 2);
}

.pbl {
  padding-bottom: calc(var(--Pg) * 2);
}

.btn {
  display: block;
  width: fit-content;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  column-gap: 15px;
}
.btn svg {
  position: relative;
  transition: margin-left 0.5s ease;
}
.btn:hover svg {
  margin-left: 5px;
}

.parallax-cont {
  overflow: hidden;
  position: relative;
}
.parallax-cont .aspectholder {
  position: absolute;
  top: -30%;
  width: 100%;
  height: 110%;
  object-fit: cover;
}

.page-blocks {
  min-height: 100vh;
}

.shifter {
  width: 50dvw;
  height: 100vh;
  position: fixed;
  z-index: 100000;
  top: 0;
  background-color: var(--black);
}
.shifter.uno {
  left: 0;
  transform: translateY(105%);
}
.shifter.dos {
  left: 50dvw;
  transform: translateY(-105%);
}

@media screen and (max-width: 789px) {
  .shifter {
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: 100000;
    top: 0;
    background-color: var(--black);
  }
  .shifter.uno {
    left: 0;
    transform: translateY(105%);
  }
  .shifter.dos {
    right: 0;
    transform: translateY(105%);
  }
}
.enter {
  opacity: 0;
  transition: opacity var(--ease), transform var(--ease);
}
.enter-child {
  transition: opacity var(--ease), transform var(--ease);
  opacity: 0;
}

.enter.entered {
  opacity: 1;
}
.enter.entered .enter-child {
  opacity: 1;
  transition: opacity var(--ease) calc(0.2s * var(--stagger));
}

.header-bg {
  position: fixed;
  top: 0;
  left: 0;
  height: 110px;
  width: 100vw;
  z-index: 99;
  pointer-events: none;
  background: #000;
  background: linear-gradient(180deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.44) 67%, rgba(0, 0, 0, 0) 100%);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  height: var(--Hh);
  color: var(--fg);
  padding: var(--Pg);
  pointer-events: none;
}
header .site_logo {
  pointer-events: all;
  display: block;
  height: 92px;
  width: fit-content;
}
header .site_logo * {
  display: block;
  height: 92px;
}
header svg path {
  fill: var(--logo);
  transition: fill 0.3s ease;
}
header .menu-toggle {
  position: absolute;
  top: var(--Pg);
  right: var(--Pg);
  z-index: 10;
  pointer-events: all;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--white);
  transition: opacity 0.3s ease;
  color: var(--menu);
  transition: color 0.3s ease;
  font-weight: 500;
}
header .menu-toggle:hover {
  opacity: 0.5;
}

.menu-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1111;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: all;
  opacity: 0;
  pointer-events: none;
}

.menu {
  padding: var(--Pg);
  padding-left: 104px;
  position: fixed;
  top: 0;
  right: 0;
  pointer-events: all;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 128px;
  width: 100%;
  height: 100%;
  max-width: 525px;
  text-align: center;
  background-color: var(--white);
  z-index: 11111;
  transform: translateX(110%);
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}
.menu-cont {
  display: flex;
  flex-direction: column;
  row-gap: 179px;
}
.menu-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.menu-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.menu-nav-item {
  transition: opacity 0.3s ease;
}
.menu-nav-item:hover {
  opacity: 1;
}
.menu-nav:hover .menu-nav-item {
  opacity: 0.4;
}
.menu-nav:hover .menu-nav-item:hover {
  opacity: 1;
}
.menu-footer {
  display: flex;
  flex-direction: row;
  column-gap: 16px;
}
.menu-footer .menu-social-item {
  width: 20px;
  height: 20px;
  transition: opacity 0.3s ease;
}
.menu-footer .menu-social-item:hover {
  opacity: 0.4;
}
.menu-footer .menu-social-item svg path {
  fill: var(--black);
}

.footer {
  position: relative;
  z-index: 1;
  --fg: var(--footerFg);
  --bg: var(--footerBg);
  background-color: var(--footerBg);
  color: var(--footerFg);
}
.footer * {
  color: var(--footerFg);
}
.footer .footer-topline {
  padding-top: 150px;
  padding-bottom: 120px;
}
.footer .footer-topline .footer-message {
  grid-column: 2/6;
  font-weight: 500;
}
.footer .footer-topline .footer-message strong {
  text-transform: uppercase;
  line-height: 1;
}
.footer .footer-topline .footer-form {
  grid-column: 9/18;
}
.footer .footer-bottomline .first {
  grid-column: 2/9;
  display: flex;
  column-gap: 7px;
  align-items: flex-end;
}
.footer .footer-bottomline .first nav {
  display: flex;
  column-gap: 7px;
  align-items: center;
}
.footer .footer-bottomline .first nav a {
  position: relative;
  padding-left: 7px;
  transition: 0.2s ease;
}
.footer .footer-bottomline .first nav a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  height: 75%;
  width: 1px;
  background-color: var(--footerFg);
}
.footer .footer-bottomline .second {
  grid-column: 9/15;
  color: var(--footerFg);
}
.footer .footer-bottomline .second svg {
  rotate: -90deg;
}
.footer .footer-bottomline .second button {
  display: flex;
  align-items: center;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}
.footer .footer-bottomline .second button:hover {
  opacity: 0.5;
}
.footer .footer-bottomline .second button:hover svg {
  margin-left: 0px;
}
.footer .footer-bottomline .socials {
  grid-column: 16/18;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  column-gap: 15px;
}
.footer .footer-bottomline .socials svg path {
  fill: var(--footerFg);
}

@media screen and (min-width: 1900px) {
  .menu-nav-item.fl, .footer .footer-topline .footer-message strong.menu-nav-item {
    font-size: 55px !important;
  }
}
@media screen and (max-width: 1366px) {
  [data-barba-namespace=Home] .footer {
    display: block;
    --fg: var(--footerBg);
    --bg: var(--footerFg);
    color: var(--black);
    background-color: var(--white);
  }
  [data-barba-namespace=Home] .footer * {
    color: var(--black);
  }
  [data-barba-namespace=Home] .footer .footer-bottomline .socials svg path {
    fill: var(--black);
  }
  [data-template=page] header,
  [data-template=project] header,
  [data-template=article] header,
  [data-template=person] header,
  [data-template=connect] header,
  [data-template=article] .project-filter,
  [data-template=project] .project-filter {
    position: absolute;
  }
  header .site_logo * {
    width: 50px;
    height: auto;
  }
  .menu-cont {
    row-gap: 124px;
  }
  .menu-nav-item.fl, .footer .footer-topline .footer-message strong.menu-nav-item {
    font-size: 36px !important;
  }
  footer form label {
    column-gap: var(--Ps);
    align-items: flex-start;
  }
  footer input[type=checkbox] {
    width: 16px;
    margin-top: 2px;
  }
  .footer .footer-topline .footer-message,
  .footer .footer-topline .footer-form {
    grid-column: 1/-1;
  }
  .footer .footer-topline {
    padding-top: 60px;
  }
  .footer .footer-bottomline {
    align-items: flex-end;
  }
  .footer .footer-bottomline .first nav a:first-of-type {
    padding-left: 0;
  }
  .footer .footer-bottomline .first nav a:first-of-type:before {
    display: none;
  }
  .footer .footer-bottomline .first {
    grid-column: 1/12;
    flex-direction: column;
    row-gap: 2px;
    text-align: left;
    align-items: flex-start;
  }
  .footer .footer-bottomline .second {
    grid-column: 1/10;
    display: none;
  }
  .footer .footer-bottomline .socials {
    grid-column: 12/-1;
  }
}
form {
  display: flex;
  flex-direction: column;
  row-gap: var(--Ps);
}
form fieldset,
form label {
  display: flex;
  flex-direction: row;
  column-gap: var(--Pd);
  align-items: center;
}
form label {
  column-gap: var(--Pm);
  cursor: pointer;
}
form textarea {
  margin-bottom: var(--Pd);
}
form .btn {
  margin-top: var(--Pd);
}

input,
.select-container,
textarea {
  padding: var(--Ps) 0;
  border-bottom: 1px solid var(--fg);
  transition: opacity 0.2s ease;
  width: 100%;
  position: relative;
}
input:hover,
.select-container:hover,
textarea:hover {
  opacity: 0.6;
}
input .select-arrow,
.select-container .select-arrow,
textarea .select-arrow {
  position: absolute;
  right: 0;
  top: 20px;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  rotate: 90deg;
  width: 8px;
  height: 8px;
}
input .select-arrow svg,
.select-container .select-arrow svg,
textarea .select-arrow svg {
  width: 100%;
  height: 100%;
}

input[type=checkbox] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid var(--fg);
  background: transparent;
  position: relative;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 0;
  padding: 0;
}
input[type=checkbox]:checked {
  background: var(--fg);
}
input[type=checkbox]:hover {
  border-color: var(--fg);
}

.privacy-section {
  min-height: 100vh;
  padding-top: var(--Pxxl);
  padding-bottom: var(--Pxxl);
}
.privacy-section .page-title {
  grid-column: 3/-3;
}
.privacy-section .page-content {
  grid-column: 8/-3;
  padding-top: var(--Pxl);
}
@media screen and (max-width: 789px) {
  .privacy-section .page-title.fxl {
    font-size: 60px;
  }
  .privacy-section .page-title,
  .privacy-section .page-content {
    grid-column: 1/-1;
  }
}
.top-line {
  position: relative;
  padding-top: var(--Pg);
}
.top-line:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--black-20);
}

main.search {
  background-color: var(--black);
  color: var(--white);
  --menu: var(--white);
  --logo: var(--white);
}
main.search .menu-nav-item,
main.search .menu-close,
main.search .searchbtn {
  color: var(--black);
}

main.searched {
  background-color: var(--white);
  color: var(--black);
  --menu: var(--black);
  --logo: var(--black);
}
main.searched .menu-nav-item {
  color: var(--black);
}

.search-section {
  min-height: 100vh;
  padding-top: var(--Pxxl);
  padding-bottom: var(--Pxxl);
}
.search-section form {
  grid-column: 2/-2;
}
.search-section form input {
  opacity: 0.3;
}
.search-section .search-results {
  grid-column: 7/17;
  display: flex;
  flex-direction: column;
  padding-top: var(--Pxl);
  row-gap: 70px;
}
.search-section .search-results .top-line:after {
  transition: background-color 0.2s ease;
  background-color: var(--white-20);
}
.search-section .search-results .result {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: var(--Ps);
}
.search-section .search-results .result-data {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: var(--Ps);
  width: 70%;
}
.search-section .search-results .result .result-tag {
  text-align: right;
}
.search-section .search-results .result:hover:after {
  background-color: var(--white);
}

@media screen and (max-width: 789px) {
  .search-section .page-title.fxl {
    font-size: 60px;
  }
  .search-section .search-results,
  .search-section form {
    grid-column: 1/-1;
  }
  .result-data {
    width: 85% !important;
  }
  .result-tag {
    writing-mode: vertical-rl;
    transform: rotate(-180deg);
  }
}
.no-scroll {
  height: 100svh !important;
  overflow: hidden !important;
}

[data-barba-namespace="Our People"],
[data-barba-namespace="Our People"] {
  background-color: var(--black);
}

.gallery-container.homepage {
  display: flex;
  align-items: center;
  justify-content: center;
}

[data-barba-namespace=Home].on .cont {
  pointer-events: none !important;
}
[data-barba-namespace=Home].on .gallery,
[data-barba-namespace=Home].on header {
  opacity: 1;
  pointer-events: all;
}
[data-barba-namespace=Home].on .home-lottie {
  opacity: 0;
  visibility: hidden;
}
[data-barba-namespace=Home] .gallery,
[data-barba-namespace=Home] header {
  opacity: 0;
  pointer-events: none;
  transition: 0.6s opacity ease !important;
}
[data-barba-namespace=Home] .gallery {
  position: relative;
  /* margin: auto; */
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 100vw;
  height: unset;
  width: 100vw;
  height: 100vh;
}
[data-barba-namespace=Home] .home-lottie {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: auto;
  transform: translate(-50%, -50%);
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 130vw;
  height: auto;
  transform: translate(-50%, -50%) !important;
  transition: opacity 0.5s ease 0.1s, visibility 0.5s ease 0.1s;
}

.anchor-nav {
  position: absolute;
  z-index: 99;
}
.anchor-nav-inner {
  grid-column: 3/12;
  padding: var(--Pg) 0;
  display: flex;
  column-gap: var(--Ps);
  color: var(--menu);
}
.anchor-nav-inner button {
  font-weight: 500;
  transition: opacity 0.15s ease;
}
.anchor-nav-inner button:hover {
  opacity: 0.5;
}

.section {
  position: relative;
}
.section.min-true {
  min-height: 100vh;
}
@media screen and (min-height: 900px) {
  .section.min-true .section.min-true {
    min-height: 900px;
  }
}
.section.bg-black {
  background-color: var(--black);
  color: var(--white);
}
.section-text-inner {
  max-width: 550px;
}

.section-text {
  position: relative;
  padding-top: var(--Pxl);
  z-index: 1;
  row-gap: var(--Pl);
  display: flex;
  flex-direction: column;
  grid-column: 2/14;
}
.section-text.pt-true {
  padding-top: 170px;
}

.lottie-container {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

.lottie-holder {
  pointer-events: none;
  position: absolute;
  z-index: 2;
  width: 40%;
  max-width: 670px;
  min-width: 250px;
}
.lottie-holder.Corner_White, .lottie-holder.Corner_Black {
  width: 30%;
}
.lottie-holder.rotate {
  rotate: -90deg;
}
.lottie-holder.flip {
  transform: scaleY(-1);
}
.lottie-holder.Line_White, .lottie-holder.Line_Black, .lottie-holder.Curve_dot_White, .lottie-holder.Curve_dot_Black {
  width: 15%;
  max-width: 300px !important;
  min-width: 100px !important;
  max-height: 60%;
}

.media-text {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.media-text strong {
  text-transform: uppercase;
}
.media-text.min-true .media-text-text {
  min-height: 100vh;
}
.media-text-text {
  position: relative;
  padding-top: var(--Pxl);
  padding-bottom: var(--Pxl);
  z-index: 1;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);
  row-gap: var(--Pl);
}
.media-text-text.pt-true {
  padding-top: 190px;
}
.media-text-text-heading {
  grid-column: 2/14;
}
.media-text-text-heading.fl {
  grid-column: 2/span 6;
}
.media-text-text-inner {
  grid-column: 2/span 6;
}
.media-text-text.pl-true .media-text-text-heading {
  grid-column: 2/14;
}
.media-text-text.pl-true .media-text-text-heading.fl {
  grid-column: 3/span 6;
}
.media-text-text.pl-true .media-text-text-inner {
  grid-column: 3/span 5;
}
.media-text-media {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.media-text-media .aspectholder {
  width: 100%;
  height: 100%;
}
.media-text-media .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-text.sbs .media-text-text.grid-18.px {
  grid-column: 2/7;
  display: flex;
  flex-direction: column;
  background: none;
  padding-left: 0;
  padding-right: 0;
}
.media-text.sbs .media-text-media {
  grid-column: 10/18;
  padding: var(--Pxl) 0;
}
.media-text-alt {
  grid-column: 1/-1;
  padding-bottom: var(--Pxl);
}
.media-text-alt .aspectholder {
  grid-column: 4/10;
  width: 100%;
  aspect-ratio: 0.95;
}
.media-text-alt .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-text-alt-inner {
  grid-column: 11/17;
}

.data-list {
  padding-bottom: var(--Pxl);
  row-gap: var(--Pxl);
}
.data-list-list {
  padding-bottom: var(--Pl);
  display: grid;
}
.data-list-list.row {
  grid-column: 4/18;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pg);
  row-gap: var(--Pg);
  width: 100%;
}
.data-list-list.row.narrow {
  grid-template-columns: repeat(4, 1fr);
}
.data-list-list.row .data-list-item {
  flex: 1;
}
.data-list-list.grid {
  padding-top: var(--Pxl);
  grid-column: 5/17;
  grid-template-columns: repeat(11, 1fr);
  column-gap: 1px;
  row-gap: var(--Pxl);
}
.data-list-list.grid .data-list-item:nth-of-type(2n + 1) {
  grid-column: 1/6;
}
.data-list-list.grid .data-list-item-text {
  width: calc(100% - 90px);
}
.data-list-list.grid .data-list-item:nth-of-type(2n + 2) {
  grid-column: 7/12;
}
.data-list-item {
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
}
.data-list-item-text, .data-list-item-inner {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}
.data-list-item-inner {
  row-gap: 50px;
  height: 100%;
  justify-content: space-between;
}
.data-list-item .aspectholder {
  width: 100%;
  aspect-ratio: 1.33;
}
.data-list-item .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1.33;
}

.media-block {
  width: 100%;
  height: 100%;
}
.media-block .caption {
  padding-top: 10px;
}
.media-block .aspectholder {
  width: 100%;
  height: 100%;
}
.media-block .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.timeline {
  padding-top: var(--Pxl);
  padding-bottom: var(--Pxl);
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: grab;
}
.timeline:active {
  cursor: grabbing;
}
.timeline .timeline-swiper {
  width: 100vw;
  overflow: hidden;
}
.timeline .timeline-swiper swiper-container {
  width: 100%;
  height: 100%;
}
.timeline .timeline-swiper swiper-slide {
  max-width: 260px;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
  padding: 0 var(--Pg);
}
.timeline .timeline-swiper swiper-slide:first-of-type {
  margin-left: 100px;
}
.timeline .timeline-swiper swiper-slide:last-of-type {
  margin-right: 100px;
}
.timeline .timeline-swiper swiper-slide:nth-of-type(2n + 1) .year.two {
  opacity: 0;
}
.timeline .timeline-swiper swiper-slide:nth-of-type(2n + 2) .year.one {
  opacity: 0;
}
.timeline .timeline-swiper swiper-slide .year {
  width: 100%;
  height: 300px;
  aspect-ratio: 1;
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  writing-mode: vertical-lr;
  font-size: 130px;
  line-height: 0.7;
}
.timeline .timeline-swiper swiper-slide .year span {
  display: block;
}
.timeline .timeline-swiper swiper-slide .year.two {
  justify-content: flex-start;
}
.timeline .timeline-cursor {
  position: absolute;
  width: var(--Pl);
  height: var(--Pl);
  background: white;
  border: 2px solid white;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(var(--Ps), var(--Ps)) scale(0.8);
  transition: opacity 0.2s, transform 0.1s;
  opacity: 0;
  z-index: 9999;
}
.timeline .timeline-cursor:after {
  content: "Drag";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  color: var(--black);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}
.timeline:hover .timeline-cursor {
  opacity: 1;
  transform: translate(var(--Ps), var(--Ps)) scale(1);
}

.scrolling-list-list {
  grid-column: 2/13;
  height: 100vh;
  min-height: 900px;
  overflow: hidden;
}
.scrolling-list-text {
  grid-column: 14/18;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
  height: 100%;
  padding: var(--Pxl) 0;
  position: relative;
  justify-content: flex-end;
}

.media-hovers {
  display: flex;
}
.media-hovers .media-item {
  flex: 1;
  position: relative;
}
.media-hovers .media-item.bg-black {
  background-color: var(--black);
  color: var(--white);
}
.media-hovers .media-item.bg-white {
  background-color: var(--white);
  color: var(--black);
}
.media-hovers .media-item .aspectholder {
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.5s ease;
}
.media-hovers .media-item .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-hovers .media-item-inner {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.media-hovers .media-item:hover .aspectholder {
  opacity: 1;
}

.awards {
  padding-top: var(--Pxl);
  padding-bottom: var(--Pxl);
  display: flex;
  flex-direction: column;
  row-gap: var(--Pxl);
}
.awards-header-heading {
  grid-column: 2/7;
}
.awards-header-text {
  grid-column: 13/18;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
}
.awards-header-text .fp, .awards-header-text .person-main-data .person-title strong, .person-main-data .person-title .awards-header-text strong, .awards-header-text .article-text strong, .article-text .awards-header-text strong {
  line-height: 1 !important;
}
.awards .awards-list {
  row-gap: 0;
}
.awards .awards-list-item {
  grid-column: 2/18;
  padding: calc(var(--Pl) / 2) 0;
  position: relative;
}
.awards .awards-list-item:first-of-type:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: var(--fg);
  opacity: 0.15;
}
.awards .awards-list-item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: var(--fg);
  opacity: 0.15;
}
.awards .awards-list-item.hidden {
  display: none;
}
.awards .awards-list-item-date {
  grid-column: 1/1;
}
.awards .awards-list-item-project {
  grid-column: 2/8;
}
.awards .awards-list-item-award {
  grid-column: 8/15;
}
.awards .awards-list-item-place {
  grid-column: 15/17;
}
.awards-load-more {
  grid-column: 2/12;
  display: flex;
  justify-content: flex-start;
  padding-top: var(--Pl);
}
.awards-load-more .load-more-btn svg {
  transform: rotate(90deg);
  position: relative;
}
.awards-load-more .load-more-btn:hover {
  opacity: 0.5;
}
.awards-load-more .load-more-btn:hover svg {
  margin-left: 0;
}

.journal-grid-wrapper {
  padding-bottom: var(--Hh);
}

.journal-featured {
  padding-top: calc(var(--Pg) + var(--Hh));
  padding-bottom: var(--Hh);
}
.journal-featured .article-card-featured {
  grid-column: 2/18;
  aspect-ratio: 2.9;
  display: flex;
  position: relative;
  column-gap: var(--Pl);
  color: var(--fg);
}
.journal-featured .article-card-featured .background {
  background-color: var(--bg);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  transition: all 0.3s ease;
}
.journal-featured .article-card-featured-data {
  position: relative;
  z-index: 1;
  flex: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.journal-featured .article-card-featured-data .col {
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
}
.journal-featured .article-card-featured-data .col .read-more {
  position: relative;
  width: fit-content;
}
.journal-featured .article-card-featured-data .col .read-more::after {
  width: 100%;
  height: 1px;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--fg);
  opacity: 0.5;
  transition: all 0.3s ease;
}
.journal-featured .article-card-featured-media {
  position: relative;
  z-index: 1;
  flex: 1;
  height: 100%;
}
.journal-featured .article-card-featured-media .aspectholder {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.journal-featured .article-card-featured-media .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.journal-featured .article-card-featured:hover .background {
  transform: scale(1.015);
}
.journal-featured .article-card-featured:hover .article-card-featured-data .col .read-more::after {
  background-color: var(--fg);
}
.journal-grid {
  padding-bottom: var(--Pg);
  grid-column: 2/18;
}
.journal-grid.grid-3 {
  gap: var(--Pl);
}
@media screen and (min-width: 1900px) {
  .journal-grid.grid-3 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1400px) {
  .journal-grid.grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.article-card {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  color: var(--fg) !important;
}
.article-card .background {
  background-color: var(--bg);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  transition: all 0.3s ease;
}
.article-card-data {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pm);
  font-weight: 500;
}
.article-card-data * {
  font-weight: 500;
}
.article-card-media {
  position: relative;
  z-index: 1;
  display: flex;
}
.article-card-media .fxs {
  flex: 1;
}
.article-card-media .media-holder {
  flex: 1;
  aspect-ratio: 1;
  display: flex;
  justify-content: flex-end;
}
.article-card-media .media-holder .aspectholder {
  width: 90%;
  height: 90%;
}
.article-card-media .media-holder .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right top;
}
.article-card .read-more {
  position: relative;
  width: fit-content;
}
.article-card .read-more::after {
  width: 100%;
  height: 1px;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--fg);
  opacity: 0.5;
  transition: all 0.3s ease;
}
.article-card:hover .background {
  transform: scale(1.015);
}
.article-card:hover .read-more::after {
  background-color: var(--fg);
}

.articles-load-more {
  grid-column: 2/-2;
  padding-bottom: var(--Pm);
  display: flex;
  justify-content: flex-start;
  padding-top: var(--Pl);
}
.articles-load-more .load-more-btn svg {
  transform: rotate(90deg);
  position: relative;
}
.articles-load-more .load-more-btn:hover {
  opacity: 0.5;
}
.articles-load-more .load-more-btn:hover svg {
  margin-left: 0;
}

.article-main {
  background-color: var(--bg);
  display: flex;
  color: var(--fg) !important;
}
.article-main-media {
  width: 50vw;
  position: relative;
}
.article-main-media .aspectholder {
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
}
.article-main-media .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article-main-data {
  width: 50vw;
  min-height: 100vh;
  padding-top: calc(70px + var(--Hh));
  padding-left: 90px;
  padding-right: 120px;
}
.article-main-data .article-title {
  display: flex;
  flex-direction: column;
  row-gap: 80px;
}
.article-main-data .article-title .deets {
  display: flex;
  align-items: center;
  column-gap: 10px;
  padding-top: 15px;
  border-top: 1px solid var(--fg);
}
.article-main-data .article-title .deets .square {
  display: block;
  position: relative;
  bottom: 1px;
  width: 9px;
  height: 9px;
  background-color: var(--fg);
}
.article-main-data .article-blocks {
  padding-top: 80px;
  padding-bottom: calc(70px + var(--Hh));
  display: flex;
  flex-direction: column;
  row-gap: 80px;
}
.article-main-data .article-blocks .connect-with {
  display: flex;
  justify-content: space-between;
  padding-top: var(--Ps);
  border-top: 1px solid var(--fg);
}
.article-main-data .article-blocks .connect-with a {
  transition: opacity 0.2s ease;
}
.article-main-data .article-blocks .connect-with a:hover {
  opacity: 0.2;
}

.article-text {
  max-width: 1000px;
}
blockquote {
  display: flex;
  flex-direction: column;
  padding-left: 90px;
}
blockquote footer {
  background-color: transparent;
  color: var(--fg);
  padding-top: 40px;
}

.person-main {
  min-height: 100vh;
}
.person-main-data {
  grid-column: 3/9;
  min-height: 100vh;
  padding-top: calc(70px + var(--Hh));
  padding-bottom: calc(70px + var(--Hh));
}
.person-main-data a {
  transition: opacity 0.2s ease;
}
.person-main-data a:hover {
  opacity: 0.6;
}
.person-main-data .person-title {
  display: flex;
  flex-direction: column;
  row-gap: var(--Pl);
}
.person-main-data .deets {
  display: flex;
  flex-direction: row;
  column-gap: 15px;
  align-items: center;
}
.person-main-data .deets svg {
  width: 20px;
  height: 20px;
}
.person-main-data .location {
  display: flex;
  flex-direction: column;
  row-gap: var(--Pm);
}
.person-main-data .location-studios {
  display: flex;
  flex-direction: column;
  row-gap: var(--Pm);
}
.person-main-data .location-contacts {
  display: flex;
  flex-direction: column;
}
.person-main-data .location-contacts a {
  width: fit-content;
}
.person-main-data .location-contacts a:last-of-type {
  border-bottom: 1px solid var(--black-20);
}
.person-main-media {
  grid-column: 10/-1;
  position: relative;
}
.person-main-media .aspectholder {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
}
.person-main-media .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.view-switcher {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 10%;
  padding: var(--Pg);
  color: var(--white);
  display: flex;
  column-gap: 13px;
}
.view-switcher .view-btn {
  opacity: 0.5;
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: all;
}
.view-switcher .view-btn.active, .view-switcher .view-btn:hover {
  opacity: 1;
  transform: scale(1.1);
}
.view-switcher .view-btn.active {
  pointer-events: none;
}

.discover-section {
  padding-top: 200px;
  padding-bottom: 200px;
  background-color: var(--bg);
  color: var(--fg);
  position: relative;
}
.discover-section-text {
  grid-column: 2/10;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pl);
}
.discover-section-text .btn {
  color: var(--fg);
}
.discover-section-text .row {
  display: flex;
}
.discover-section-text swiper-container {
  overflow: hidden;
  height: var(--fl) !important;
  margin-left: 10px;
}
.discover-section-text swiper-slide {
  height: var(--fl) !important;
}

.project-filter {
  position: absolute;
  z-index: 102;
  color: var(--menu);
  right: 7%;
  width: 32%;
  padding: calc(var(--Pg) - 2px) 0;
}
.project-filter .filter-btn {
  border-bottom: 1px solid var(--menu);
  color: var(--menu);
  padding: 2px 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.project-filter .filter-btn svg {
  rotate: 90deg;
  width: 10px;
}
.project-filter .filter-btn.active {
  color: var(--black);
  border-bottom: 1px solid var(--black);
}
.project-filter .filter-btn.active svg {
  rotate: -90deg;
}

.filters-overlay {
  position: fixed;
  background-color: var(--white);
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 101;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  color: var(--black);
}
.filters-overlay.active {
  opacity: 1;
  visibility: visible;
}
.filters-overlay-header {
  padding: var(--Pg);
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
.filters-overlay-header .site_logo {
  width: fit-content;
}
.filters-overlay .filter-imgs {
  grid-column: 1/11;
  width: 55%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.filters-overlay .filter-imgs-img {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.filters-overlay .filter-imgs-img.active {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.filters-overlay .filter-imgs-img .aspectholder {
  width: 100%;
  height: 100%;
}
.filters-overlay .filter-imgs-img .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.filters-overlay .filter-container {
  grid-column: 12/-1;
}
.filters-overlay .filter-container-btns {
  display: flex;
  flex-direction: row;
  column-gap: 15px;
  padding-bottom: var(--Pl);
}
.filters-overlay .filter-container-btns button {
  color: var(--black-20);
  transition: color 0.2s ease;
}
.filters-overlay .filter-container-btns button.active, .filters-overlay .filter-container-btns button:hover {
  color: var(--black);
}
.filters-overlay .filter-container-lists {
  line-height: 1;
}
.filters-overlay .filter-container-lists .filter-list {
  display: none;
  row-gap: 10px;
}
.filters-overlay .filter-container-lists .filter-list.active {
  display: flex;
  flex-direction: column;
}
.filters-overlay .filter-container-lists .filter-list li a {
  transition: color 0.2s ease;
}
.filters-overlay .filter-container-lists .filter-list li a:hover,
.filters-overlay .filter-container-lists .filter-list li a.active {
  opacity: 0.15;
}

.project-main-media {
  width: 100vw;
  height: 87vh;
}
.project-main-media * {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.project-main-data {
  padding: 100px var(--Pg);
  row-gap: var(--Pxl);
}
.project-main-data .lil-link {
  text-decoration: underline;
}
.project-main-data .lil-link:hover {
  text-decoration: none;
}
.project-main-data-heading {
  grid-column: 2/18;
}
.project-main-data-title {
  grid-column: 4/10;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
}
.project-main-data-title .hide {
  display: none;
}
.project-main-data-info {
  padding: var(--Pm) 0;
  border-top: 1px solid var(--black-20);
  border-bottom: 1px solid var(--black-20);
  grid-column: 12/18;
  display: flex;
}
.project-main-data-info .left,
.project-main-data-info .right {
  flex: 1;
  display: flex;
  flex-direction: column;
  row-gap: var(--Ps);
}
.project-main-data-info .left-col,
.project-main-data-info .right-col {
  display: flex;
  flex-direction: column;
}

.project-blocks {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pxl);
}

.project-media-text .project-block-left {
  grid-column: 4/10;
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pm);
}
.project-media-text .project-block-left.quote {
  grid-column: 2/9;
}
.project-media-text .project-block-left .quote {
  display: flex;
  flex-direction: column;
  row-gap: var(--Ps);
}
.project-media-text .aspectholder {
  grid-column: 4/10;
  width: 100%;
}
.project-media-text .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-media-text .project-block-text {
  grid-column: 12/-2;
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
}
.project-media-text .project-block-text .extra {
  border-top: 1px solid var(--black);
  padding-top: var(--Ps);
  margin-top: var(--Ps);
}
.project-media-text .project-block-text .extra a {
  text-decoration: underline;
}
.project-media-text .project-block-text .extra a:hover {
  text-decoration: none;
}

.media-carouselblock {
  position: relative;
}
.media-carouselblock swiper-container {
  height: 600px;
}
.media-carouselblock swiper-slide {
  width: auto;
  height: 100%;
}
.media-carouselblock swiper-slide .aspectholder {
  width: 100%;
  height: 100%;
}
.media-carouselblock swiper-slide .aspectholder * {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media-carouselblock .swiper-pagination-progressbar {
  background-color: #eee;
  height: 4px; /* or change to `width` for vertical */
  top: auto; /* to override Swiper default if needed */
  bottom: 0;
}

.swiper-container {
  width: 100%;
  height: 100%;
  position: relative;
  padding-bottom: calc(var(--Pxl));
  display: flex;
  flex-direction: column;
  row-gap: var(--Pxl);
}

swiper-container::part(container) {
  padding-bottom: var(--Pl);
  position: relative;
}

swiper-container::part(pagination) {
  position: absolute;
  top: unset;
  bottom: 0;
  width: calc(100% - var(--Pxl) * 2);
  margin: 0 var(--Pxl);
  height: 2px;
  background: rgba(0, 0, 0, 0.15);
  --swiper-pagination-color: var(--black);
}

@media screen and (max-width: 789px) {
  swiper-container::part(pagination) {
    width: calc(100% - var(--Pg) * 2);
    margin: 0 var(--Pg);
  }
}
.project-recognition {
  padding-bottom: var(--Pxl);
}
.project-recognition-heading {
  display: flex;
  flex-direction: row;
  column-gap: var(--Ps);
}
.project-recognition-heading button {
  color: var(--black-20);
  transition: color 0.2s ease;
}
.project-recognition-heading button.active, .project-recognition-heading button:hover {
  color: var(--black);
}
.project-recognition-list {
  grid-column: 12/-2;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.project-recognition-item {
  display: flex;
  flex-direction: column;
  row-gap: var(--Ps);
  display: none;
}
.project-recognition-item.active {
  display: flex;
}
.project-recognition-item-title {
  display: flex;
  padding-top: var(--Ps);
  justify-content: space-between;
  border-top: 1px solid var(--black-20);
  column-gap: var(--Pg);
}
.project-recognition-item-title .bit {
  display: flex;
  column-gap: var(--Pg);
}
.project-recognition-item-title .bat {
  text-align: right;
}
.project-recognition-item-link {
  display: flex;
  padding-top: var(--Ps);
  border-top: 1px solid var(--black-20);
  position: relative;
}
.project-recognition-item-link a {
  text-decoration: underline;
  line-height: 1;
}

.connect-heading {
  padding-top: calc(var(--Pl) + var(--Hh));
  padding-bottom: var(--Pxl);
}
.connect-heading-text {
  grid-column: 3/9;
}

.connect-content {
  row-gap: var(--Pxl);
  padding-bottom: var(--Pxl);
}
.connect-content-item {
  grid-column: 9/17;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: var(--Pg);
  justify-content: space-between;
}
.connect-content-item .secondary {
  padding-top: 22px;
}
.connect-content-item a {
  position: relative;
  width: fit-content;
}
.connect-content-item a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--black-20);
  transition: background-color 0.5s ease;
}
.connect-content-item a:hover:after {
  background-color: var(--black);
}
.connect-content-item .heading {
  width: 100%;
}
.connect-content-item .flex-grid {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 40px;
  row-gap: 75px;
}
.connect-content-item-i {
  width: calc(50% - 20px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.connect-content-item-i.connect-enquiries {
  justify-content: flex-start;
}
.connect-content-item-i * {
  display: flex;
  flex-direction: column;
}
.connect-content-item-i .heading {
  padding-bottom: var(--Ps);
}
.connect-content-item-i .connect-enquiries-contact {
  padding-bottom: var(--Ps);
}
.connect-content-item .links {
  display: flex;
  flex-direction: column;
}
.connect-content-item .link {
  position: relative;
  width: fit-content;
}
.connect-content-item .link:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--black-20);
  transition: background-color 0.5s ease;
}
.connect-content-item .link:hover:after {
  background-color: var(--black);
}
.connect-content-item.connect-form {
  row-gap: var(--Pxl);
  flex-direction: column;
}
.connect-content-item.connect-careers {
  flex-direction: column;
}
.connect-content-item .ack-text {
  width: 88%;
}
.connect-content-item .top-line {
  position: relative;
  padding-top: var(--Pg);
}
.connect-content-item .top-line:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--black-20);
}
