/* config */
::-moz-selection,
::selection {
  color: var(--color-white);
  background-color: var(--color-black); }

a {
  text-decoration: none; }

button {
  padding: 0;
  margin: 0;
  cursor: pointer;
  font-family: inherit;
  font-style: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  appearance: none;
  outline: none; }

figure {
  margin: 0; }

ul {
  margin: 0; }

@font-face {
  font-family: 'Graphik LCG';
  font-weight: 400;
  font-style: normal;
  src: url(..//fonts/graphik-lcg-regular.woff2) format("woff2"), url(..//fonts/graphik-lcg-regular.woff) format("woff"); }

@font-face {
  font-family: 'Graphik LCG';
  font-weight: 500;
  font-style: normal;
  src: url(..//fonts/graphik-lcg-medium.woff2) format("woff2"), url(..//fonts/graphik-lcg-medium.woff) format("woff"); }

@font-face {
  font-family: 'Graphik LCG';
  font-weight: 600;
  font-style: normal;
  src: url(..//fonts/graphik-lcg-semibold.woff2) format("woff2"), url(..//fonts/graphik-lcg-semibold.woff) format("woff"); }

@font-face {
  font-family: 'DINPro';
  font-weight: 700;
  font-style: normal;
  src: url(..//fonts/dinpro-bold.woff2) format("woff2"), url(..//fonts/dinpro-bold.woff) format("woff"); }

:root {
  /* colors */
  --color-black: #151515;
  --color-grey: #636363;
  --color-white: #fff;
  /* font */
  --font-f-base: 'Graphik LCG';
  --font-f-heading: 'DINPro';
  --font-w-regular: 400;
  --font-w-medium: 500;
  --font-w-semibold: 600;
  --font-w-bold: 700;
  --font-w-black: 900;
  --font-s-base: 3.836vw;
  --lh-base: 7.123vw;
  --font-s-heading-xxxl: 27.778vw;
  --lh-heading--xxxl: 30.556vw;
  --font-s-heading-xxl: 14.795vw;
  --lh-heading-xxl: 15.068vw;
  --font-s-heading-xl: 12.329vw;
  --lh-heading-xl: 13.151vw;
  --ls-heading-xl: -0.11vw;
  --font-s-heading-lg: 9.722vw;
  --lh-heading-lg: 11.667vw;
  --font-s-heading-md: 5vw;
  --lh-heading-md: 6.389vw;
  --font-s-heading-rg: 6.944vw;
  --lh-heading-rg: 9.722vw;
  --font-s-heading-sm: 6.944vw;
  --lh-heading-sm: 8.333vw;
  --font-s-heading-xs: 5vw;
  --lh-heading-xs: 6.111vw;
  --font-s-subheading: 3.288vw;
  --lh-subheading: 3.288vw;
  --font-s-intro-lg: 6.667vw;
  /* 24px */
  --lh-intro-lg: 9.444vw;
  /* 34px */
  --font-s-intro-sm: 6.667vw;
  /* 24px */
  --lh-intro-sm: 9.444vw;
  /* 34px */
  --font-s-heading-menu: 13.699vw;
  --lh-heading-menu: 15.068vw;
  --ls-heading-menu: -0.411vw;
  --font-s-navbar: 1.736vw;
  /* logo */
  --logo-size: 90px;
  /* spacings */
  --spacing-15: 15px;
  --spacing-30: 30px;
  --spacing-45: 45px;
  --spacing-60: 60px;
  --spacing-90: 90px;
  --spacing-120: 120px;
  --spacing-150: 150px;
  --spacing-240: 240px;
  /* easings */
  --ease-expo-in: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-expo-out: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-expo-in-out: cubic-bezier(1, 0, 0, 1);
  --ease-power3-in: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-power3-out: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-power3-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --spacing-15: 4.11vw;
  --spacing-20: 5.333vw;
  --spacing-30: 8.219vw;
  --spacing-45: 12.329vw;
  --spacing-60: 16.438vw;
  --spacing-75: 20vw;
  --spacing-90: 24.658vw;
  --spacing-120: 32.877vw;
  --spacing-150: 40vw;
  --spacing-180: 49.315vw;
  --spacing-240: 65.753vw;
  /* grid */
  --grid-0125: calc(100vw / 12 * 1 * 0.125);
  /* 15px */
  --grid-025: calc(100vw / 12 * 1 * 0.25);
  /* 30px */
  --grid-0375: calc(100vw / 12 * 1 * 0.375);
  /* 45px */
  --grid-050: calc(100vw / 12 * 1 * 0.5);
  /* 60px */
  --grid-075: calc(100vw / 12 * 1 * 0.75);
  /* 90px */
  --grid-1: calc(100vw / 12 * 1);
  /* 120px */
  --grid-2: calc(100vw / 12 * 2);
  --grid-3: calc(100vw / 12 * 3);
  --grid-4: calc(100vw / 12 * 4);
  --grid-5: calc(100vw / 12 * 5);
  --grid-6: calc(100vw / 12 * 6);
  --grid-7: calc(100vw / 12 * 7);
  --grid-8: calc(100vw / 12 * 8);
  --grid-9: calc(100vw / 12 * 9);
  --grid-10: calc(100vw / 12 * 10);
  --grid-11: calc(100vw / 12 * 11);
  --grid-12: calc(100vw / 12 * 12);
  --outer-gutter: var(--grid-1);
  --row-gutter: var(--spacing-45); }

@media only screen and (min-width: 768px) {
  :root {
    /* logo */
    --logo-size: 120px;
    --font-s-base: 0.972vw;
    --lh-base: 1.806vw;
    --font-s-heading-xxxl: 16.667vw;
    --lh-heading-xxxl: 14.444vw;
    --font-s-heading-xxl: 9.028vw;
    --lh-heading-xxl: 7.639vw;
    --font-s-heading-xl: 7.639vw;
    --lh-heading-xl: 7.639vw;
    --ls-heading-xl: 0;
    --font-s-heading-lg: 5.903vw;
    --lh-heading-lg: 6.25vw;
    --font-s-heading-md: 2.778vw;
    --lh-heading-md: 3.472vw;
    --font-s-heading-rg: 2.083vw;
    --lh-heading-rg: 3.472vw;
    --font-s-heading-sm: 1.736vw;
    --lh-heading-sm: 2.083vw;
    --font-s-heading-xs: 1.25vw;
    --lh-heading-xs: 1.528vw;
    --font-s-subheading: 1.042vw;
    --lh-subheading: 1.042vw;
    --font-s-intro-lg: 2.431vw;
    /* 35px */
    --lh-intro-lg: 2.847vw;
    /* 41px */
    --font-s-intro-sm: 1.667vw;
    /* 24px */
    --lh-intro-sm: 2.361vw;
    /* 34px */
    --font-s-heading-menu: 6.944vw;
    --lh-heading-menu: 10.139vw;
    --ls-heading-menu: -0.174vw;
    /* grid */
    --outer-gutter: var(--grid-1);
    --row-gutter: var(--grid-050);
    --spacing-15: 1.042vw;
    --spacing-20: 1.389vw;
    --spacing-30: 2.083vw;
    --spacing-45: 3.125vw;
    --spacing-60: 4.167vw;
    --spacing-75: 5.208vw;
    --spacing-90: 6.25vw;
    --spacing-120: 8.333vw;
    --spacing-150: 10.417vw;
    --spacing-180: 12.5vw;
    --spacing-240: 16.667vw; } }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  margin: 0;
  overflow-y: scroll;
  font-family: var(--font-f-base);
  font-size: var(--font-s-base);
  line-height: var(--lh-base);
  text-size-adjust: 100%;
  overscroll-behavior-y: none; }

* {
  box-sizing: border-box; }

img {
  display: block;
  max-width: 100%;
  height: auto; }

a {
  color: var(--color-black); }

.main {
  overflow: hidden; }

@media only screen and (max-width: 479px) {
  .is-horizontal::after {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1;
    width: 100px;
    height: 100vh;
    pointer-events: none;
    background: linear-gradient(-90deg, var(--color-black), transparent); } }

.is-horizontal .main {
  overflow: visible; }

.is-device.is-horizontal {
  overflow-x: scroll; }

.is-scrolling {
  pointer-events: none; }

.heading {
  margin: 0;
  font-family: var(--font-f-heading);
  font-weight: var(--font-w-bold);
  color: var(--color-black); }

.heading--xxxl {
  font-size: var(--font-s-heading-xxxl);
  line-height: var(--lh-heading-xxxl); }

.heading--xxl {
  font-size: var(--font-s-heading-xxl);
  line-height: var(--lh-heading-xxl);
  letter-spacing: var(--ls-heading-xl); }

.heading--xl {
  font-size: var(--font-s-heading-xl);
  line-height: var(--lh-heading-xl); }

.heading--lg {
  font-size: var(--font-s-heading-lg);
  line-height: var(--lh-heading-lg); }

.heading--md {
  font-size: var(--font-s-heading-md);
  line-height: var(--lh-heading-md); }

.heading--rg {
  font-size: var(--font-s-heading-rg);
  line-height: var(--lh-heading-rg); }

.heading--sm {
  font-size: var(--font-s-heading-sm);
  line-height: var(--lh-heading-sm); }

.component--dark .heading {
  color: var(--color-white); }

.heading--white {
  color: var(--color-white); }

.heading--transparent {
  color: transparent !important;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: var(--color-black); }

.component--dark .heading--transparent {
  -webkit-text-stroke-color: var(--color-white); }

.subheading {
  font-size: var(--font-s-subheading);
  font-weight: var(--font-w-medium);
  line-height: var(--lh-subheading); }

.subheading--grey {
  color: var(--color-grey); }

.component--dark .subheading {
  color: var(--color-white); }

.intro {
  margin: 0;
  font-weight: var(--font-w-medium); }

.intro--sm {
  font-size: var(--font-s-intro-sm);
  line-height: var(--lh-intro-sm); }

.intro--lg {
  font-size: var(--font-s-intro-lg);
  line-height: var(--lh-intro-lg); }

.component--dark .intro {
  color: var(--color-white); }

.component--dark .text {
  color: var(--color-white); }

.order {
  color: var(--color-black); }

.order--right {
  float: right; }

.component--dark .order {
  color: var(--color-white); }

.container {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-row-gap: var(--row-gutter);
  align-items: start; }

.container--small {
  grid-template-columns: repeat(10, 1fr);
  padding: 0 var(--outer-gutter); }

[style*='--aspect-ratio'] > .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; }

@supports (--custom: property) {
  [style*='--aspect-ratio'] {
    position: relative; }
  [style*='--aspect-ratio']::before {
    content: '';
    display: block;
    padding-bottom: calc(100% / (var(--aspect-ratio))); } }

.is-dark {
  background-color: var(--color-black); }

.component {
  position: relative;
  margin: var(--spacing-120) 0; }
  .component:first-child:not(.component--dark) {
    margin: var(--spacing-150) 0 var(--spacing-120); }
  .component:first-child.component--dark {
    padding: var(--spacing-150) 0 var(--spacing-120); }
  @media only screen and (min-width: 768px) {
    .component:first-child:not(.component--dark) {
      margin: var(--spacing-240) 0 var(--spacing-120); }
    .component:first-child.component--dark {
      padding: var(--spacing-240) 0 var(--spacing-120); } }

.component--dark {
  margin: 0;
  padding: var(--spacing-120) 0;
  background-color: var(--color-black); }

.component--dark + .component--dark {
  margin: calc(var(--spacing-120) * -1) 0 0; }

.component--joint {
  margin: 0; }

.link {
  position: relative;
  background-repeat: no-repeat;
  transition: transform 400ms var(--ease-power3-in-out); }
  .link:hover {
    transform: translateX(1vw); }

.component--dark .link {
  color: var(--color-white); }

.link--arrow {
  width: 21.111vw;
  height: 5.278vw;
  background-image: url(..//img/icon-arrow.svg);
  background-repeat: no-repeat; }
  @media only screen and (min-width: 768px) {
    .link--arrow {
      padding: 0.7vw 0;
      width: 5.278vw;
      height: 1.319vw; } }

.component--dark .link--arrow {
  background-image: url(..//img/icon-arrow-white.svg); }

.link--sound {
  width: 6vw;
  height: 6vw; }
  @media only screen and (min-width: 768px) {
    .link--sound {
      width: 2vw;
      height: 2vw; } }

.link--sound-on {
  background-image: url(..//img/icon-sound-on.svg); }

.link--sound-off {
  background-image: url(..//img/icon-sound-off.svg); }

.component--dark .link--sound-on {
  background-image: url(..//img/icon-sound-on-white.svg); }

.component--dark .link--sound-off {
  background-image: url(..//img/icon-sound-off-white.svg); }

.link--right {
  float: right;
  margin-top: var(--grid-1); }
  @media only screen and (min-width: 768px) {
    .link--right {
      margin: var(--grid-0375) 0 0; } }

.link__text {
  position: absolute;
  top: 50%;
  visibility: hidden;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 300ms ease;
  transition-delay: 150ms; }

.link--arrow .link__text {
  right: 22vw;
  padding-right: 1vw; }
  @media only screen and (min-width: 768px) {
    .link--arrow .link__text {
      right: 6.5vw; } }

.link--sound .link__text {
  right: 3vw;
  padding-right: 1vw; }
  @media only screen and (min-width: 768px) {
    .link--sound .link__text {
      right: 2vw; } }

@media (hover: hover) {
  .link:hover .link__text {
    visibility: visible;
    opacity: 1; } }

.richtext > * {
  margin: 2.74vw 0; }
  @media only screen and (min-width: 768px) {
    .richtext > * {
      margin: 0.694vw 0; } }
  .richtext > *:first-child {
    margin-top: 0; }
  .richtext > *:last-child {
    margin-bottom: 0; }

.richtext h1,
.richtext h2,
.richtext h3,
.richtext h4,
.richtext h5,
.richtext h6 {
  margin-top: 0; }

.richtext h3 {
  font-size: 3.836vw;
  line-height: 6.027vw;
  font-weight: var(--font-w-semibold); }
  @media only screen and (min-width: 768px) {
    .richtext h3 {
      font-size: 0.972vw;
      line-height: 1.528vw; } }

.richtext a {
  text-decoration: underline; }

.component--dark .richtext {
  color: var(--color-white); }
  .component--dark .richtext a {
    color: var(--color-white); }

.transition {
  position: fixed;
  top: 0;
  left: 0; }

.transition--in {
  z-index: 1; }

.transition--out {
  z-index: 2; }

.app {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.is-device .app {
  position: absolute; }

.scroll {
  position: relative;
  z-index: 1;
  will-change: transform; }

.is-device .scroll {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; }

.is-device.is-horizontal .scroll {
  overflow-x: scroll;
  overflow-y: hidden; }

.content {
  position: absolute;
  top: 0;
  left: 0; }

.is-vertical .content {
  width: 100%; }

.is-horizontal .content {
  height: 100%; }

/* animations */
.lazy-img {
  position: relative;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    @supports (clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%)) {
      .lazy-img {
        transition: 1500ms clip-path var(--ease-power3-out);
        will-change: clip-path;
        -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
        clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%); } } }

.component--dark .lazy-img::after {
  background-color: var(--color-black); }

@media only screen and (min-width: 768px) {
  @supports (clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0)) {
    .lazy-img.is-animated {
      -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
      clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0); } } }

.lazy-img img {
  z-index: 1;
  transition: transform 2000ms var(--ease-power3-out), clip 1500ms var(--ease-power3-out);
  will-change: transform, clip; }
  @media only screen and (min-width: 768px) {
    @supports (clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%)) {
      .lazy-img img {
        transform: scale(1.3);
        transition: transform 2000ms var(--ease-power3-out);
        will-change: transform;
        clip: unset !important; } } }

.lazy-img.is-animated img {
  visibility: visible;
  opacity: 1;
  transform: scale(1); }

.scroll-text {
  width: 100%; }
  @media only screen and (max-width: 479px) {
    .scroll-text {
      display: none; } }

.scroll-text__text {
  position: absolute;
  text-align: left; }

.scroll-text__text--right {
  right: 0; }

.scroll-text__text--left {
  left: 0; }

.scroll-text__line {
  position: relative;
  white-space: nowrap; }

.scroll-text__text--right .scroll-text__line:nth-child(2) {
  left: 10%; }

.scroll-text__text--left .scroll-text__line {
  text-align: right; }
  .scroll-text__text--left .scroll-text__line:nth-child(1) {
    right: 10%; }

/* components */
@media only screen and (max-width: 767px) {
  .entrepreneur__container {
    grid-row-gap: 0; } }

.entrepreneur__image-wrap {
  grid-column: span 12;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .entrepreneur__image-wrap {
      grid-column: 10 / 13;
      order: 1;
      z-index: 2; } }
  @media only screen and (max-width: 767px) {
    .entrepreneur__image-wrap::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      opacity: 0;
      background: linear-gradient(to right top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
      animation: opacity 600ms forwards; } }

@keyframes opacity {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.entrepreneur__image {
  position: absolute;
  width: 100%;
  height: 100vh;
  object-fit: cover; }
  @media only screen and (min-width: 768px) {
    .entrepreneur__image {
      position: absolute;
      top: 0;
      right: 0;
      width: var(--grid-3); } }

.entrepreneur__content {
  grid-column: span 12;
  position: relative;
  z-index: 2;
  padding: var(--spacing-60) var(--outer-gutter); }
  .entrepreneur__content > * {
    visibility: hidden;
    opacity: 0; }
  @media only screen and (min-width: 768px) {
    .entrepreneur__content {
      grid-column: span 9;
      order: 0;
      position: relative;
      padding: 200px calc(var(--grid-3) + var(--grid-050)) var(--grid-1) var(--grid-1);
      width: auto;
      min-height: 100vh;
      overflow: hidden;
      background-color: var(--color-white); }
      .entrepreneur__content::before {
        content: '';
        position: fixed;
        top: 0;
        right: var(--grid-3);
        z-index: 3;
        width: var(--grid-9);
        height: var(--grid-1);
        min-height: var(--logo-size);
        background-color: var(--color-white); } }

.entrepreneur__v-heading {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: fixed;
  top: 0;
  right: var(--grid-1);
  z-index: 2;
  padding-top: var(--grid-4);
  width: var(--grid-6);
  height: 100vh;
  visibility: hidden;
  color: var(--color-white);
  writing-mode: vertical-rl;
  opacity: 0;
  transform: rotate(180deg); }
  @media only screen and (min-width: 768px) {
    .entrepreneur__v-heading {
      right: var(--grid-4);
      z-index: 3;
      padding-top: var(--grid-050);
      width: var(--grid-2);
      color: var(--color-black); } }
  .entrepreneur__v-heading .heading {
    font-size: 20vw;
    line-height: 21vw;
    color: var(--color-white); }
    .entrepreneur__v-heading .heading > div {
      float: left;
      overflow: hidden; }
    @media only screen and (min-width: 768px) {
      .entrepreneur__v-heading .heading {
        font-size: var(--font-s-heading-lg);
        line-height: 7vw;
        color: var(--color-black); } }

.entrepreneur__back {
  position: absolute;
  bottom: calc(100% + var(--grid-2));
  color: var(--color-white);
  text-decoration: underline; }
  @media only screen and (min-width: 768px) {
    .entrepreneur__back {
      position: static;
      bottom: unset;
      margin-left: var(--grid-1);
      color: var(--color-black); } }

.entrepreneur__heading {
  margin: var(--grid-025) 0 var(--grid-050); }
  @media only screen and (min-width: 768px) {
    .entrepreneur__heading {
      margin: var(--grid-050) 0;
      max-width: var(--grid-4); } }

@media only screen and (min-width: 768px) {
  .entrepreneur__text,
  .entrepreneur__intro {
    margin: 0 0 0 var(--grid-1);
    max-width: var(--grid-4); } }

.entrepreneur__intro {
  margin-bottom: var(--grid-025);
  font-weight: var(--font-w-bold); }

.entrepreneur__info {
  margin-top: var(--spacing-60); }
  @media only screen and (min-width: 768px) {
    .entrepreneur__info {
      margin-top: var(--spacing-90); } }

.entrepreneur__list {
  margin-bottom: var(--spacing-60); }
  .entrepreneur__list:last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 768px) {
    .entrepreneur__list {
      float: left;
      margin-bottom: 0;
      width: var(--grid-2); } }

.entrepreneur__list--2 {
  width: var(--grid-10); }
  @media only screen and (min-width: 768px) {
    .entrepreneur__list--2 {
      width: var(--grid-2); } }

.entrepreneur__list-heading {
  display: block;
  margin: 0;
  font-weight: var(--font-w-medium);
  text-transform: uppercase;
  letter-spacing: 1px; }

.entrepreneur__list-ul {
  margin-top: 20px;
  padding-left: 0;
  list-style: none; }

.entrepreneur__list--2 .entrepreneur__list-ul {
  column-count: 2; }

.entrepreneur__list-link {
  text-decoration: underline; }

.cursor {
  display: none;
  opacity: 0;
  transform: scale(0); }
  @media (hover: hover) {
    .cursor {
      display: flex;
      align-items: center;
      justify-content: center;
      position: fixed;
      z-index: 101;
      width: 90px;
      height: 90px;
      pointer-events: none;
      font-size: 10px;
      font-weight: var(--font-w-semibold);
      text-transform: uppercase;
      color: var(--color-black);
      background-color: var(--color-white);
      border-radius: 50%; } }

.is-device .cursor {
  display: none !important; }

.error {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; }

.error__heading {
  position: relative;
  z-index: 2;
  padding: 0 0 11vw; }
  @media only screen and (min-width: 768px) {
    .error__heading {
      padding: 0 0 2vw; } }
  .error__heading::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-white); }

.error__description {
  margin: 2vw 0 0 0;
  color: var(--color-white); }
  .error__description a {
    color: var(--color-white);
    text-decoration: underline; }

.filter {
  visibility: hidden;
  opacity: 0; }

.filter.is-visible {
  visibility: visible;
  opacity: 1; }

.filter__toggle {
  font-family: var(--font-f-base) !important;
  font-weight: var(--font-w-regular) !important;
  text-transform: none !important;
  color: var(--color-black) !important; }

.is-dark .filter__toggle {
  color: var(--color-white) !important; }

.filter__list {
  position: absolute;
  top: 7vw;
  left: 0;
  padding-left: 0;
  width: 100%;
  pointer-events: none; }
  @media only screen and (min-width: 768px) {
    .filter__list {
      top: 3vw; } }

.filter__list.is-open {
  pointer-events: all; }

.filter__list-item {
  display: block;
  visibility: hidden;
  font-size: 3.333vw;
  line-height: 7vw;
  opacity: 0; }
  @media only screen and (min-width: 768px) {
    .filter__list-item {
      font-size: 1.042vw;
      line-height: 2.2vw; } }

.filter__button {
  color: var(--color-white);
  white-space: nowrap; }
  .filter__button:hover {
    text-decoration: underline; }

.filter__button.is-active {
  text-decoration: underline; }

.header {
  position: absolute;
  top: 0;
  z-index: 101;
  width: 100%;
  height: var(--grid-1);
  min-height: var(--logo-size); }
  @media only screen and (min-width: 768px) {
    .header {
      position: fixed; } }

.header__container {
  align-items: end;
  height: 100%; }

.is-horizontal .header {
  position: fixed;
  width: 100vw; }

.hero-slider {
  grid-row-gap: 0;
  height: 100%;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .hero-slider {
      height: 100vh; } }

.hero-slider__aside {
  display: flex;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 120px;
  background-color: var(--color-white); }
  @media only screen and (min-width: 768px) {
    .hero-slider__aside {
      display: grid;
      grid-column: span 3;
      order: 0;
      position: relative;
      width: auto;
      height: 100vh; } }

.hero-slider__slider {
  grid-column: span 12;
  position: fixed;
  width: 100%;
  height: calc(100% - 120px);
  overflow: hidden;
  background-color: var(--color-black); }
  @media only screen and (min-width: 768px) {
    .hero-slider__slider {
      grid-column: span 9;
      order: 1;
      position: relative;
      width: auto;
      height: 100vh; } }

.hero-slider__slide {
  display: flex;
  align-items: flex-end;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding-bottom: 75px;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: var(--color-white);
  opacity: 0;
  will-change: transform; }
  @media only screen and (min-width: 768px) {
    .hero-slider__slide {
      display: inline;
      padding-bottom: 0; } }
  .hero-slider__slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0)); }

.hero-slider__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end; }
  @media only screen and (min-width: 768px) {
    .hero-slider__content {
      height: calc(100vh - var(--grid-1)); } }

.hero-slider__content--aside {
  padding: 0 30px;
  height: 120px;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .hero-slider__content--aside {
      order: 0;
      padding: var(--grid-050) var(--grid-1);
      height: calc(100vh - var(--grid-1)); } }

.hero-slider__content--main {
  padding: var(--grid-2) var(--outer-gutter) var(--spacing-90); }
  @media only screen and (min-width: 768px) {
    .hero-slider__content--main {
      padding: var(--grid-2) var(--grid-1) var(--grid-1) var(--grid-2);
      color: var(--color-white); } }

.hero-slider__subheading,
.hero-slider__heading,
.hero-slider__text,
.hero-slider__more {
  z-index: 2; }

.hero-slider__subheading {
  margin: 0 0 0 var(--grid-1); }

.hero-slider__heading {
  position: relative;
  z-index: 2;
  margin: var(--grid-050) 0 0;
  visibility: hidden;
  opacity: 0; }
  .hero-slider__heading > div {
    overflow: hidden; }
  @media only screen and (min-width: 768px) {
    .hero-slider__heading {
      margin: var(--grid-025) 0 0;
      line-height: 5.55vw; }
      .hero-slider__heading > div {
        padding-bottom: 0.7vw; } }

.hero-slider__text {
  display: none;
  margin: var(--grid-050) 0 0 var(--grid-1); }
  @media only screen and (min-width: 768px) {
    .hero-slider__text {
      display: block; } }

.hero-slider__more {
  margin: var(--grid-050) 0 0 var(--grid-1);
  width: var(--grid-7); }
  @media only screen and (min-width: 768px) {
    .hero-slider__more {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      position: absolute;
      left: var(--grid-3);
      bottom: 0;
      margin: 0;
      width: var(--grid-3);
      height: var(--grid-1); } }
  .hero-slider__more a {
    color: var(--color-white);
    text-decoration: underline; }

.hero-slider__thumb-slider {
  float: left;
  position: relative;
  width: var(--grid-4);
  height: 120px;
  overflow: hidden;
  background-color: var(--color-black); }
  @media only screen and (min-width: 768px) {
    .hero-slider__thumb-slider {
      order: 1;
      float: none;
      width: 100%;
      height: var(--grid-1); } }

.hero-slider__thumb-slide {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  will-change: transform; }
  @media only screen and (min-width: 768px) {
    .hero-slider__thumb-slide::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.1); } }

.hero-slider__text-slide {
  position: absolute;
  top: 50%;
  left: calc(var(--grid-4) + 30px);
  visibility: hidden;
  opacity: 0;
  transform: translateY(-50%); }
  @media only screen and (min-width: 768px) {
    .hero-slider__text-slide {
      top: auto;
      bottom: calc(var(--grid-1) + var(--grid-050));
      left: var(--grid-1);
      right: var(--grid-1);
      writing-mode: vertical-rl;
      transform: rotate(180deg) translateY(0); } }

.hero-slider__text-heading {
  visibility: hidden;
  opacity: 0; }
  .hero-slider__text-heading > div {
    float: left;
    overflow: hidden; }

.hero-slider__text-subheading {
  visibility: hidden;
  opacity: 0; }

.hero-slider__visual-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%; }

.hero-slider__visual {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover; }

@media only screen and (max-width: 767px) {
  .hero-slider__visual--video {
    display: none; } }

.hero-slider__visual--video + .hero-slider__visual {
  display: block; }
  @media only screen and (min-width: 768px) {
    .hero-slider__visual--video + .hero-slider__visual {
      display: none; } }

.hero-slider__controls {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: var(--grid-4);
  background: var(--color-white); }
  @media only screen and (min-width: 768px) {
    .hero-slider__controls {
      width: var(--grid-2);
      height: var(--grid-1); } }

.hero-slider__nav {
  display: none; }
  @media only screen and (min-width: 768px) {
    .hero-slider__nav {
      display: block;
      position: relative; } }

.hero-slider__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: left;
  width: var(--grid-1);
  height: var(--grid-1); }
  .hero-slider__arrow svg {
    width: 0.833vw;
    height: 1.25vw; }

.hero-slider__arrow--right {
  transform: rotate(180deg); }

.hero-slider__index {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  width: var(--grid-4);
  height: 75px;
  font-family: var(--font-f-heading);
  font-weight: var(--font-w-bold);
  color: var(--color-black);
  background-color: var(--color-white); }
  @media only screen and (min-width: 768px) {
    .hero-slider__index {
      align-items: flex-start;
      justify-content: flex-end;
      right: var(--grid-1);
      left: auto;
      width: var(--grid-1);
      height: var(--grid-1);
      color: var(--color-white);
      background: none; } }

.hero-slider__index-active {
  font-size: 5vw; }
  @media only screen and (min-width: 768px) {
    .hero-slider__index-active {
      font-size: 2.778vw; } }

.hero-slider__index-total {
  margin: -2.5vw 0 0 0.7vw;
  font-size: 2.5vw; }
  @media only screen and (min-width: 768px) {
    .hero-slider__index-total {
      margin: -0.833vw 0 0 0;
      font-size: 0.833vw; } }

.hero-slider__bullets {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 100%;
  bottom: 100%;
  z-index: 5;
  padding-left: 0;
  width: var(--grid-8);
  height: 75px;
  list-style: none; }
  @media only screen and (min-width: 768px) {
    .hero-slider__bullets {
      display: inline;
      top: 50%;
      right: var(--grid-1);
      bottom: auto;
      left: 50%;
      width: 100%;
      height: auto;
      text-align: center;
      transform: translate(-50%, -50%); } }

.hero-slider__bullet {
  display: inline-block;
  margin-right: var(--grid-075);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid var(--color-white); }
  .hero-slider__bullet:last-child {
    margin-right: 0; }
  @media only screen and (min-width: 768px) {
    .hero-slider__bullet {
      margin-right: var(--grid-025); } }

.logo {
  display: block;
  position: absolute;
  top: 0;
  left: var(--grid-1);
  z-index: 102;
  width: var(--grid-1);
  height: var(--grid-1);
  min-width: var(--logo-size);
  min-height: var(--logo-size);
  background-color: var(--color-white);
  mix-blend-mode: exclusion; }
  .logo svg {
    width: var(--grid-1);
    height: var(--grid-1);
    min-width: var(--logo-size);
    min-height: var(--logo-size);
    fill: none; }
  @media only screen and (min-width: 768px) {
    .logo {
      position: fixed; } }

.logo__text {
  fill: #000; }

.logo-mask {
  display: block;
  position: absolute;
  top: 0;
  left: var(--grid-1);
  z-index: 100;
  width: var(--grid-1);
  height: var(--grid-1);
  min-width: var(--logo-size);
  min-height: var(--logo-size);
  background-color: var(--color-white); }
  @media only screen and (min-width: 768px) {
    .logo-mask {
      position: fixed; } }

.is-dark .logo-mask {
  background-color: #000; }

.logo--light .logo__bg {
  fill: var(--color-white); }

.logo--light .logo__text {
  fill: var(--color-black); }

.mask {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  width: 100%;
  height: 100%;
  visibility: hidden;
  pointer-events: none;
  opacity: 0; }

.mask__slice {
  flex: 1;
  position: relative;
  z-index: 1;
  background-color: var(--color-black); }

.mask__slice--vertical {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100vh;
  background-color: var(--color-white); }
  .mask__slice--vertical:first-child {
    left: 0; }
  .mask__slice--vertical:last-child {
    right: 0; }

.nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  padding: calc(var(--logo-size) + var(--grid-2)) 0 var(--grid-2);
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  pointer-events: none;
  -webkit-overflow-scrolling: touch; }
  @media only screen and (min-width: 768px) {
    .nav {
      align-items: center;
      padding: 0;
      height: 100vh;
      overflow-y: visible; } }

.nav.is-open {
  pointer-events: all; }

.nav__container {
  grid-row-gap: 0;
  position: relative;
  z-index: 2; }
  @media only screen and (min-width: 768px) {
    .nav__container {
      align-items: center;
      top: 50%;
      transform: translateY(-50%); } }

.nav__mask {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100vh;
  visibility: hidden;
  opacity: 0; }

.nav__mask-slice {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100vh;
  visibility: hidden;
  opacity: 0;
  background-color: #000; }
  .nav__mask-slice:first-child {
    left: 0; }
  .nav__mask-slice:last-child {
    right: 0; }

.nav__wrap--primary {
  grid-column: span 10; }
  @media only screen and (min-width: 768px) {
    .nav__wrap--primary {
      grid-column: 1 / 6;
      height: 100%; } }

.nav__wrap--secondary {
  grid-column: span 10; }
  @media only screen and (min-width: 768px) {
    .nav__wrap--secondary {
      grid-column: 8 / 11; } }

.nav__list {
  padding-left: 0;
  margin-bottom: var(--spacing-45);
  list-style: none; }
  @media only screen and (min-width: 768px) {
    .nav__list {
      margin-bottom: var(--grid-050); } }

.nav__list--lg {
  margin-bottom: var(--spacing-60); }
  @media only screen and (min-width: 768px) {
    .nav__list--lg {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      margin-bottom: 0;
      height: 100%; } }

.nav__list-item {
  display: block;
  overflow: hidden; }

@media only screen and (min-width: 768px) {
  .nav__list--md .nav__list-item {
    margin: 0 0 0.694vw; }
    .nav__list--md .nav__list-item:last-child {
      margin: 0; } }

.nav__list-link {
  display: block;
  visibility: hidden;
  color: var(--color-white);
  opacity: 0; }

.nav__list--lg .nav__list-link {
  position: relative;
  font-size: var(--font-s-heading-menu);
  line-height: var(--lh-heading-menu);
  letter-spacing: var(--ls-heading-menu);
  color: transparent;
  text-transform: uppercase;
  -webkit-text-stroke-color: var(--color-white); }
  @media only screen and (max-width: 767px) {
    .nav__list--lg .nav__list-link {
      -webkit-text-stroke-width: 1px; } }
  .nav__list--lg .nav__list-link::before {
    content: attr(data-text);
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    font-size: var(--font-s-heading-menu);
    line-height: var(--lh-heading-menu);
    text-transform: uppercase;
    letter-spacing: var(--ls-heading-menu);
    color: var(--white);
    transition: max-height 300ms;
    -webkit-text-stroke: transparent;
    -webkit-text-fill-color: var(--color-white); }
  @media (hover: hover) {
    .nav__list--lg .nav__list-link:hover::before {
      max-height: 100%; } }

.nav__list--md .nav__list-link {
  font-weight: var(--font-w-bold);
  color: var(--color-grey);
  transition: color 200ms; }
  @media only screen and (max-width: 767px) {
    .nav__list--md .nav__list-link {
      line-height: 9.863vw;
      color: var(--color-white); } }
  .nav__list--md .nav__list-link:hover {
    color: var(--color-white); }

.nav__list--sm .nav__list-link {
  color: var(--color-grey);
  transition: color 200ms; }
  .nav__list--sm .nav__list-link:hover {
    color: var(--color-white); }
  @media only screen and (min-width: 768px) {
    .nav__list--sm .nav__list-link {
      font-size: 1.111vw;
      line-height: 1.528vw; } }

.nav__social-list {
  display: flex;
  padding-left: 0;
  margin-bottom: var(--grid-1);
  list-style: none; }

.nav__social-list-item {
  margin-right: 20px; }
  .nav__social-list-item:last-child {
    margin-right: 0; }

.nav__social-list-icon {
  width: 20px;
  height: 20px;
  visibility: hidden;
  opacity: 0;
  fill: var(--color-white); }

.nav__credits-wrap {
  display: flex;
  flex-direction: column; }

.nav__credits {
  position: relative;
  z-index: 2;
  padding: 0 var(--grid-1);
  margin-bottom: 5px;
  width: 100%;
  visibility: hidden;
  color: var(--color-white);
  opacity: 0;
  transition: opacity 200ms;
  transition-delay: 1100ms; }
  .nav__credits:last-of-type {
    margin-bottom: 0; }
  @media only screen and (min-width: 768px) {
    .nav__credits {
      position: absolute;
      bottom: var(--grid-050);
      padding: 0;
      margin: 0;
      width: auto; } }

.nav__credits--left {
  order: 1; }
  @media only screen and (min-width: 768px) {
    .nav__credits--left {
      order: 0;
      left: var(--grid-1); } }

.nav__credits--right {
  order: 0; }
  @media only screen and (min-width: 768px) {
    .nav__credits--right {
      order: 1;
      left: var(--grid-8); } }

.nav.is-open .nav__credits {
  visibility: visible;
  opacity: 1; }

.nav__credits p,
.nav__credits a,
.nav__lang,
.nav__lang-toggle {
  float: left;
  margin: 0;
  color: var(--color-white); }

.nav__lang {
  position: relative;
  margin-left: var(--grid-075); }
  .nav__lang .nav__lang-toggle::after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    width: 20px;
    height: 12px;
    background-image: url(..//img/icon-chevron.svg);
    background-repeat: no-repeat;
    background-size: 20px 12px;
    transform: rotate(-90deg); }

.nav__lang.is-open .nav__lang-toggle::after {
  transform: rotate(90deg); }

.nav__lang-links {
  position: absolute;
  left: 0;
  bottom: 100%;
  visibility: hidden;
  opacity: 0; }

.nav__lang.is-open .nav__lang-links {
  visibility: visible;
  opacity: 1; }

.nav__gewest {
  position: absolute;
  bottom: 15px;
  left: var(--grid-1);
  z-index: 99;
  visibility: hidden;
  color: white;
  opacity: 0; }
  .nav__gewest a {
    color: white; }

@media only screen and (min-width: 768px) {
  .navbar {
    display: block;
    grid-column: span 5/10;
    z-index: 100; } }

.navbar.is-hidden {
  visibility: hidden;
  opacity: 0; }

@media only screen and (min-width: 768px) {
  .navbar__nav {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: var(--grid-6); } }

.navbar__list {
  display: inline-block;
  padding-left: 0;
  list-style: none; }

.navbar__list--nav {
  display: none; }
  @media only screen and (min-width: 768px) {
    .navbar__list--nav {
      display: inline-block; } }

.navbar__list--filter {
  position: absolute;
  right: var(--outer-gutter);
  bottom: -10px; }
  @media only screen and (min-width: 768px) {
    .navbar__list--filter {
      bottom: 0;
      margin-right: calc(35px + var(--grid-050)); } }

.navbar__list-item {
  display: inline-block;
  position: relative;
  margin-right: var(--grid-025); }
  .navbar__list-item:last-child {
    margin-right: 0 !important; }

.navbar__list--filter .navbar__list-item {
  margin-right: var(--grid-025); }
  @media only screen and (min-width: 768px) {
    .navbar__list--filter .navbar__list-item {
      margin-right: var(--grid-0125); } }

.navbar__link {
  padding-bottom: 3px;
  font-family: var(--font-f-heading);
  font-size: var(--font-s-navbar);
  font-weight: var(--font-w-bold);
  color: var(--color-black);
  text-transform: lowercase;
  opacity: 0.5;
  transition: opacity 200ms ease; }
  .navbar__link:hover {
    color: var(--color-black) !important;
    opacity: 1 !important; }

.navbar--light .navbar__link {
  color: var(--color-white); }
  .navbar--light .navbar__link:hover {
    color: var(--color-white) !important; }

.is-dark .navbar__link:hover {
  color: var(--color-white) !important; }

.navbar__list--filter .navbar__link {
  padding-bottom: 0;
  font-size: 3.333vw;
  font-weight: var(--font-w-medium); }
  @media only screen and (min-width: 768px) {
    .navbar__list--filter .navbar__link {
      font-size: 1.042vw; } }

.is-dark .navbar__link {
  color: var(--color-white); }

.navbar__link.is-active {
  opacity: 1; }

.navbar__list:hover .navbar__link {
  opacity: 0.5; }

.nav-button {
  position: fixed;
  top: 30px;
  right: var(--grid-1);
  z-index: 102;
  margin: auto;
  padding: 10px;
  cursor: pointer;
  transform: translate3d(0, 0, 0);
  mix-blend-mode: exclusion; }
  .nav-button span {
    display: block;
    position: relative;
    width: 35px;
    height: 2px;
    transition: transform 800ms var(--ease-expo-out), opacity 400ms var(--ease-expo-out), background-color 400ms ease; }
    .nav-button span::after, .nav-button span::before {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      pointer-events: none;
      background-color: #000; }
    .nav-button span::before {
      opacity: 1;
      transform: translate3d(0%, 0, 0); }
    .nav-button span::after {
      opacity: 0;
      transform: translate3d(100%, 0, 0); }
    .nav-button span:first-child {
      margin-bottom: 8px; }
      .nav-button span:first-child::after, .nav-button span:first-child::before {
        transition: transform 800ms var(--ease-expo-out), opacity 200ms var(--ease-expo-out); }
    .nav-button span:last-child::after, .nav-button span:last-child::before {
      transition: transform 800ms var(--ease-expo-out) 100ms, opacity 200ms var(--ease-expo-out) 80ms; }
  .nav-button:hover span::before {
    opacity: 0;
    transform: translate3d(-100%, 0, 0); }
  .nav-button:hover span::after {
    opacity: 1;
    transform: translate3d(0%, 0, 0); }
  @media only screen and (min-width: 768px) {
    .nav-button {
      top: calc(var(--logo-size) - 22px - 0.417vw); } }

@media only screen and (max-width: 767px) {
  .is-horizontal .nav-button {
    right: auto;
    left: calc(100vw / 12 * 10 - 10px); } }

.nav-button.is-light span::before, .nav-button.is-light span::after {
  background-color: var(--color-white); }

.nav-button.is-active span {
  /* stylelint-disable-line */ }
  .nav-button.is-active span:first-child {
    transform: translate3d(0, 5px, 0) rotate3d(0, 0, 2, -45deg); }
  .nav-button.is-active span:last-child {
    transform: translate3d(0, -5px, 0) rotate3d(0, 0, 2, 45deg); }

.is-dark .nav-button span::before, .is-dark .nav-button span::after {
  background-color: var(--color-white); }

.placeholder {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  height: 100vh;
  pointer-events: none; }

.placeholder__image-wrap {
  position: absolute;
  z-index: 100; }

.placeholder__image {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.progress {
  display: none;
  position: fixed;
  bottom: var(--spacing-30);
  left: 50%;
  z-index: 1;
  width: 60%;
  height: 1px;
  overflow: hidden;
  background-color: var(--color-grey);
  transform: translateX(-50%); }
  @media only screen and (min-width: 480px) {
    .progress {
      width: 30%; } }

.is-horizontal .progress {
  display: block; }

.progress__bar {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: var(--color-white);
  transform-origin: left;
  transform: scaleX(0); }

.today {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 10vh var(--grid-1) 0;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden; }
  @media only screen and (min-width: 480px) {
    .today {
      position: relative;
      padding: 30vh var(--grid-1) 20vh;
      max-height: none;
      overflow: visible; } }
  @media only screen and (min-width: 768px) {
    .today {
      padding: 15vh var(--grid-1) 10vh; } }

.today__container {
  display: grid;
  grid-template-rows: repeat(1, 1fr);
  grid-auto-flow: column;
  white-space: nowrap; }
  @media only screen and (min-width: 768px) {
    .today__container {
      grid-template-rows: repeat(2, 1fr);
      padding-top: var(--grid-050); } }

.today__message {
  position: absolute;
  top: 50%;
  left: 50%;
  color: var(--color-white);
  transform: translate(-50%, -50%); }

.today__content {
  display: flex;
  align-items: flex-end;
  will-change: transform;
  backface-visibility: hidden;
  transform-style: preserve-3d; }
  @media only screen and (min-width: 768px) {
    .today__content:first-child {
      margin-left: 0; }
    .today__content:nth-child(2) {
      margin-left: var(--grid-1); }
    .today__content:nth-child(even) {
      align-items: start; } }

.today__element {
  display: inline-block;
  position: relative;
  margin-right: 1.389vw;
  transition: opacity 500ms; }
  .today__element:last-child {
    margin-right: 0; }
  @media (hover: hover) {
    .today__element:hover {
      opacity: 1 !important; } }
  .today__element:nth-child(odd) {
    width: calc(var(--grid-9) * 0.6); }
    @media only screen and (min-width: 480px) {
      .today__element:nth-child(odd) {
        width: calc(var(--grid-3) * 0.75); } }
    @media only screen and (min-width: 768px) {
      .today__element:nth-child(odd) {
        width: calc(var(--grid-2) * 0.6); } }
  .today__element:nth-child(even) {
    width: calc(var(--grid-9) * 0.75); }
    @media only screen and (min-width: 480px) {
      .today__element:nth-child(even) {
        width: calc(var(--grid-3)); } }
    @media only screen and (min-width: 768px) {
      .today__element:nth-child(even) {
        width: calc(var(--grid-2) * 0.75); } }

.today__content:first-child .today__element {
  margin-bottom: 0.694vw; }

.today__content:last-child .today__element {
  margin-top: 0.694vw; }

@media (hover: hover) {
  .today__container:hover .today__element {
    opacity: 0.5; } }

.today__container.is-disabled .today__element {
  opacity: 0.5 !important; }

.today__figure {
  position: relative;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  will-change: transform, opacity; }
  @media only screen and (min-width: 768px) {
    .today__figure {
      opacity: 0; } }

.today__pre-image {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 2px;
  background-color: var(--color-white);
  transform: translateY(-50%);
  will-change: transform, opacity; }
  @media only screen and (min-width: 768px) {
    .today__pre-image {
      opacity: 0; } }

.today__image {
  pointer-events: none;
  will-change: transform; }

.today__figure-caption {
  position: relative;
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  transition: opacity 300ms var(--ease-expo-in-out); }

@media (hover: hover) {
  .today__element:hover .today__figure-caption {
    opacity: 1; } }

.today__figure-title {
  position: absolute;
  bottom: var(--spacing-45);
  left: -30%;
  margin: 0;
  width: 130%;
  font-size: 2.778vw;
  line-height: 3.333vw;
  color: var(--color-white);
  white-space: pre-wrap; }

.today__figure-category {
  position: absolute;
  bottom: var(--grid-0125);
  left: var(--grid-0125);
  color: var(--color-white); }

@media only screen and (max-width: 767px) {
  .banner {
    margin: 0; } }

.banner__wrap {
  grid-column: span 12; }
  @media only screen and (max-width: 479px) {
    .banner__wrap {
      --aspect-ratio: 1 !important; } }

.banner--contained .banner__wrap {
  grid-column: span 12; }
  @media only screen and (min-width: 768px) {
    .banner--contained .banner__wrap {
      grid-column: 2 / 12; } }

@media only screen and (max-width: 767px) {
  .banner + .component--dark {
    margin-top: calc(var(--spacing-120) * -1); } }

.slideshow {
  overflow: hidden;
  cursor: grab;
  --slidesTotal: 0; }

.slideshow.is-grabbing {
  cursor: grabbing; }

.slideshow__container {
  padding: 0 var(--grid-2) 0; }

.slideshow--slider .slideshow__container {
  grid-template-columns: repeat(var(--slidesTotal), var(--grid-8));
  grid-gap: var(--grid-1); }

.slideshow--carousel .slideshow__container {
  grid-template-columns: repeat(var(--slidesTotal), var(--grid-8));
  grid-gap: var(--grid-1); }
  @media only screen and (min-width: 768px) {
    .slideshow--carousel .slideshow__container {
      grid-template-columns: repeat(var(--slidesTotal), var(--grid-4));
      grid-gap: var(--grid-050); } }

.slideshow__heading {
  margin: 0 0 var(--grid-1) var(--grid-1); }
  @media only screen and (min-width: 768px) {
    .slideshow__heading {
      margin: 0 0 var(--grid-050) var(--grid-3);
      width: var(--grid-5); } }

.slideshow__slide {
  position: relative;
  pointer-events: all; }
  .slideshow__slide:last-child::after {
    content: '';
    display: block;
    margin-top: -1px;
    padding-right: var(--grid-2);
    height: 1px; }

.slideshow--slider .slideshow__slide:last-child::after {
  width: var(--grid-8); }

.slideshow--carousel .slideshow__slide:last-child::after {
  width: var(--grid-8); }
  @media only screen and (min-width: 768px) {
    .slideshow--carousel .slideshow__slide:last-child::after {
      width: var(--grid-4); } }

.slideshow__slide-img-wrap {
  will-change: transform;
  transition: transform 1200ms var(--ease-expo-out); }
  @media only screen and (max-width: 479px) {
    .slideshow__slide-img-wrap {
      --aspect-ratio: 1 !important; } }

.slideshow.is-grabbing .slideshow__slide-img-wrap {
  transform: scale(0.9); }

.slideshow__slide-order-wrap {
  position: absolute; }

.slideshow--slider .slideshow__slide-order-wrap {
  left: 0;
  top: calc(100% + var(--grid-3) + var(--grid-050) + 15px); }
  @media only screen and (min-width: 768px) {
    .slideshow--slider .slideshow__slide-order-wrap {
      top: 0;
      right: calc(100% + 5px);
      left: auto; } }

.slideshow--carousel .slideshow__slide-order-wrap {
  right: 0;
  top: calc(100% + 5px); }

.slideshow.slideshow.is-grabbing .slideshow__slide-order-wrap {
  opacity: 0; }

@media only screen and (min-width: 768px) {
  .slideshow--slider .slideshow__slide-order {
    display: block;
    writing-mode: vertical-rl;
    white-space: nowrap;
    transform: rotate(180deg); } }

.slideshow__slide-content {
  will-change: opacity;
  transition: opacity 600ms var(--ease-expo-out); }

.slideshow--slider .slideshow__slide-content {
  float: right;
  margin: calc(var(--grid-3) + var(--grid-050)) 0 0;
  padding: 0 var(--grid-050) 0 var(--grid-1);
  width: var(--grid-8); }
  @media only screen and (min-width: 768px) {
    .slideshow--slider .slideshow__slide-content {
      margin: var(--grid-075) 0 0;
      width: var(--grid-6); } }

.slideshow.is-grabbing .slideshow__slide-content {
  opacity: 0; }

.slideshow--slider .slideshow__slide-heading {
  position: absolute;
  top: calc(100% - var(--grid-1));
  left: var(--grid-050);
  width: var(--grid-7); }
  @media only screen and (min-width: 768px) {
    .slideshow--slider .slideshow__slide-heading {
      top: auto;
      bottom: calc(var(--grid-025) * -1);
      left: var(--grid-1);
      width: var(--grid-4); } }
  @media only screen and (max-width: 767px) {
    .slideshow--slider .slideshow__slide-heading br {
      display: none; } }

.slideshow--carousel .slideshow__slide-heading {
  margin: var(--grid-050) 0 0;
  font-weight: var(--font-w-semibold); }

.slideshow--carousel .slideshow__slide-text {
  margin: var(--grid-025) 0 0; }

.text-image {
  position: relative; }

@media only screen and (max-width: 479px) {
  .text-image__img-wrap {
    --aspect-ratio: 1 !important; } }

.text-image--layout1 .text-image__container {
  grid-template-areas: '. subheading subheading subheading subheading subheading subheading subheading subheading subheading subheading .' 'heading heading heading heading heading heading heading heading heading heading heading heading' '. . intro intro intro intro intro intro intro intro . .' 'image image image image image image image image image image caption .' '. text text text text text text text text text text .'; }
  @media only screen and (min-width: 768px) {
    .text-image--layout1 .text-image__container {
      grid-template-areas: '. . . . subheading subheading subheading subheading . . . .' '. heading heading heading heading heading heading heading heading heading . .' '. intro intro . image image image image image image . .' '. . . . text text text text . . . .'; } }

.text-image--layout1.text-image--heading-bottom .text-image__container {
  grid-template-areas: '. subheading subheading subheading subheading subheading subheading subheading subheading subheading subheading .' '. . intro intro intro intro intro intro intro intro . .' 'image image image image image image image image image image caption .' 'heading heading heading heading heading heading heading heading heading heading heading heading' '. text text text text text text text text text text .'; }
  @media only screen and (min-width: 768px) {
    .text-image--layout1.text-image--heading-bottom .text-image__container {
      grid-template-areas: '. . . . subheading subheading subheading subheading . . . .' '. intro intro . image image image image image image . .' '. heading heading heading heading heading heading heading heading heading . .' '. . . . text text text text . . . .'; } }

.text-image--layout1 .text-image__subheading {
  grid-area: subheading; }

.text-image--layout1 .text-image__intro {
  grid-area: intro;
  align-self: center;
  margin: 0; }

.text-image--layout1.text-image--heading-bottom .text-image__intro {
  align-self: start; }

.text-image--layout1 .text-image__img-wrap {
  grid-area: image;
  margin: var(--spacing-15) 0 0; }
  @media only screen and (min-width: 768px) {
    .text-image--layout1 .text-image__img-wrap {
      margin: 0; } }

.text-image--layout1 .text-image__heading {
  grid-area: heading; }
  @media only screen and (max-width: 479px) {
    .text-image--layout1 .text-image__heading {
      margin: 0 0 0 var(--grid-050);
      font-size: var(--font-s-heading-xl);
      line-height: var(--lh-heading-xl); } }

.text-image--layout1 .text-image__text {
  grid-area: text;
  margin: var(--spacing-15) 0 0; }
  @media only screen and (min-width: 768px) {
    .text-image--layout1 .text-image__text {
      margin: 0; } }

.text-image--layout1 .text-image__caption-wrap {
  grid-area: caption;
  align-self: center;
  justify-self: flex-end; }
  @media only screen and (min-width: 768px) {
    .text-image--layout1 .text-image__caption-wrap {
      position: absolute;
      top: 35%;
      right: var(--grid-1); } }

@media only screen and (min-width: 768px) {
  .text-image--layout1.text-image--heading-bottom .text-image__caption-wrap {
    top: 50%; } }

.text-image--layout1 .text-image__caption {
  display: block;
  writing-mode: vertical-rl;
  white-space: nowrap; }

@media only screen and (max-width: 767px) {
  .text-image--layout2.component--dark {
    padding-bottom: 0; } }

@media only screen and (max-width: 767px) {
  .text-image--layout2 + .component--dark {
    margin-top: 0; } }

.text-image--layout2 .text-image__col {
  grid-column: span 12; }
  .text-image--layout2 .text-image__col:first-child {
    order: 0; }
    @media only screen and (min-width: 768px) {
      .text-image--layout2 .text-image__col:first-child {
        grid-column: 7 / 11;
        order: 1; } }
  .text-image--layout2 .text-image__col:nth-child(2) {
    display: grid;
    order: 1; }
    @media only screen and (min-width: 768px) {
      .text-image--layout2 .text-image__col:nth-child(2) {
        grid-column: 2 / 6;
        order: 0; } }
  @media only screen and (min-width: 768px) {
    .text-image--layout2 .text-image__col {
      grid-column: 2 / 6; } }

.text-image--layout2 .text-image__img-container {
  position: relative;
  margin: var(--spacing-60) 0 0; }
  @media only screen and (min-width: 768px) {
    .text-image--layout2 .text-image__img-container {
      margin: var(--spacing-120) 0 0;
      width: var(--grid-3); } }

@media only screen and (max-width: 767px) {
  .text-image--layout2 .text-image__img-wrap--1 {
    width: var(--grid-9); } }

.text-image--layout2 .text-image__img-wrap--2 {
  order: 1;
  margin: var(--spacing-60) 0 0; }
  @media only screen and (min-width: 768px) {
    .text-image--layout2 .text-image__img-wrap--2 {
      order: 0; } }

@media only screen and (max-width: 767px) {
  .text-image--layout2 .text-image__heading {
    padding: 0 var(--outer-gutter); } }

@media only screen and (max-width: 767px) {
  .text-image--layout2 .text-image__text {
    padding: 0 var(--outer-gutter); } }

.text-image--layout2 .text-image__text--1 {
  margin: var(--spacing-45) 0 0; }
  @media only screen and (min-width: 768px) {
    .text-image--layout2 .text-image__text--1 {
      margin: var(--spacing-60) 0 0; } }

.text-image--layout2 .text-image__text--2 {
  order: 0; }
  @media only screen and (min-width: 768px) {
    .text-image--layout2 .text-image__text--2 {
      order: 1;
      margin: var(--spacing-120) 0 0; } }

.text-image--layout2 .text-image__caption-wrap {
  position: absolute;
  top: 50%;
  right: var(--grid-1);
  transform: translateY(-50%); }
  @media only screen and (min-width: 768px) {
    .text-image--layout2 .text-image__caption-wrap {
      top: 0;
      right: calc(var(--spacing-60) * -1);
      transform: none; } }

.text-image--layout2 .text-image__caption {
  display: block;
  writing-mode: vertical-rl;
  white-space: nowrap; }

.text-image--layout3 .text-image__container {
  grid-template-areas: '. intro intro intro intro intro intro intro intro intro intro .' '. . . text1 text1 text1 text1 text1 text1 text1 text1 .' '. . . image1 image1 image1 image1 image1 image1 image1 image1 image1' '. text2 text2 text2 text2 text2 text2 text2 text2 . . .' '. image2 image2 image2 image2 image2 image2 image2 image2 image2 image2 image2'; }
  @media only screen and (min-width: 768px) {
    .text-image--layout3 .text-image__container {
      grid-template-areas: '. intro intro intro intro intro intro intro . . . .' '. . . text1 text1 text1 . . . . . .' '. . . image1 image1 image1 . image2 image2 image2 image2 .' '. . . . . . . text2 text2 text2 . .'; } }

.text-image--layout3 .text-image__intro {
  grid-area: intro; }

.text-image--layout3 .text-image__text--1 {
  grid-area: text1; }

.text-image--layout3 .text-image__text--2 {
  grid-area: text2; }

@media only screen and (max-width: 479px) {
  .text-image--layout3 .text-image__img-wrap {
    --aspect-ratio: 7/9 !important; } }

.text-image--layout3 .text-image__img-wrap--1 {
  grid-area: image1; }

.text-image--layout3 .text-image__img-wrap--2 {
  grid-area: image2; }

.text-image--layout3 .text-image__order {
  position: absolute; }
  @media only screen and (min-width: 768px) {
    .text-image--layout3 .text-image__order {
      top: calc(100% + var(--grid-0125));
      right: 0; } }

@media only screen and (max-width: 767px) {
  .text-image--layout3 .text-image__img-wrap--1 .text-image__order {
    right: calc(100% + var(--grid-025));
    bottom: -6px; } }

@media only screen and (max-width: 767px) {
  .text-image--layout3 .text-image__img-wrap--2 .text-image__order {
    left: 0;
    top: calc(100% + var(--grid-025)); } }

.text-image--layout3 .text-image__scroll-text {
  position: absolute;
  top: 300px;
  z-index: 2; }

.text h3 {
  margin-bottom: var(--grid-050);
  font-size: var(--font-s-heading-rg);
  line-height: var(--lh-heading-rg); }
  @media only screen and (min-width: 768px) {
    .text h3 {
      margin-bottom: var(--grid-025); } }

.text__col {
  grid-column: 2 / 12; }
  @media only screen and (min-width: 768px) {
    .text__col {
      grid-column: 3 / 8; } }

.title:not(.component--dark) {
  margin: var(--spacing-150) 0; }

@media only screen and (max-width: 767px) {
  .title.component--dark {
    padding: var(--spacing-150) 0; } }

.title__container {
  grid-row-gap: 0; }
  @media only screen and (min-width: 768px) {
    .title__container {
      grid-template-areas: 'caption . heading heading heading heading heading heading heading heading'; } }

.title__caption-wrap {
  grid-column: 1 / 11;
  position: absolute;
  bottom: calc(var(--spacing-75) * -1);
  right: var(--grid-1);
  z-index: 1;
  text-align: right; }
  @media only screen and (min-width: 768px) {
    .title__caption-wrap {
      grid-area: caption;
      align-self: end;
      justify-self: end;
      order: 0;
      position: relative;
      bottom: auto;
      right: auto;
      text-align: left; } }

@media only screen and (max-width: 767px) {
  .title.component--dark .title__caption-wrap {
    bottom: var(--spacing-75); } }

.title__caption {
  display: block; }
  @media only screen and (min-width: 768px) {
    .title__caption {
      writing-mode: vertical-rl;
      white-space: nowrap;
      transform: rotate(180deg); } }

.title__heading {
  grid-column: 1 / 11; }
  @media only screen and (min-width: 768px) {
    .title__heading {
      grid-area: heading;
      order: 1;
      padding-bottom: 1vw; } }

.title-text {
  overflow: hidden; }

.title-text__content {
  grid-column: span 12; }
  @media only screen and (min-width: 768px) {
    .title-text__content {
      grid-column: span 5; } }

.title-text__heading {
  margin-bottom: var(--grid-050); }
  @media only screen and (min-width: 768px) {
    .title-text__heading {
      margin-bottom: var(--grid-025); } }

@media only screen and (min-width: 768px) {
  .title-text__richtext {
    margin: 0 var(--spacing-60); } }

@media only screen and (min-width: 768px) {
  .title-text__link {
    margin: var(--grid-0375) var(--grid-050) 0 0; } }


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