.sr-only {
  position:absolute;
  text-indent:-9999px;
}
@keyframes fadeIn {
  to {
  opacity:1;
  }
}
@keyframes fadeUp {
  to {
  opacity:1;
  transform:translateY(0);
  }
}
.xlarge-heading {
    font-size:13.875vw;
    letter-spacing:0;
    line-height:.9;
}
@media only screen and (max-width:576.5765765766px) {
  .xlarge-heading {
      font-size:14vw;
    }
}
.large-heading {
    font-size:4.1666666667vw;
    line-height:1.05;
    letter-spacing:-0.06em;
}
@media only screen and (max-width:672px) {
    .large-heading {
        font-size:28px;
    }
}
.medium-heading {
    font-size:3.3333333333vw;
    line-height:1;
    letter-spacing:-0.06em;
}
@media only screen and (max-width:677.6470588235px) {
    .medium-heading {
        font-size:24px;
    }
}
.small-heading {
    font-size:2.0833333333vw;
    line-height:1;
    letter-spacing:-0.06em;
}
@media only screen and (max-width:1056px) {
    .small-heading {
        font-size:22px;
    }
}
.button, .small-body {
    font-size:1.25vw;
    letter-spacing:-0.04em;
}
@media only screen and (max-width:1120px) {
    .button, .small-body {
        font-size:14px;
    }
}
.xsmall-body {
    font-size:.75rem;
    letter-spacing:-0.04em;
}
.flex-body {
    font-size:1.1111111111vw;
    letter-spacing:-0.06em;
}
@media only screen and (max-width:1440px) {
    .flex-body {
    font-size:16px;
}
}
.button {
    font-variation-settings:"wght" 500;
}
strong {
    font-variation-settings:"wght" 700;
}
.row {
    display:flex;
    flex-wrap:wrap;
    width:100%}
.row.center {
    justify-content:center;
    margin-left:auto;
    margin-right:auto;
}
.header {
    position:absolute;
    width:100%;
    color:#fff;
}
.header__main {
    position:fixed;
    mix-blend-mode:difference;
    top:0;
    left:0;
    width:100%;
    display:flex;
    z-index:12;
    justify-content:space-between;
    align-items:center;
    z-index:999;
}
.header__trigger {
    position:relative;
    background:none;
    border:none;
    color:#fff;
    padding:0;
    margin-left:4.1666666667vw;
    cursor:pointer;
    overflow:hidden;
}
.header__trigger span {
    display:block;
}
.header__trigger .open-state {
    position:absolute;
    transform:translateY(-101%);
}
.header__trigger .closed-state {
    transform:translateY(0);
}
.header__right {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}
.header__inner {
    pointer-events:none;
    position:fixed;
    z-index:11;
    top:0;
    left:0;
    right:0;
    bottom:0;
    height:100vh;
    overflow:scroll;
}
.header__inner.is-open {
    pointer-events:all;
}
@media only screen and (min-width:0px)and (max-width:750px) {
    .header__inner {
    display:flex;
    flex-direction:column;
    justify-content:stretch;
}
}.header__nav, .header__socials {
    flex-grow:1;
}
.header__nav {
    background-color:#000;
    color:#fff;
    padding:16.6666666667vw 3.3333333333vw 4.1666666667vw;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    height:100%;
    clip-path:inset(100% 0 0 0);
}
@media only screen and (min-width:0px)and (max-width:750px) {
    .header__nav {
    height:auto;
    clip-path:inset(0 100% 0 0);
    padding:4rem 1rem 2.5rem;
}
}.header__title {
    transform:translateY(10px);
    opacity:0;
}
.header__socials {
    background-color:#000;
    color:#fff;
    padding:16.6666666667vw 3.3333333333vw 4.1666666667vw;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    height:100%;
    clip-path:inset(0 0 100% 0);
}
@media only screen and (min-width:0px)and (max-width:750px) {
    .header__socials {
    height:auto;
    clip-path:inset(0 0 0 100%);
    padding:4rem 1rem 2.5rem;
}
}.header__list {
    list-style:none;
    padding:0;
}
.header__item {
    font-variation-settings:"wght" 700;
    clip-path:inset(-0.5em);
}
.header__item a {
    display:flex;
    transform:translateY(101%);
}
.header__item+li {
    margin-top:.75rem;
}
.header__link.active {
    opacity:.6;
    cursor:auto;
}
.header__cases {
    margin-top:8.3333333333vw;
}
.header__cases ul {
    margin-top:.5rem;
}
@keyframes whooosh {
    10% {
    transform:scale(1.1) translateX(-30px) translateY(30px);
}
60% {
    transform:translateX(-20px) translateY(20px);
}
100% {
    transform:translateX(-20px) translateY(20px);
}
}@keyframes whooosh2 {
    0% {
    transform:translate(-20px,  20px);
}
20% {
    transform:translate(-10px,  10px);
}
30% {
    transform:translate(10px,  -10px);
}
100% {
    transform:translate(0);
}
}.footer {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:baseline;
}
.footer a {
    line-height:1;
}
.footer p {
    text-align:right;
}
@media only screen and (min-width:0px)and (max-width:750px) {
    .footer p {
    text-align:left;
}
}
@media only screen and (min-width:0px)and (max-width:750px) {
    .footer__right {
    width:100%;
    margin-top:1rem;
}
}.footer__socials {
    display:flex;
    margin:0 -5px;
}
.footer__socials a {
    color:#fff;
    pointer-events:all;
    margin:0 5px;
}
.page-title, .other-work {
    position:relative;
    z-index:1;
    padding:8.3333333333vw 3.3333333333vw 0vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .page-title, .other-work {
    padding:6rem 1rem 1rem;
    max-width:100vw;
    overflow:hidden;
}
}.page-title .gradient, .other-work .gradient {
    pointer-events:none;
    position:absolute;
    top:-41.6666666667vw;
    right:-16.6666666667vw;
    opacity:0;
    z-index:1;
}
.page-title .gradient svg, .other-work .gradient svg {
    width:125vw;
}
.page-title .word, .other-work .word {
    position:relative;
    z-index:1;
    display:flex;
    opacity:1;
    clip-path:inset(-20%);
}
.page-title .word:nth-of-type(1), .other-work .word:nth-of-type(1) {
    text-indent:12.5vw;
}
.page-title .word:nth-of-type(3), .other-work .word:nth-of-type(3) {
    text-indent:4.1666666667vw;
}
.page-title .word:nth-of-type(1) .word-inner, .other-work .word:nth-of-type(1) .word-inner {
    transition:transform .6s 0.4s cubic-bezier(0.17,  0.67,  0,  1);
}
.page-title .word:nth-of-type(2) .word-inner, .other-work .word:nth-of-type(2) .word-inner {
    transition:transform .6s 0.8s cubic-bezier(0.17,  0.67,  0,  1);
}
.page-title .word:nth-of-type(3) .word-inner, .other-work .word:nth-of-type(3) .word-inner {
    transition:transform .6s 1.2s cubic-bezier(0.17,  0.67,  0,  1);
}
.page-title .word .word-inner, .other-work .word .word-inner {
    transform:translateY(140%);
}
.page-title__text.is-inview .word .word-inner, .other-work__text.is-inview .word .word-inner {
    transform:translateY(0);
}
.case-grid-title {
    padding:8.3333333333vw 3.3333333333vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-grid-title {
    padding:6rem 1rem;
}
}.case-grid-title .gradient {
    position:absolute;
    top:-50vw;
    left:-16.6666666667vw;
    z-index:1;
}
.case-grid-title .gradient svg {
    width:125vw;
}
.home .case-grid-title .gradient {
    top:-75vw;
    left:-75vw;
    z-index:1;
}
.home .case-grid-title .gradient svg {
    width:125vw;
}
@keyframes up {
    to {
    transform:translateY(0);
}
}.case-grid {
    min-height:230vh;
    opacity:0;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-grid {
    min-height:250vh;
}
}.case-grid__link {
    position:relative;
    display:block;
    width:33.3333333333vw;
    max-width:37.5rem;
    min-width:23.75rem;
    opacity:1;
    transition:opacity .3s ease-out;
    pointer-events:none;
}
.case-grid__link.active {
    opacity:1;
}
.case-grid__link p {
    position:absolute;
    top:-3rem;
    bottom:-3rem;
    width:100%;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    text-transform:uppercase;
}
.case-grid__link span {
    display:block;
    mix-blend-mode:difference;
}
.case-grid__view-case {
    align-self:flex-end;
}
.case-grid__image {
    height:33.3333333333vw;
    width:33.3333333333vw;
    max-width:37.5rem;
    max-height:37.5rem;
    min-width:23.75rem;
    min-height:23.75rem;
}
.case-grid__image img {
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:1;
}
.case-grid__image p {
    transform:translateZ(100px);
}
.case-grid__image p span {
    display:block;
}
.side-text {
    position:relative;
    padding:12.5vw 3.3333333333vw 0vw;
    z-index:1;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .side-text {
    padding:7.5rem 1rem 0;
    max-width:100vw;
}
}.side-text h1 {
    margin-bottom:.25em;
}
.side-text.has-image {
    z-index:0;
}
.side-text.has-image .svg {
    mix-blend-mode:unset;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .side-text.has-image {
    padding-top:0;
}
}.side-text.has-image .side-text__content {
    position:absolute;
    top:50%;
    padding-right:4.1666666667vw;
    transform:translateY(-50%);
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .side-text.has-image .side-text__content {
    position:static;
    transform:unset;
}
}.side-text__image {
    width:100%;
    height:100%}
.side-text__image img {
    object-fit:cover;
    width:100%;
    height:calc(100vw*var(--ratio));
}
.side-text--right .side-text__content {
    margin-left:auto;
    text-align:right;
}
.side-text__content {
    width:55.5555555556vw;
    opacity:0;
    animation:fadeIn .4s .2s forwards;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .side-text__content {
    width:100%}
}.side-text__content a {
    text-decoration:none;
}
.side-text__content p+* {
    margin-top:1.25rem;
}
.side-text .button {
    margin:4.1666666667vw 4.1666666667vw 0vw 0vw;
}
.case-grid+.side-text {
    padding:25vw 3.3333333333vw 0vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-grid+.side-text {
    padding:25rem 1rem 0;
}
}.simple-text {
    position:relative;
    padding:12.5vw 3.3333333333vw 0vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .simple-text {
    padding:7.5rem 1rem 0;
    max-width:100vw;
    overflow:hidden;
}
}.simple-text h1+* {
    margin-top:2em;
}
.simple-text h2, .simple-text h3, .simple-text h4, .simple-text h5, .simple-text h6, .simple-text h4 {
    margin-top:1em;
}
.simple-text img {
    max-width:6.25rem;
    max-height:6.25rem;
    margin:1rem 1rem 0 0;
}
.simple-text p {
    line-height:2;
}
.simple-text--right .simple-text__content {
    margin-left:auto;
    text-align:right;
}
.simple-text__content {
    width:55.5555555556vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .simple-text__content {
    width:100%}
}.simple-text__content.is-inview hr {
    clip-path:inset(0);
}
.simple-text__content hr {
    clip-path:inset(0 100% 0 0);
    transition:clip-path 1s .5s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(1) {
    transition:clip-path 1s 0.54s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(2) {
    transition:clip-path 1s 0.58s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(3) {
    transition:clip-path 1s 0.62s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(4) {
    transition:clip-path 1s 0.66s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(5) {
    transition:clip-path 1s 0.7s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(6) {
    transition:clip-path 1s 0.74s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(7) {
    transition:clip-path 1s 0.78s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(8) {
    transition:clip-path 1s 0.82s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text__content hr:nth-of-type(9) {
    transition:clip-path 1s 0.86s cubic-bezier(0.17,  0.67,  0,  1);
}
.simple-text .button {
    margin:4.1666666667vw 4.1666666667vw 0vw 0vw;
}
.case-header {
    position:relative;
    background-color:#000;
    color:#fff;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-header__title {
    padding:0 1rem;
}
}.case-header__text {
    opacity:0;
    animation:fadeIn 1s forwards;
    padding:12.5vw 3.3333333333vw 8.3333333333vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-header__text {
    padding:8rem 0 3rem;
}
}.case-header__text h1 {
    width:55.5555555556vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-header__text h1 {
    width:100%}
}.case-header__details {
    display:flex;
    flex-wrap:wrap;
    margin:4.1666666667vw -4.1666666667vw;
    width:100%}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-header__details {
    margin:1.5rem -1rem 0;
}
}.case-header__detail {
    padding:2.0833333333vw 4.1666666667vw 0vw;
    width:max-content;
    flex-shrink:0;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .case-header__detail {
    margin-top:.5em;
    padding:0.625rem 1rem 0 2rem;
}
}.case-header__detail .title {
    opacity:.7;
    font-variation-settings:"wght" 500;
}
.case-header__detail ul {
    list-style:none;
    padding-left:0;
}
.case-header__detail ul li+li {
    margin-top:.2em;
}
.case-header__detail p+.p {
    margin-top:.625rem;
}
.case-header__image {
    height:100vh;
    clip-path:inset(-100vh 0 0 0);
}
.case-header__image img {
    position:absolute;
    z-index:1;
    top:0;
    left:0;
    right:0;
    width:100%;
    height:100vh;
    object-fit:cover;
}
.case-header__image-inner.stop {
    transform:none !important;
}
.media {
    padding:12.5vw 0vw 0vw;
}
.media__row.has-padding {
    width:75vw;
    margin:4.1666666667vw auto;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .media__row.has-padding {
    width:calc(100vw - 2rem);
    margin:3rem auto 1rem;
}
}.media__row.has-padding img, .media__row.has-padding video {
    width:100%;
    height:calc(75vw * var(--ratio));
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .media__row.has-padding img, .media__row.has-padding video {
    height:calc((100vw - 2rem)*var(--ratio));
}
}.media__row.has-border {
    background:var(--color);
    border-radius:.5rem;
    border-radius:0.5555555556vw;
}
@media only screen and (min-width:1440px) {
    .media__row.has-border {
    border-radius:8px;
}
}@media only screen and (max-width:720px) {
    .media__row.has-border {
    border-radius:4px;
}
}.media__row.has-border video, .media__row.has-border img {
    padding:1.1111111111vw;
    border-radius:0.5555555556vw;
    overflow:hidden;
}
@media only screen and (min-width:1440px) {
    .media__row.has-border video, .media__row.has-border img {
    padding:16px;
}
}@media only screen and (max-width:720px) {
    .media__row.has-border video, .media__row.has-border img {
    padding:8px;
}
}@media only screen and (min-width:1440px) {
    .media__row.has-border video, .media__row.has-border img {
    border-radius:8px;
}
}@media only screen and (max-width:720px) {
    .media__row.has-border video, .media__row.has-border img {
    border-radius:4px;
}
}.media__item {
    width:var(--width);
}
@media only screen and (min-width:0px)and (max-width:750px) {
    .media__item.is-mobile-full {
    --width: 100vw !important;
}
}.media video {
    background:#101010;
}
.media img, .media video {
    display:block;
    object-fit:cover;
    width:100%;
    height:calc(var(--width)*var(--ratio));
}
.other-work__inner {
    width:60.4166666667vw;
    margin-right:3.3333333333vw;
    margin-left:auto;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .other-work__inner {
    width:100%;
    padding:0;
    margin:0;
}
}@media only screen and (min-width:0px)and (max-width:1024px) {
    .other-work .gradient {
    top:0;
}
}.other-work__list {
    padding:0;
    list-style:none;
    margin-top:4.1666666667vw;
}
.other-work__image {
    display:none;
    position:fixed;
    top:0;
    left:0;
    z-index:3;
    width:100vw;
    height:100vh;
    transform-origin:center center;
    opacity:0;
    pointer-events:none;
    transform:scale(0.1) translateX(100vw) translateY(10vh);
}
.other-work__image img {
    width:100%;
    height:100%;
    object-fit:cover;
}
@media(hover:hover) {
    .other-work__image {
    display:block;
}
}.other-work__item {
    position:relative;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start;
    justify-content:space-between;
    padding:1.5rem 4.1666666667vw 1.5rem 0;
}
.other-work__item p, .other-work__item a {
    opacity:0;
    transition:opacity .4s .5s ease-out;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .other-work__item {
    padding:1.5rem 0;
}
}.other-work__item::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background-color:currentColor;
    clip-path:inset(0 100% 0 0);
    transition:clip-path 1s 1s cubic-bezier(0.17,  0.67,  0,  1);
}
.other-work__item.is-inview p, .other-work__item.is-inview a {
    opacity:1;
}
.other-work__item.is-inview::before {
    clip-path:inset(0);
}
.other-work__item p {
    width:16.6666666667vw;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .other-work__item p {
    width:100%}
.other-work__item p+p {
    margin-top:.5em;
}
}.other-work__item a {
    text-decoration:none;
    text-transform:uppercase;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    .other-work__item a {
    display:block;
    margin-top:1rem;
}
}.other-work__item a::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
}
button {
    background:none;
    color:inherit;
    font-size:inherit;
    border:none;
    border-radius:0;
}
.button {
    display:inline-flex;
    align-items:center;
    position:relative;
    text-decoration:none;
}
.button::before {
    content:"";
    display:inline-block;
    position:absolute;
    left:0;
    width:.75rem;
    height:.75rem;
    background:var(--color);
    border-radius:50%;
    transition:.3s .6s left cubic-bezier(0.17,  0.67,  0,  1);
}
.button__bg {
    width:100%;
    padding-bottom:100%;
    background:var(--color);
    position:absolute;
    border-radius:50%;
    transform:scale(0.05);
    left:.75rem;
    opacity:0;
    transition:.6s transform cubic-bezier(0.17,  0.67,  0,  1), 0s .6s opacity;
}
.button__text {
    padding-left:1.5rem;
    mix-blend-mode:difference;
}
.button:focus::before, .button:hover::before {
    left:calc(50% + 6px);
    transition:.4s left cubic-bezier(0.17,  0.67,  0,  1);
}
.button:focus .button__bg, .button:hover .button__bg {
    transform:scale(1);
    opacity:1;
    transition:.6s .4s transform cubic-bezier(0.17,  0.67,  0,  1), 0s .4s opacity;
}
.button:focus .button__text, .button:hover .button__text {
    mix-blend-mode:difference;
}
.button:focus-within::before {
    left:calc(50% + 6px);
    transition:.4s left cubic-bezier(0.17,  0.67,  0,  1);
}
.button:focus-within .button__bg {
    transform:scale(1);
    opacity:1;
    transition:.6s .4s transform cubic-bezier(0.17,  0.67,  0,  1), 0s .4s opacity;
}
.button:focus-within .button__text {
    mix-blend-mode:difference;
}
.button[target=_blank]::before {
    transition:.3s .2s left cubic-bezier(0.17,  0.67,  0,  1), .2s transform ease-out, .2s border-radius ease-out;
}
.button[target=_blank] .button__bg {
    display:none;
}
.button[target=_blank]:focus::before, .button[target=_blank]:hover::before {
    left:calc(100% + 6px);
    transform:translateY(-10px);
    border-radius:50% 0 50% 50%;
    transition:.2s left cubic-bezier(0.17,  0.67,  0,  1), .2s .2s transform ease-out, .4s .2s border-radius ease-out;
}
.button[target=_blank]:focus-within::before {
    left:calc(100% + 6px);
    transform:translateY(-10px);
    border-radius:50% 0 50% 50%;
    transition:.2s left cubic-bezier(0.17,  0.67,  0,  1), .2s .2s transform ease-out, .4s .2s border-radius ease-out;
}
*::before {
    box-sizing:border-box;
}
 html.has-scroll-smooth {
    overflow:hidden;
    position:fixed;
    left:0;
    right:0;
    top:0;
    bottom:0;
}
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;
}
.c-scrollbar {
    position:absolute;
    right:0;
    top:0;
    z-index:998;
    width:11px;
    height:100%;
    transform-origin:center right;
    transition:transform .3s, opacity .3s;
    opacity:1;
}
.c-scrollbar:hover {
    transform:scaleX(1.45);
}
.c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {
    opacity:1;
}
.c-scrollbar_thumb {
    position:absolute;
    top:0;
    right:0;
    background-color:rgba(245, 242, 235, .4);
    width:4px;
    margin:2px;
    border-radius:20px;
}
.is-lazy {
    opacity:0;
    transition:opacity .4s ease-out;
}
.is-lazy.is-loaded {
    opacity:1;
}
* {
    -ms-overflow-style:none;
    scrollbar-width:none;
}
*::-webkit-scrollbar {
    display:none;
}
html.hide-overflow {
    overflow:hidden;
    max-height:100vh;
}
@media only screen and (min-width:0px)and (max-width:1024px) {
    body {
    max-width:100vw;
    overflow-x:hidden;
}
}
main {
    background:#171717;
    color:#fff;
}
#container {
    width:100vw;
    height:100vh;
    position:fixed;
    z-index:1;
    top:0;
    left:0;
    pointer-events:none;
}
#container div {
    position:relative;
    z-index:1;
}
::selection {
    color:#1010ff10;
    background:#f5f2eb;
}
#container ::selection {
    color:#ff7e00;
}
.home .side-text ::selection {
    background:#98d4d4;
    color:#101010;
}
.single-case ::selection {
    background:var(--case-color);
}
.case-header ::selection {
    color:var(--case-color);
    background:#f5f2eb;
}
.text-animation {
    opacity:0;
    animation:fadeIn 0s 1s forwards;
}
.text-animation .word {
    clip-path:inset(-10px);
}
.text-animation .char {
    display:inline-block !important;
    transform:translateY(calc(1em + 20px));
}
.fade-up {
    transform:translateY(4.1666666667vw);
    opacity:0;
}
.fade-up.is-inview {
    animation:fadeUp 1s cubic-bezier(0.17,  0.67,  0,  1) forwards;
}
[data-lazy-load] {
    opacity:0;
    transition:opacity 1s ease-out;
}
[data-lazy-load].is-loaded {
    opacity:1;
}
.hide {
    position:absolute;
    width:1px;
    height:1px;
    left:-10vw;
}
.fancy-link {
    position:relative;
    text-decoration:none;
    display:inline-block;
    clip-path:inset(0 -100%);
    font-variation-settings:"wght" 600;
}
.fancy-link::after {
    content:"";
    position:absolute;
    display:block;
    width:100%;
    height:1px;
    bottom:0;
    background:currentColor;
    opacity:.8;
    transition:clip-path .3s ease-out;
    clip-path:inset(0 -2rem);
}
.fancy-link span {
    line-height:1.2;
    animation:up1 1s cubic-bezier(0.17,  0.67,  0,  1) forwards;
    display:block;
}
.fancy-link span::before, .fancy-link span::after {
    content:attr(data-text);
    position:absolute;
    display:block;
}
.fancy-link span::before {
    top:-100%;
  }
.fancy-link span::after {
    top:100%;
  }
.fancy-link:focus::after, .fancy-link:hover::after {
    clip-path:inset(0 0 0 100%);
    transition:clip-path .3s ease-out;
}
.fancy-link:focus span, .fancy-link:hover span {
    animation:down2 .8s .3s cubic-bezier(0.17,  0.67,  0,  1) forwards;
}
.fancy-link:focus-within::after {
    clip-path:inset(0 0 0 100%);
    transition:clip-path .3s ease-out;
}
.fancy-link:focus-within span {
    animation:down2 .8s .3s cubic-bezier(0.17,  0.67,  0,  1) forwards;
}
@keyframes up1 {
    0% {
    transform:translateY(-100%);
}
100% {
    transform:translateY(0);
}
}@keyframes down2 {
    0% {
    transform:translateY(0);
}
100% {
    transform:translateY(100%);
}
}
.visually-hide {
    opacity:0 !important;
    transition:.2s ease-out;
}


@media only screen and (max-width:767px) {
  .page-title .word:nth-of-type(1) {
    top:11vh;
  }
  .animals, .culture, .portraits {
    position:relative;
  }
  .animals {
    left:11vw;
  }
  .culture {
    left:14vw;
  }
  .portraits {
    left:8vw;
  }
  .header__main {
    mix-blend-mode:normal;
    height:11vh;
    background:#000;
  }
}