:root {
  --main-padding: 10.48px;
}

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

* {
  margin: 0;
}

body {
  line-height: 1.5;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

#root,
#__next {
  isolation: isolate;
}

a,
a:hover,
a:visited {
  text-decoration: none;
  color: inherit;
}

html,
body {
  overflow: -moz-scrollbars-none;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html {
  scroll-behavior: smooth;
}

img:not([src]) {
  visibility: hidden;
}

img[alt] {
  text-indent: -9999px;
  font-size: 0;
  color: transparent;
}

body {
  font-family: "Lexend Exa", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 10.48px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #333;
}

h1, h2, h3 {
  font-size: 10px;
  font-weight: inherit;
  text-wrap: balance;
}

.mono {
  letter-spacing: 0;
  font-family: "Fragment Mono", monospace;
  font-weight: 400;
  font-style: normal;
  font-size: 10px;
}

.glyph {
  letter-spacing: 0;
  color: rgba(0, 0, 0, 0);
  padding: 0 0.15em;
}

.active .glyph {
  color: #333;
}

.copy {
  text-transform: none;
  letter-spacing: 0.25px;
  color: #555555;
  font-family: "Fragment Mono", monospace;
  font-weight: 400;
  font-style: normal;
  font-size: 11px;
  line-height: 1.65em;
  text-wrap: pretty;
}
.copy p {
  text-indent: 6em;
  overflow-wrap: break-word;
}
@media screen and (max-width: 768px) {
  .copy p {
    text-indent: 4em;
  }
}
@media screen and (max-width: 576px) {
  .copy p {
    text-indent: 2em;
  }
}
.copy p + p {
  margin-top: 1.65em;
}
.copy h1, .copy h2, .copy h3, .copy h4, .copy h5 {
  letter-spacing: 0.25px;
}

sup {
  display: inline;
  line-height: initial;
  font-size: 70%;
}

.about-text.copy, .global .copy {
  max-width: 635px;
  padding-right: 1em;
}
.about-text.copy h1, .global .copy h1 {
  text-transform: none;
  font-family: "Fragment Mono", monospace;
  font-weight: 400;
  font-style: normal;
  font-size: 11px;
  line-height: 1.65em;
  margin-bottom: 1.65em;
}
.about-text.copy h1:before, .global .copy h1:before {
  content: "(";
}
.about-text.copy h1:after, .global .copy h1:after {
  content: ")";
}

.global .copy {
  margin: 0 auto;
}
.global .copy p + h1 {
  margin-top: 1.65em;
}
.global .copy p {
  text-indent: 0;
}

main {
  padding: var(--main-padding);
  position: relative;
  margin-bottom: 40px;
  background-color: white;
  min-height: calc(100vh - 80px);
}
main.global {
  margin-top: 10em;
}
@media screen and (max-width: 768px) {
  main.global {
    margin-top: 7em;
  }
}

body {
  overflow: visible;
}

.drawer-blocker {
  display: none;
}
@media (hover: hover) {
  .drawer-blocker {
    position: fixed;
    inset: 0;
    background: transparent;
    z-index: 999999;
    pointer-events: all; /* this is key to blocking clicks */
    cursor: url("data:image/svg+xml,%3Csvg width='22' height='9' viewBox='0 0 22 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.337 0.5995H2.294V1.2265H1.021V8.133H2.294V8.76H0.337V0.5995ZM13.1095 8L10.668 4.865L7.85595 1.35H8.81545L11.0955 4.276L14.0785 8H13.1095ZM7.80845 8L10.573 4.409L11.0195 4.9505L8.71095 8H7.80845ZM11.257 4.846L10.839 4.3235L13.062 1.35H13.974L11.257 4.846ZM21.536 8.76H19.579V8.133H20.852V1.2265H19.579V0.5995H21.536V8.76Z' fill='%233A3A3A'/%3E%3C/svg%3E%0A") 4 4, auto;
  }
}

body.no-scroll .drawer-blocker {
  display: block;
}

.pre-home {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999999;
  background-color: #F6F5C8;
  cursor: url("data:image/svg+xml,%3Csvg width='22' height='9' viewBox='0 0 22 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.337 0.5995H2.294V1.2265H1.021V8.133H2.294V8.76H0.337V0.5995ZM13.1095 8L10.668 4.865L7.85595 1.35H8.81545L11.0955 4.276L14.0785 8H13.1095ZM7.80845 8L10.573 4.409L11.0195 4.9505L8.71095 8H7.80845ZM11.257 4.846L10.839 4.3235L13.062 1.35H13.974L11.257 4.846ZM21.536 8.76H19.579V8.133H20.852V1.2265H19.579V0.5995H21.536V8.76Z' fill='%233A3A3A'/%3E%3C/svg%3E%0A") 4 4, auto;
  padding: var(--main-padding);
}
.pre-home_content {
  display: flex;
}
@media screen and (max-width: 768px) {
  .pre-home_content {
    flex-direction: column;
  }
}
.pre-home_text {
  line-height: 2.5em;
  margin-top: -5px;
  z-index: 999999999;
}
.pre-home_content {
  visibility: hidden;
}

.menu-button {
  padding: var(--main-padding) 0;
  user-select: none;
  height: 40px;
}
.menu-button .glyph {
  color: #333;
  font-size: 100%;
}
@media screen and (max-width: 1024px) {
  .menu-button {
    padding: var(--main-padding);
  }
}

#ct {
  width: 54px;
  overflow: visible;
  display: inline-block;
  white-space: nowrap;
}

.lang-switcher a:first-child {
  margin-right: var(--main-padding);
}
.lang-switcher a {
  cursor: pointer;
}
.lang-switcher a .glyph {
  padding: 0 3px;
  font-size: 90%;
}
@media screen and (max-width: 768px) {
  .lang-switcher a .glyph {
    font-size: 100%;
  }
}
.lang-switcher a:not(.active):hover .glyph {
  color: #333;
}

.mobile-lang .glyph {
  padding: 0 3px;
}

input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  width: 171px;
}
input[type=range]:active {
  cursor: grabbing !important;
}

input[type=range]::-webkit-slider-runnable-track {
  background: black;
  height: 0.5px;
}

input[type=range]::-moz-range-track {
  background: #333;
  height: 0.5px;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  cursor: grab;
  appearance: none;
  margin-top: -21px;
  background-color: transparent;
  height: 30px;
  width: 30px;
  background-image: url("../img/ui/thumb.svg");
  background-repeat: no-repeat;
  background-position: center;
  box-shadow: none;
}
input[type=range]::-webkit-slider-thumb:active {
  cursor: grabbing;
}

input[type=range]::-moz-range-thumb {
  cursor: grab;
  border: none;
  border-radius: 0;
  background-color: transparent;
  height: 30px;
  width: 30px;
  background-image: url("../img/ui/thumb.svg");
  background-repeat: no-repeat;
  background-position: center top 2px;
}
input[type=range]::-moz-range-thumb:active {
  cursor: grabbing;
}

.controls {
  padding-right: var(--main-padding);
}
.controls label {
  display: block;
  margin-bottom: calc(var(--main-padding) * 2);
  position: relative;
  top: -1px;
  user-select: none;
}
@media screen and (max-width: 768px) {
  .controls label {
    margin-bottom: 4px;
    margin-top: var(--main-padding);
  }
}
@media screen and (max-width: 1600px) {
  .controls label {
    font-size: 10px;
  }
}

@media (hover: none) {
  .slider-track {
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    position: relative;
    overflow-x: scroll;
    gap: 20px;
    scrollbar-width: none;
    height: 100vh;
  }
  .slider-track::-webkit-scrollbar {
    display: none;
  }
  .slide {
    scroll-snap-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    scroll-snap-stop: always;
    width: 100vw;
    height: 100vh;
  }
  .slide:first-child {
    padding-left: 20px;
  }
}
@media screen and (hover: none) and (max-width: 576px) {
  .slide {
    height: 90vh;
  }
}
@media (hover: none) {
  .slider-nav {
    display: none;
  }
  .slider-counter {
    position: absolute;
    bottom: var(--main-padding);
    right: var(--main-padding);
    min-width: 75px;
    text-align: right;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (hover: none) and (max-width: 768px) {
  .slider-counter {
    font-size: 9px;
  }
}
@media (hover: none) {
  .slider-counter:before {
    content: "[";
    text-align: left;
  }
  .slider-counter:after {
    content: "]";
    text-align: right;
  }
  .slider-counter:before, .slider-counter:after {
    letter-spacing: 0;
    font-family: "Fragment Mono", monospace;
    font-weight: 400;
    font-style: normal;
    font-size: 10px;
    display: inline-block;
  }
}
@media (hover: hover) {
  .slider-track {
    display: flex;
    align-items: center;
    width: 10000vw;
    height: 100vh;
  }
  .slide {
    flex: 0 0 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .slider-counter {
    display: none;
  }
}
.slide img {
  max-height: 100vh;
  object-fit: contain;
  max-width: 66.6vw;
}
@media screen and (min-width: 1920px) {
  .slide img {
    max-width: 50vw;
  }
}

.slider-numbers {
  position: absolute;
  bottom: var(--main-padding);
  left: var(--main-padding);
  display: flex;
  margin-left: 60px;
}
@media (hover: none) {
  .slider-numbers {
    display: none;
  }
}

.slider-numbers li {
  list-style: none;
  cursor: pointer;
  padding: 0 5px;
}
.slider-numbers li:before {
  content: "";
  display: inline-block;
  width: 2.5px;
  height: 2.5px;
  border-radius: 100%;
  background-color: #333;
  position: relative;
  bottom: 2px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.slider-numbers li.active {
  cursor: default;
}
.slider-numbers li.active:before {
  opacity: 1;
}
.slider-numbers li:hover::before {
  opacity: 1;
}

.slider-nav {
  position: absolute;
  top: 40px;
  width: 50%;
  height: calc(100% - 80px);
  background: transparent;
  border: none;
  z-index: 100;
}

.slider-nav.prev {
  left: 0;
}

.slider-nav.next {
  right: 0;
}

body.fr .slider-nav.prev {
  cursor: url("data:image/svg+xml,%3Csvg width='58' height='11' viewBox='0 0 58 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.46 2.21H2.52V2.87H1.18V10.14H2.52V10.8H0.46V2.21ZM11.1747 10V3H14.4147C14.8014 3 15.148 3.09 15.4547 3.27C15.768 3.45 16.0147 3.7 16.1947 4.02C16.3814 4.33333 16.4747 4.68667 16.4747 5.08C16.4747 5.5 16.378 5.87667 16.1847 6.21C15.998 6.53667 15.7447 6.79667 15.4247 6.99C15.1114 7.18333 14.758 7.28 14.3647 7.28H11.9547V10H11.1747ZM11.9547 6.52H14.3647C14.6047 6.52 14.8214 6.45667 15.0147 6.33C15.2147 6.20333 15.3714 6.03333 15.4847 5.82C15.598 5.6 15.6547 5.35 15.6547 5.07C15.6547 4.81667 15.598 4.59333 15.4847 4.4C15.3714 4.2 15.2147 4.04333 15.0147 3.93C14.8214 3.81667 14.6047 3.76 14.3647 3.76H11.9547V6.52ZM19.6747 10V3H22.8547C23.268 3 23.6414 3.09333 23.9747 3.28C24.308 3.46667 24.5714 3.72333 24.7647 4.05C24.958 4.37 25.0547 4.73333 25.0547 5.14C25.0547 5.54 24.9547 5.9 24.7547 6.22C24.5614 6.54 24.2947 6.79333 23.9547 6.98C23.6147 7.16667 23.238 7.26 22.8247 7.26H20.4547V10H19.6747ZM24.4447 10L22.4447 6.92L23.2147 6.67L25.3947 10H24.4447ZM20.4547 6.5H22.8247C23.1047 6.5 23.348 6.44333 23.5547 6.33C23.768 6.21 23.9347 6.04667 24.0547 5.84C24.1747 5.63333 24.2347 5.4 24.2347 5.14C24.2347 4.88 24.168 4.64667 24.0347 4.44C23.908 4.22667 23.728 4.06 23.4947 3.94C23.268 3.82 23.0047 3.76 22.7047 3.76H20.4547V6.5ZM28.536 10V3H33.336V3.76H29.316V9.24H33.316V10H28.536ZM28.926 6.78V6.02H32.776V6.78H28.926ZM30.366 2.43L30.136 2.01L31.806 0.96L32.216 1.66L30.366 2.43ZM39.9326 10.1C39.3992 10.1 38.9059 10.0133 38.4526 9.84C37.9992 9.66 37.6026 9.41 37.2626 9.09C36.9226 8.76333 36.6592 8.38333 36.4726 7.95C36.2926 7.51 36.2026 7.02667 36.2026 6.5C36.2026 5.98667 36.2959 5.51667 36.4826 5.09C36.6692 4.65667 36.9292 4.28 37.2626 3.96C37.6026 3.64 37.9959 3.39333 38.4426 3.22C38.8959 3.04 39.3826 2.95 39.9026 2.95C40.2692 2.95 40.6292 3.00333 40.9826 3.11C41.3359 3.21667 41.6592 3.36 41.9526 3.54C42.2526 3.71333 42.4959 3.91 42.6826 4.13L42.1726 4.75C41.9859 4.53667 41.7692 4.35667 41.5226 4.21C41.2826 4.05667 41.0226 3.93667 40.7426 3.85C40.4626 3.76333 40.1726 3.72 39.8726 3.72C39.4792 3.72 39.1059 3.78667 38.7526 3.92C38.3992 4.05333 38.0926 4.24667 37.8326 4.5C37.5792 4.74667 37.3792 5.04 37.2326 5.38C37.0859 5.72 37.0126 6.09333 37.0126 6.5C37.0126 6.92 37.0859 7.30667 37.2326 7.66C37.3859 8.00667 37.5959 8.30333 37.8626 8.55C38.1359 8.79667 38.4526 8.99 38.8126 9.13C39.1726 9.26333 39.5659 9.33 39.9926 9.33C40.2992 9.33 40.5892 9.29 40.8626 9.21C41.1426 9.12333 41.3926 9.01333 41.6126 8.88C41.8392 8.74 42.0326 8.58333 42.1926 8.41L42.5826 9.07C42.4159 9.25 42.1926 9.42 41.9126 9.58C41.6326 9.73333 41.3192 9.86 40.9726 9.96C40.6326 10.0533 40.2859 10.1 39.9326 10.1ZM46.1413 10.1C45.928 10.1 45.7647 10.0467 45.6513 9.94C45.5447 9.83333 45.4913 9.68 45.4913 9.48C45.4913 9.30667 45.548 9.16 45.6613 9.04C45.7747 8.92 45.9347 8.86 46.1413 8.86C46.3547 8.86 46.5147 8.91667 46.6213 9.03C46.7347 9.13667 46.7913 9.28667 46.7913 9.48C46.7913 9.65333 46.7347 9.8 46.6213 9.92C46.508 10.04 46.348 10.1 46.1413 10.1ZM57.2688 10.8H55.2088V10.14H56.5488V2.87H55.2088V2.21H57.2688V10.8Z' fill='%233A3A3A'/%3E%3C/svg%3E") 4 4, w-resize !important;
}

body.fr .slider-nav.next {
  cursor: url("data:image/svg+xml,%3Csvg width='56' height='9' viewBox='0 0 56 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.46 0.21H2.52V0.869999H1.18V8.14H2.52V8.8H0.46V0.21ZM13.5247 8.1C13.118 8.1 12.738 8.05 12.3847 7.95C12.038 7.85 11.718 7.7 11.4247 7.5C11.1314 7.3 10.868 7.05333 10.6347 6.76L11.1547 6.14C11.508 6.58 11.878 6.89667 12.2647 7.09C12.658 7.27667 13.0914 7.37 13.5647 7.37C13.918 7.37 14.2414 7.32 14.5347 7.22C14.828 7.12 15.058 6.97333 15.2247 6.78C15.398 6.58667 15.4847 6.36333 15.4847 6.11C15.4847 5.93667 15.4447 5.79 15.3647 5.67C15.2847 5.54333 15.1747 5.43667 15.0347 5.35C14.9014 5.26333 14.7447 5.19 14.5647 5.13C14.3847 5.06333 14.198 5.01 14.0047 4.97C13.8114 4.92333 13.6147 4.88 13.4147 4.84C13.048 4.76667 12.7147 4.68 12.4147 4.58C12.1147 4.48 11.8547 4.35333 11.6347 4.2C11.4214 4.04667 11.258 3.86333 11.1447 3.65C11.0314 3.43667 10.9747 3.17667 10.9747 2.87C10.9747 2.58333 11.038 2.32 11.1647 2.08C11.298 1.84 11.4814 1.63667 11.7147 1.47C11.948 1.29667 12.2214 1.16333 12.5347 1.07C12.848 0.976666 13.1847 0.93 13.5447 0.93C13.9447 0.93 14.3047 0.98 14.6247 1.08C14.9447 1.17333 15.228 1.31333 15.4747 1.5C15.7214 1.68 15.9347 1.90333 16.1147 2.17L15.5847 2.73C15.418 2.50333 15.2314 2.31 15.0247 2.15C14.818 1.98333 14.588 1.86 14.3347 1.78C14.088 1.69333 13.8214 1.65 13.5347 1.65C13.2014 1.65 12.9014 1.7 12.6347 1.8C12.3747 1.9 12.168 2.04 12.0147 2.22C11.8614 2.39333 11.7847 2.59667 11.7847 2.83C11.7847 3.01667 11.828 3.18 11.9147 3.32C12.0014 3.45333 12.128 3.56667 12.2947 3.66C12.4614 3.75333 12.668 3.83667 12.9147 3.91C13.168 3.97667 13.448 4.03667 13.7547 4.09C14.1014 4.15667 14.428 4.23667 14.7347 4.33C15.0414 4.42333 15.3114 4.54 15.5447 4.68C15.7847 4.82 15.968 5 16.0947 5.22C16.228 5.43333 16.2947 5.69333 16.2947 6C16.2947 6.41333 16.178 6.78 15.9447 7.1C15.718 7.41333 15.398 7.66 14.9847 7.84C14.5714 8.01333 14.0847 8.1 13.5247 8.1ZM22.4589 8.07C21.8656 8.07 21.3422 7.94 20.8889 7.68C20.4356 7.42 20.0789 7.06333 19.8189 6.61C19.5656 6.15 19.4389 5.63 19.4389 5.05V1H20.2189V4.99C20.2189 5.43 20.3156 5.82667 20.5089 6.18C20.7089 6.52667 20.9756 6.8 21.3089 7C21.6489 7.2 22.0322 7.3 22.4589 7.3C22.9056 7.3 23.2989 7.2 23.6389 7C23.9856 6.8 24.2556 6.52667 24.4489 6.18C24.6489 5.82667 24.7489 5.43 24.7489 4.99V1H25.4989V5.06C25.4989 5.63333 25.3689 6.15 25.1089 6.61C24.8556 7.06333 24.4989 7.42 24.0389 7.68C23.5856 7.94 23.0589 8.07 22.4589 8.07ZM28.9903 8V7.24H30.4003V1.76H28.9903V1H32.5903V1.76H31.1803V7.24H32.5903V8H28.9903ZM38.2078 8L35.2778 1H36.1578L38.0078 5.45C38.0811 5.64333 38.1545 5.83 38.2278 6.01C38.3011 6.18333 38.3711 6.35333 38.4378 6.52C38.5111 6.68667 38.5778 6.85333 38.6378 7.02C38.7045 7.18667 38.7678 7.36333 38.8278 7.55H38.5478C38.6345 7.29667 38.7211 7.05667 38.8078 6.83C38.8945 6.59667 38.9811 6.37 39.0678 6.15C39.1545 5.92333 39.2511 5.68 39.3578 5.42L41.1778 1H42.0678L39.0878 8H38.2078ZM44.3738 8.1C44.1604 8.1 43.9971 8.04667 43.8838 7.94C43.7771 7.83333 43.7238 7.68 43.7238 7.48C43.7238 7.30667 43.7804 7.16 43.8938 7.04C44.0071 6.92 44.1671 6.86 44.3738 6.86C44.5871 6.86 44.7471 6.91667 44.8538 7.03C44.9671 7.13667 45.0238 7.28667 45.0238 7.48C45.0238 7.65333 44.9671 7.8 44.8538 7.92C44.7404 8.04 44.5804 8.1 44.3738 8.1ZM55.5013 8.8H53.4413V8.14H54.7813V0.869999H53.4413V0.21H55.5013V8.8Z' fill='%233A3A3A'/%3E%3C/svg%3E") 4 4, e-resize !important;
}

body.en .slider-nav.prev {
  cursor: url("data:image/svg+xml,%3Csvg width='57' height='9' viewBox='0 0 57 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.46 0.21H2.52V0.869999H1.18V8.14H2.52V8.8H0.46V0.21ZM11.1747 8V1H14.4147C14.8014 1 15.148 1.09 15.4547 1.27C15.768 1.45 16.0147 1.7 16.1947 2.02C16.3814 2.33333 16.4747 2.68667 16.4747 3.08C16.4747 3.5 16.378 3.87667 16.1847 4.21C15.998 4.53667 15.7447 4.79667 15.4247 4.99C15.1114 5.18333 14.758 5.28 14.3647 5.28H11.9547V8H11.1747ZM11.9547 4.52H14.3647C14.6047 4.52 14.8214 4.45667 15.0147 4.33C15.2147 4.20333 15.3714 4.03333 15.4847 3.82C15.598 3.6 15.6547 3.35 15.6547 3.07C15.6547 2.81667 15.598 2.59333 15.4847 2.4C15.3714 2.2 15.2147 2.04333 15.0147 1.93C14.8214 1.81667 14.6047 1.76 14.3647 1.76H11.9547V4.52ZM19.6747 8V1H22.8547C23.268 1 23.6414 1.09333 23.9747 1.28C24.308 1.46667 24.5714 1.72333 24.7647 2.05C24.958 2.37 25.0547 2.73333 25.0547 3.14C25.0547 3.54 24.9547 3.9 24.7547 4.22C24.5614 4.54 24.2947 4.79333 23.9547 4.98C23.6147 5.16667 23.238 5.26 22.8247 5.26H20.4547V8H19.6747ZM24.4447 8L22.4447 4.92L23.2147 4.67L25.3947 8H24.4447ZM20.4547 4.5H22.8247C23.1047 4.5 23.348 4.44333 23.5547 4.33C23.768 4.21 23.9347 4.04667 24.0547 3.84C24.1747 3.63333 24.2347 3.4 24.2347 3.14C24.2347 2.88 24.168 2.64667 24.0347 2.44C23.908 2.22667 23.728 2.06 23.4947 1.94C23.268 1.82 23.0047 1.76 22.7047 1.76H20.4547V4.5ZM28.536 8V1H33.336V1.76H29.316V7.24H33.316V8H28.536ZM28.926 4.78V4.02H32.776V4.78H28.926ZM38.8426 8L35.9126 1H36.7926L38.6426 5.45C38.7159 5.64333 38.7892 5.83 38.8626 6.01C38.9359 6.18333 39.0059 6.35333 39.0726 6.52C39.1459 6.68667 39.2126 6.85333 39.2726 7.02C39.3392 7.18667 39.4026 7.36333 39.4626 7.55H39.1826C39.2692 7.29667 39.3559 7.05667 39.4426 6.83C39.5292 6.59667 39.6159 6.37 39.7026 6.15C39.7892 5.92333 39.8859 5.68 39.9926 5.42L41.8126 1H42.7026L39.7226 8H38.8426ZM45.0085 8.1C44.7952 8.1 44.6318 8.04667 44.5185 7.94C44.4118 7.83333 44.3585 7.68 44.3585 7.48C44.3585 7.30667 44.4152 7.16 44.5285 7.04C44.6418 6.92 44.8018 6.86 45.0085 6.86C45.2218 6.86 45.3818 6.91667 45.4885 7.03C45.6018 7.13667 45.6585 7.28667 45.6585 7.48C45.6585 7.65333 45.6018 7.8 45.4885 7.92C45.3752 8.04 45.2152 8.1 45.0085 8.1ZM56.136 8.8H54.076V8.14H55.416V0.869999H54.076V0.21H56.136V8.8Z' fill='%233A3A3A'/%3E%3C/svg%3E%0A") 4 4, w-resize !important;
}

body.en .slider-nav.next {
  cursor: url("data:image/svg+xml,%3Csvg width='53' height='9' viewBox='0 0 53 9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.46 0.21H2.52V0.869999H1.18V8.14H2.52V8.8H0.46V0.21ZM11.1747 8V1H11.9147L17.0747 7.08L16.9647 7.26C16.938 7.13333 16.918 6.95333 16.9047 6.72C16.898 6.48667 16.888 6.23 16.8747 5.95C16.868 5.66333 16.8614 5.37333 16.8547 5.08C16.848 4.78 16.8447 4.5 16.8447 4.24C16.8447 3.97333 16.8447 3.75 16.8447 3.57V1H17.6247V8H16.8547L11.7347 2.02L11.8147 1.81C11.828 2.00333 11.838 2.21333 11.8447 2.44C11.858 2.66667 11.8714 2.9 11.8847 3.14C11.9047 3.37333 11.918 3.6 11.9247 3.82C11.938 4.04 11.9447 4.23667 11.9447 4.41C11.9514 4.58333 11.9547 4.72 11.9547 4.82V8H11.1747ZM21.3544 8V1H26.1544V1.76H22.1344V7.24H26.1344V8H21.3544ZM21.7444 4.78V4.02H25.5944V4.78H21.7444ZM34.3109 8L31.7409 4.7L28.7809 1H29.7909L32.1909 4.08L35.3309 8H34.3109ZM28.7309 8L31.6409 4.22L32.1109 4.79L29.6809 8H28.7309ZM32.3609 4.68L31.9209 4.13L34.2609 1H35.2209L32.3609 4.68ZM39.6779 8V1.76H37.3979V1H42.8179V1.76H40.4579V8H39.6779ZM52.7141 8.8H50.6541V8.14H51.9941V0.869999H50.6541V0.21H52.7141V8.8Z' fill='%233A3A3A'/%3E%3C/svg%3E%0A") 4 4, e-resize !important;
}

.info-label {
  position: absolute;
  bottom: var(--main-padding);
  left: var(--main-padding);
}
@media screen and (max-width: 768px) {
  .info-label {
    font-size: 9px;
  }
}

.news {
  margin-top: 9em;
  width: 100%;
  max-width: 100vw;
  background-color: red;
  overflow: hidden;
}
.news__item {
  width: 100%;
  display: flex;
  position: relative;
}
.news .news__item:first-child .mono {
  display: none;
}
.news .date-label {
  display: none;
}
.news .date {
  width: 10%;
  text-align: left;
  margin-right: 1em;
}
.news .titles {
  width: 20%;
}
.news .time {
  padding-left: 10px;
}
.news .text {
  width: 40%;
  max-width: 560px;
  padding-bottom: 2em;
}
.news .text p {
  text-indent: 0;
}
.news .text a {
  border-bottom: 0.8px dashed #333;
  padding-bottom: 1px;
}
.news .text a:hover {
  border-color: transparent;
}
.news .photo {
  width: 300px;
  margin-right: 5%;
}
@media screen and (max-width: 1200px) {
  .news .photo {
    width: 200px;
  }
}
@media screen and (max-width: 1130px) {
  .news .photo {
    width: 140px;
  }
}
.news .photo img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 300/390;
  max-width: 300px;
  max-height: 390px;
}

/* Responsive: stack vertically */
@media (max-width: 768px) {
  .news__item {
    flex-direction: column;
    padding: 0;
    width: 100%;
  }
  .news .news__item:not(:first-child) {
    margin-top: 8em;
  }
  .news .date-label {
    display: inline-block;
  }
  .news .photo {
    position: absolute;
    top: 0;
    left: 0;
    height: 182px;
  }
  .news .titles {
    margin-left: 150px;
    position: absolute;
    top: 0;
    left: 0;
    height: 182px;
    width: 100%;
  }
  .news .text {
    margin-top: calc(182px + 2em);
    width: 100%;
  }
  .news .date {
    width: 100vw;
    height: 182px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    text-align: center;
    flex-direction: column;
    padding-left: 10%;
  }
  .news .news__item .mono, .news .news__item:first-child .mono, .news .news__item:not(:first-child) .mono {
    display: none;
  }
  .news .news__item .time, .news .news__item:first-child .time, .news .news__item:not(:first-child) .time {
    display: inline-block;
  }
}
@media screen and (max-width: 390px) {
  .news .date {
    text-align: center;
    padding-left: 0;
    margin-left: 150px;
    width: calc(100% - 150px);
  }
}

.insta-link {
  display: flex;
  white-space: nowrap;
  margin: 15em 0 18em calc(10% + var(--main-padding));
}
.insta-link .icon {
  display: flex;
  align-items: center;
  margin-left: 5px;
}
.insta-link .glyph svg {
  position: relative;
  top: 0.15px;
  margin-left: 1.5px;
  transition: 0.15s fill 0s ease-in;
  fill: rgba(0, 0, 0, 0);
}
.insta-link:hover .glyph svg {
  transition: fill 0s ease-out;
  fill: #333;
}
@media screen and (max-width: 768px) {
  .insta-link {
    display: none;
  }
}

.first-date-label {
  margin-bottom: 3em;
  display: block;
}
@media screen and (max-width: 768px) {
  .first-date-label {
    display: none;
  }
}

#screensaver-overlay {
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  background-image: url("../img/trame.svg");
  background-size: 2px 2px;
  background-repeat: repeat;
  position: fixed;
}
#screensaver-overlay img {
  transform: scale(0.46);
}
@media screen and (max-width: 768px) {
  #screensaver-overlay img {
    transform: scale(0.1);
  }
  #screensaver-overlay img:nth-child(2n+1) {
    transform: scale(0.1);
  }
}
#screensaver-overlay img:nth-child(2n+1) {
  transform: scale(1);
}

#screensaver-overlay {
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.5s ease;
}

#screensaver-overlay.visible {
  opacity: 1;
  pointer-events: auto;
}

.main-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 100vw;
  position: fixed;
  z-index: 999999;
  top: 0;
  left: 0;
  right: 0;
  height: calc(40px + env(safe-area-inset-top, 0px));
  padding-top: env(safe-area-inset-top, 0px);
  box-sizing: border-box;
  visibility: visible;
}
.main-menu_item:not(.has_sub-menu) {
  padding: var(--main-padding);
}
@media screen and (max-width: 768px) {
  .main-menu {
    background-color: white;
  }
}

.show-submenu {
  transition: transform 0.15s cubic-bezier(0.24, 0.21, 0.78, -0.29);
}

.has_sub-menu {
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 40px;
}
@media screen and (min-width: 993px) {
  .has_sub-menu {
    overflow-y: hidden;
    overflow-x: visible;
    min-width: 375px;
    margin-left: 10vw;
  }
  .has_sub-menu:hover .show-submenu {
    transform: translateY(30px);
    transition: transform 0.2s cubic-bezier(0.24, 0.21, 0.78, -0.29);
  }
  .has_sub-menu:hover .sub-menu {
    display: flex;
    visibility: visible;
  }
  .has_sub-menu:hover .sub-menu_item {
    transform: translateY(0);
    transition: transform 0.2s cubic-bezier(0.24, 0.21, 0.78, -0.29);
  }
  .has_sub-menu .sub-menu_item:nth-child(6) {
    padding-right: 0;
  }
}

.sub-menu {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  height: 100%;
  height: 40px;
  align-items: center;
}
.sub-menu .close-btn {
  display: none;
}
@media screen and (max-width: 992px) {
  .sub-menu {
    background-color: #CFE0C4;
    position: fixed;
    top: calc(0px - env(safe-area-inset-top, 0px));
    height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
    width: 330px;
    flex-direction: column;
    right: 0;
    padding: var(--main-padding);
    z-index: 9999999;
    transform: translateX(100%);
    display: flex;
    align-items: flex-start;
    transition: transform 0.55s cubic-bezier(0.46, 0, 0.01, 1);
    align-items: flex-start;
    width: 100%;
  }
}
@media screen and (max-width: 992px) and (max-width: 630px) {
  .sub-menu {
    top: calc(0px - env(safe-area-inset-top, 0px));
    height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
    left: 0;
    bottom: 0; /* Stretch to the bottom edge */
    right: 0; /* Stretch to the right edge */
    /* Set width/height to auto so they are determined by the edge offsets */
    width: auto;
  }
}
@media screen and (max-width: 992px) {
  .sub-menu .close-btn {
    white-space: nowrap;
    display: flex;
    text-align: right;
    justify-content: flex-end;
    align-items: center;
    cursor: pointer;
    user-select: none;
    margin-left: auto;
    position: sticky;
  }
  .sub-menu .close-btn .glyph {
    color: inherit;
    display: inline-block;
    align-self: center;
    font-size: 90%;
    padding: 0 3px;
  }
}
@media screen and (max-width: 992px) and (max-width: 768px) {
  .sub-menu .close-btn .glyph {
    font-size: 100%;
  }
}
@media screen and (max-width: 992px) {
  .sub-menu .sub-menu_item:nth-child(2),
  .sub-menu .sub-menu_item:nth-child(3),
  .sub-menu .sub-menu_item:nth-child(4),
  .sub-menu .sub-menu_item:nth-child(5),
  .sub-menu .sub-menu_item:nth-child(6) {
    transform: translateX(75px);
    transition: transform 0.1s cubic-bezier(0, 1.28, 0.48, 0.98);
  }
  .sub-menu.open-drawer {
    transform: translateX(0%);
    transition: transform 0.1s cubic-bezier(0.24, 0.21, 0.78, -0.29);
  }
  .sub-menu.open-drawer .sub-menu_item:nth-child(2),
  .sub-menu.open-drawer .sub-menu_item:nth-child(3),
  .sub-menu.open-drawer .sub-menu_item:nth-child(4),
  .sub-menu.open-drawer .sub-menu_item:nth-child(5),
  .sub-menu.open-drawer .sub-menu_item:nth-child(6) {
    transform: translateX(0);
    transition: transform 0.55s cubic-bezier(0, 1.28, 0.48, 0.98);
  }
}
@media (hover: none) {
  .sub-menu {
    background-color: #CFE0C4;
    position: fixed;
    top: calc(0px - env(safe-area-inset-top, 0px));
    height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
    width: 330px;
    flex-direction: column;
    right: 0;
    padding: var(--main-padding);
    z-index: 9999999;
    transform: translateX(100%);
    display: flex;
    align-items: flex-start;
    transition: transform 0.55s cubic-bezier(0.46, 0, 0.01, 1);
    width: 100%;
  }
}
@media screen and (hover: none) and (max-width: 630px) {
  .sub-menu {
    top: calc(0px - env(safe-area-inset-top, 0px));
    height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
    left: 0;
    bottom: 0; /* Stretch to the bottom edge */
    right: 0; /* Stretch to the right edge */
    /* Set width/height to auto so they are determined by the edge offsets */
    width: auto;
  }
}
@media (hover: none) {
  .sub-menu .close-btn {
    white-space: nowrap;
    display: flex;
    text-align: right;
    justify-content: flex-end;
    align-items: center;
    cursor: pointer;
    user-select: none;
    margin-left: auto;
    position: sticky;
  }
  .sub-menu .close-btn .glyph {
    color: inherit;
    display: inline-block;
    align-self: center;
    font-size: 90%;
    padding: 0 3px;
  }
}
@media screen and (hover: none) and (max-width: 768px) {
  .sub-menu .close-btn .glyph {
    font-size: 100%;
  }
}
@media (hover: none) {
  .sub-menu .sub-menu_item:nth-child(2),
  .sub-menu .sub-menu_item:nth-child(3),
  .sub-menu .sub-menu_item:nth-child(4),
  .sub-menu .sub-menu_item:nth-child(5),
  .sub-menu .sub-menu_item:nth-child(6) {
    transform: translateX(75px);
    transition: transform 0.1s cubic-bezier(0, 1.28, 0.48, 0.98);
  }
  .sub-menu.open-drawer {
    transform: translateX(0%);
    transition: transform 0.1s cubic-bezier(0.24, 0.21, 0.78, -0.29);
  }
  .sub-menu.open-drawer .sub-menu_item:nth-child(2),
  .sub-menu.open-drawer .sub-menu_item:nth-child(3),
  .sub-menu.open-drawer .sub-menu_item:nth-child(4),
  .sub-menu.open-drawer .sub-menu_item:nth-child(5),
  .sub-menu.open-drawer .sub-menu_item:nth-child(6) {
    transform: translateX(0);
    transition: transform 0.55s cubic-bezier(0, 1.28, 0.48, 0.98);
  }
}
.sub-menu_item {
  display: flex;
  user-select: none;
  transform: translateY(-30px);
  transition: transform 0.15s cubic-bezier(0.24, 0.21, 0.78, -0.29);
}
.sub-menu_item::before {
  content: "/";
}
.sub-menu_item.close-btn::before {
  content: "";
}
.sub-menu_item:not(:last-child) {
  padding-right: calc(var(--main-padding) * 2);
}
.sub-menu_item:nth-child(6) {
  padding-right: var(--main-padding);
}

.main-menu .brand {
  z-index: 9999999999999;
}
.main-menu .brand img {
  min-width: 171px;
}
@media screen and (max-width: 992px) {
  .main-menu .time,
  .main-menu .social,
  .main-menu .lang-switcher {
    display: none;
  }
  .main-menu .sub-menu_item {
    margin-top: 7vh;
    margin-left: 50px;
  }
  .main-menu .sub-menu_item.first {
    margin-top: calc(14vh - 12px);
  }
}
@media (hover: none) {
  .main-menu .sub-menu_item {
    margin-top: 7vh;
    margin-left: 50px;
  }
  .main-menu .sub-menu_item.first {
    margin-top: calc(14vh - 12px);
  }
}

@media screen and (min-width: 993px) {
  .mobile-only .row.links {
    display: none;
  }
}
@media screen and (max-width: 992px) {
  .mobile-only .row.links {
    display: flex;
    gap: var(--main-padding);
    padding-left: 50px;
    margin-top: 14vh;
  }
  .mobile-only .row.links .mobile-lang {
    margin-left: 50px;
  }
}

.main-menu_item.time {
  padding-left: var(--main-padding);
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .main-menu_item.time {
    display: none;
  }
}

.main-menu_item.social {
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .main-menu_item.social {
    margin-right: auto;
    margin-left: 10vw;
    padding-left: 0;
    white-space: nowrap;
  }
}

.main-menu_item.lang-switcher {
  margin-left: auto;
  white-space: nowrap;
}

.project-grid {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  min-width: 100%;
  width: 100%;
  margin-top: 16em;
}
@media screen and (max-width: 768px) {
  .project-grid {
    margin-top: 58px;
  }
}

.project-grid_item {
  transition: transform 0.2s ease;
  display: flex;
  align-items: flex-end;
  padding-bottom: 6vw;
  width: 25%;
}
@media (hover: none) {
  .project-grid_item figcaption {
    display: none;
  }
}
.project-grid_item figure {
  display: flex;
  justify-content: center;
}

.project-grid img {
  width: var(--item-width, 15%);
  max-width: 700px;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center;
  transition: transform 0.2s ease;
}

.project-grid.step-1 .project-grid_item {
  width: 16.6666666667%;
}
.project-grid.step-1 .project-grid_item:first-child figure, .project-grid.step-1 .project-grid_item:nth-child(6n+1) figure {
  justify-content: flex-start;
}
.project-grid.step-1 .project-grid_item:nth-child(6n) figure {
  justify-content: flex-end;
}
.project-grid.step-1 .project-grid_item:nth-child(6n+2) figure img {
  position: relative;
  left: 7.5%;
}
.project-grid.step-1 .project-grid_item:nth-child(6n+3) figure img {
  position: relative;
  left: 15%;
}
.project-grid.step-1 .project-grid_item:nth-child(6n+4) figure img {
  position: relative;
  left: 22%;
}
.project-grid.step-1 .project-grid_item:nth-child(6n+5) figure img {
  position: relative;
  left: 29.3%;
}

.project-grid.step-2 .project-grid_item, .project-grid.step-3 .project-grid_item {
  width: 20%;
}
.project-grid.step-2 .project-grid_item:first-child figure, .project-grid.step-2 .project-grid_item:nth-child(5n+1) figure, .project-grid.step-3 .project-grid_item:first-child figure, .project-grid.step-3 .project-grid_item:nth-child(5n+1) figure {
  justify-content: flex-start;
}
.project-grid.step-2 .project-grid_item:nth-child(5n) figure, .project-grid.step-3 .project-grid_item:nth-child(5n) figure {
  justify-content: flex-end;
}
.project-grid.step-2 .project-grid_item:nth-child(5n+2) figure img, .project-grid.step-3 .project-grid_item:nth-child(5n+2) figure img {
  position: relative;
  left: -15%;
}
.project-grid.step-2 .project-grid_item:nth-child(5n+4) figure img, .project-grid.step-3 .project-grid_item:nth-child(5n+4) figure img {
  position: relative;
  left: 15%;
}

.project-grid.step-4 .project-grid_item, .project-grid.step-5 .project-grid_item {
  width: 25%;
}
.project-grid.step-4 .project-grid_item:first-child figure, .project-grid.step-4 .project-grid_item:nth-child(4n+1) figure, .project-grid.step-5 .project-grid_item:first-child figure, .project-grid.step-5 .project-grid_item:nth-child(4n+1) figure {
  justify-content: flex-start;
}
.project-grid.step-4 .project-grid_item:nth-child(4n) figure, .project-grid.step-5 .project-grid_item:nth-child(4n) figure {
  justify-content: flex-end;
}
.project-grid.step-4 .project-grid_item:nth-child(4n+2) figure img, .project-grid.step-5 .project-grid_item:nth-child(4n+2) figure img {
  position: relative;
  left: -6.6%;
}
.project-grid.step-4 .project-grid_item:nth-child(4n+3) figure img, .project-grid.step-5 .project-grid_item:nth-child(4n+3) figure img {
  position: relative;
  left: 6.6%;
}

.project-grid.step-6 .project-grid_item {
  width: 33.3333333333%;
}
.project-grid.step-6 .project-grid_item:first-child figure, .project-grid.step-6 .project-grid_item:nth-child(3n+1) figure {
  justify-content: flex-start;
}
.project-grid.step-6 .project-grid_item:first-child figure img, .project-grid.step-6 .project-grid_item:nth-child(3n+1) figure img {
  max-width: none;
}
.project-grid.step-6 .project-grid_item:nth-child(3n+2) figure img {
  max-width: none;
}
.project-grid.step-6 .project-grid_item:nth-child(3n) figure {
  justify-content: flex-end;
}
.project-grid.step-6 .project-grid_item:nth-child(3n) figure img {
  max-width: none;
}

.project-grid.step-7 .project-grid_item {
  width: 50%;
  justify-content: center;
}
.project-grid.step-7 .project-grid_item:first-child figure, .project-grid.step-7 .project-grid_item:nth-child(2n+1) figure {
  justify-content: flex-start;
}
.project-grid.step-7 .project-grid_item:first-child figure img, .project-grid.step-7 .project-grid_item:nth-child(2n+1) figure img {
  max-width: 700px;
}
.project-grid.step-7 .project-grid_item:nth-child(2n) figure {
  justify-content: flex-end;
}
.project-grid.step-7 .project-grid_item:nth-child(2n) figure img {
  max-width: 700px;
}

.project-grid.step-8 {
  justify-content: space-between;
}
.project-grid.step-8 .project-grid_item {
  width: 100%;
  justify-content: center;
}
.project-grid.step-8 .project-grid_item .figure {
  justify-content: center;
}
.project-grid.step-8 .project-grid_item .figure img {
  margin: 0 auto;
}
.project-grid.step-8 .project-grid_item.disabled {
  display: none;
}

.project-grid_item.disabled {
  pointer-events: none;
  cursor: default;
}
.project-grid_item.disabled img {
  transform: scale(0.075);
  transform-origin: bottom center;
  transition: transform 0.2s ease;
  filter: grayscale(100%);
}
.project-grid_item.disabled figcaption {
  opacity: 0;
}

.project-control-panel {
  display: flex;
  position: sticky;
  top: 10em;
  z-index: 9999;
  width: max-content;
}
.project-control-panel.no-sticky {
  position: static;
  margin-top: 10em;
}
.project-control-panel.no-sticky .filters {
  margin-left: calc(10vw + 181px + var(--main-padding));
}
@media screen and (max-width: 768px) {
  .project-control-panel.no-sticky {
    margin-top: 7em;
  }
  .project-control-panel.no-sticky .filters {
    margin-left: var(--main-padding);
  }
}
.project-control-panel .filters {
  margin-left: 10vw;
  column-count: 2;
  gap: 2em;
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .project-control-panel .filters {
    margin-left: 0;
  }
}
.project-control-panel .filters a {
  display: block;
  cursor: pointer;
  padding-top: calc(var(--main-padding) / 3);
  padding-bottom: calc(var(--main-padding) / 3);
  padding-right: calc(var(--main-padding) / 3);
  user-select: none;
  border: 0.9px solid transparent;
}
@media (hover: hover) {
  .project-control-panel .filters a .glyph {
    transition: 0.15s color 0s ease-in;
  }
  .project-control-panel .filters a:hover .glyph {
    transition: color 0s ease-out;
    color: #333;
  }
}
@media screen and (max-width: 1600px) {
  .project-control-panel .filters a {
    font-size: 10px;
  }
}
@media screen and (max-width: 768px) {
  .project-control-panel {
    margin-top: 0;
    justify-content: space-between;
    flex-direction: column-reverse;
    position: sticky;
    width: auto;
    top: 7em;
    margin-bottom: 8em;
  }
  .project-control-panel .controls {
    margin-top: 4em;
  }
  .project-control-panel .filters {
    column-count: 1;
    display: flex;
    scroll-snap-type: x mandatory;
    scroll-snap-stop: always;
    position: relative;
    overflow-x: scroll;
    gap: 1em;
    scrollbar-width: none;
  }
  .project-control-panel .filters::-webkit-scrollbar {
    display: none;
  }
  .project-control-panel .filters a {
    display: flex;
    scroll-snap-align: start;
    white-space: nowrap;
  }
  .project-control-panel .filters a .filter-label {
    margin-left: 0.5em;
  }
}

.contact-panel {
  background-color: #CFE0C4;
  position: fixed;
  top: calc(0px - env(safe-area-inset-top, 0px));
  height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
  width: 330px;
  flex-direction: column;
  right: 0;
  padding: var(--main-padding);
  z-index: 9999999;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.46, 0, 0.01, 1);
  background-color: #DEDEDE;
  color: #333;
  width: 534px;
}
@media screen and (max-width: 630px) {
  .contact-panel {
    top: calc(0px - env(safe-area-inset-top, 0px));
    height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
    left: 0;
    bottom: 0; /* Stretch to the bottom edge */
    right: 0; /* Stretch to the right edge */
    /* Set width/height to auto so they are determined by the edge offsets */
    width: auto;
  }
}
.contact-panel .close-btn {
  white-space: nowrap;
  display: flex;
  text-align: right;
  justify-content: flex-end;
  align-items: center;
  cursor: pointer;
  user-select: none;
  margin-left: auto;
  position: sticky;
}
.contact-panel .close-btn .glyph {
  color: inherit;
  display: inline-block;
  align-self: center;
  font-size: 90%;
  padding: 0 3px;
}
@media screen and (max-width: 768px) {
  .contact-panel .close-btn .glyph {
    font-size: 100%;
  }
}
.contact-panel.open-drawer {
  display: block;
  transform: translateX(0%);
  transition: transform 0.35s cubic-bezier(0.46, 0, 0.01, 1);
}
.contact-panel .content {
  display: flex;
  justify-content: center;
}

.about-panel {
  background-color: #CFE0C4;
  position: fixed;
  top: calc(0px - env(safe-area-inset-top, 0px));
  height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
  width: 330px;
  flex-direction: column;
  right: 0;
  padding: var(--main-padding);
  z-index: 9999999;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.46, 0, 0.01, 1);
  color: #333;
  width: 60vw;
  backdrop-filter: brightness(105%) blur(100px);
  background-color: hsla(58, 69%, 87%, 0.5);
  overflow: auto;
  overflow: -moz-scrollbars-none;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media screen and (max-width: 630px) {
  .about-panel {
    top: calc(0px - env(safe-area-inset-top, 0px));
    height: calc(100vh + env(safe-area-inset-top, 0px) + env(safe-area-inset-bottom, 0px));
    left: 0;
    bottom: 0; /* Stretch to the bottom edge */
    right: 0; /* Stretch to the right edge */
    /* Set width/height to auto so they are determined by the edge offsets */
    width: auto;
  }
}
.about-panel .close-btn {
  white-space: nowrap;
  display: flex;
  text-align: right;
  justify-content: flex-end;
  align-items: center;
  cursor: pointer;
  user-select: none;
  margin-left: auto;
  position: sticky;
}
.about-panel .close-btn .glyph {
  color: inherit;
  display: inline-block;
  align-self: center;
  font-size: 90%;
  padding: 0 3px;
}
@media screen and (max-width: 768px) {
  .about-panel .close-btn .glyph {
    font-size: 100%;
  }
}
.about-panel::-webkit-scrollbar {
  display: none;
}
.about-panel.open-drawer {
  display: block;
  transform: translateX(0%);
  transition: transform 0.35s cubic-bezier(0.46, 0, 0.01, 1);
}
.about-panel::after {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: lightblue;
}
@media (hover: none) {
  .about-panel {
    backdrop-filter: none;
    background-color: #F6F5C8;
  }
}

.footer-links {
  display: flex;
  width: 100%;
  justify-content: space-between;
  position: fixed;
  z-index: -1;
  bottom: 0;
  left: 0;
  max-width: 100vw;
}

.footer-link {
  margin-top: 80px;
  display: flex;
  padding: var(--main-padding);
}
@media screen and (max-width: 576px) {
  .footer-link {
    font-size: 10px;
  }
}
.footer-link img {
  position: relative;
  top: 1px;
  margin-right: 0.5em;
  max-width: 170px;
}
@media screen and (max-width: 576px) {
  .footer-link img {
    display: none;
  }
}

.next-project {
  display: flex;
  text-align: center;
  height: 13.5px;
  overflow: hidden;
}
.next-project .label {
  transform: translateY(-16.5px);
  transition: transform 0.2s ease;
  width: 120px;
  padding: 0 5px;
}
@media (hover: none) {
  .next-project .label {
    padding: 0;
    transform: none;
    width: 112px;
  }
}
.next-project .label span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (hover: none) {
  .next-project .label span:first-child {
    display: none;
  }
}
.next-project:hover .label {
  transform: translateY(0);
}

.project-info {
  padding: var(--main-padding);
  margin-top: 100px;
  display: flex;
}
.project-info a {
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  .project-info {
    margin-top: 0;
  }
}
.project-info .project-header {
  width: 33.3vw;
  min-width: 270px;
}
@media screen and (max-width: 768px) {
  .project-info .project-header {
    display: flex;
    align-items: baseline;
    width: 100%;
    gap: var(--main-padding);
    margin-bottom: calc(var(--main-padding) * 1.5);
  }
  .project-info .project-header h1 {
    font-size: 9px;
  }
}
.project-info .copy {
  max-width: 880px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .project-info .copy {
    margin-top: calc(var(--main-padding) * 4);
  }
}
.project-info .project-data {
  list-style: none;
  padding-left: 0;
  line-height: inherit;
}
.project-info .project-data li {
  display: flex;
  margin-bottom: var(--main-padding);
}
@media screen and (max-width: 768px) {
  .project-info .project-data li {
    margin-bottom: calc(var(--main-padding) * 1.5);
    font-size: 9px;
  }
}
.project-info .project-data label {
  display: inline-block;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}
@media screen and (max-width: 768px) {
  .project-info .project-data label {
    width: 180px;
    min-width: 180px;
    max-width: 180px;
  }
}
.project-info .project-data sup {
  line-height: 1.85em;
  font-size: 6px;
  -webkit-font-smoothing: subpixel-antialiased;
}
@media screen and (max-width: 768px) {
  .project-info {
    flex-direction: column;
  }
}

.project-index {
  display: flex;
  flex-direction: column;
  margin-top: 12.5em;
  background-color: white;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .project-index {
    margin-top: -50px;
    padding: 0 var(--main-padding);
  }
  .project-index .project-index_toprow + .year-group .year {
    width: 100%;
  }
}
.project-index .cover {
  width: 200px;
  position: absolute;
  overflow: visible;
  left: 0;
  right: 0;
  margin: 0 auto;
  align-self: center;
  z-index: 1;
  opacity: 0;
  transition: 0.15s opacity 0s ease-in;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .project-index .cover {
    opacity: 1;
    width: 50px;
    height: 50px;
    left: initial;
  }
  .project-index .cover img {
    object-fit: cover;
    width: 50px;
    height: 50px;
    align-self: flex-start;
  }
}
.project-index .year-group {
  border-bottom: 0.8px dashed #333;
  display: flex;
  padding-bottom: 15px;
  padding-top: 15px;
  align-items: baseline;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .project-index .year-group {
    overflow: hidden;
    flex-direction: column;
    border-bottom: none;
  }
  .project-index .year-group + .year-group {
    margin-top: 30px;
  }
}
.project-index .programme, .project-index .title {
  width: 40vw;
  display: flex;
  text-wrap: balance;
  overflow-wrap: break-word;
  min-width: 40vw;
  margin-right: 10vw;
  height: 100%;
  align-items: flex-start;
  line-height: 1.35em;
}
@media screen and (max-width: 1200px) {
  .project-index .programme, .project-index .title {
    margin-right: 0;
    min-width: 50vw;
    width: 50vw;
  }
}
@media screen and (max-width: 768px) {
  .project-index .programme, .project-index .title {
    margin-right: 15px;
    max-width: 66.6vw;
    width: 66.6vw;
  }
}
@media screen and (max-width: 768px) {
  .project-index .rue {
    display: inline-block;
    max-width: 66.6vw;
    width: 66.6vw;
  }
  .project-index .rue:after {
    content: ",";
  }
}
.project-index .ville {
  margin-left: auto;
  margin-right: var(--main-padding);
  min-width: 15vw;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .project-index .ville {
    margin-left: 0 !important;
    margin-right: 0;
    display: block;
    width: auto;
  }
}
.project-index .ville sup {
  font-size: 6px;
  -webkit-font-smoothing: subpixel-antialiased;
}
.project-index .project-index_toprow {
  width: 100%;
  display: flex;
  border-bottom: 0.8px dashed #333;
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .project-index .project-index_toprow {
    display: none;
  }
}
.project-index .year {
  min-width: 6vw;
  margin-left: var(--main-padding);
}
@media screen and (max-width: 768px) {
  .project-index .year {
    margin-left: 0;
    border-bottom: 0.8px dashed #333;
    width: 100%;
    padding-bottom: 15px;
  }
}
.project-index .projects {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.project-index .projects .ville {
  margin-left: auto;
}
.project-index .projects .project {
  transition: color 0.15s ease;
  display: flex;
  align-items: flex-start;
  width: 100%;
  padding-bottom: 15px;
  position: relative;
  line-height: 1.85em;
}
@media screen and (max-width: 768px) {
  .project-index .projects .project {
    padding-top: 15px;
    border-bottom: 0.8px dashed #333;
    display: block;
    min-height: 80px;
  }
}
.project-index .projects .project .glyph svg {
  position: relative;
  top: 0.15px;
  margin-left: 1.5px;
  transition: 0.15s fill 0s ease-in;
  fill: rgba(0, 0, 0, 0);
}
.project-index .projects .project .icon {
  display: flex;
  align-items: center;
  margin-right: 5px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .project-index .projects .project .icon {
    display: none;
  }
}
.project-index .projects .project:hover .glyph svg {
  transition: fill 0s ease-out;
  fill: #333;
}
.project-index .projects .project .programme:hover + .cover, .project-index .projects .project .title:hover + .cover {
  visibility: visible;
  opacity: 1;
  transition: opacity 0s ease-out;
}
.project-index .projects .project .see-more-btn {
  display: none;
  margin-top: 0.5em;
}
.project-index .projects .project .see-more-btn .glyph svg {
  fill: #333;
}
.project-index .projects .project .see-more-btn .glyph {
  padding: 0 2px;
}
@media screen and (max-width: 768px) {
  .project-index .projects .project .see-more-btn {
    display: flex;
    align-items: center;
  }
}
.project-index .projects .project.disabled {
  color: #999;
  transition: color 0.15s ease;
}
.project-index .projects .project.disabled:hover .glyph svg {
  transition: fill 0s ease-out;
  fill: #999;
}
.project-index .projects .project.disabled .see-more-btn .glyph svg {
  fill: #999;
}

.project.no-url {
  cursor: default;
}

.project-index .projects .project.no-url .icon {
  visibility: hidden;
}

.contact-info {
  margin-top: 50px;
}
.contact-info .address {
  display: inline-block;
}
.contact-info .address::first-letter {
  margin-right: 20px;
}
@media screen and (max-width: 576px) {
  .contact-info .address::first-letter {
    margin-right: 10px;
  }
}
@media screen and (max-width: 415px) {
  .contact-info .address::first-letter {
    margin-right: 0;
  }
}
.contact-info .address span {
  margin-left: 20px;
}
@media screen and (max-width: 576px) {
  .contact-info .address span {
    margin-left: 10px;
  }
}
@media screen and (max-width: 415px) {
  .contact-info .address span {
    margin-left: 0px;
  }
}
.contact-info ul {
  list-style: none;
  padding: 0;
  margin-left: 32.5px;
  margin-top: 32.5px;
}
@media screen and (max-width: 576px) {
  .contact-info ul {
    margin-left: 23px;
    margin-top: 23px;
  }
}
@media screen and (max-width: 415px) {
  .contact-info ul {
    margin-left: 0px;
    margin-top: 23px;
  }
}
.contact-info ul li {
  display: flex;
  line-height: 1.75em;
}
@media screen and (max-width: 415px) {
  .contact-info ul li {
    line-height: 2.5em;
  }
}
.contact-info ul li:last-child {
  margin-top: 20px;
}
@media screen and (max-width: 415px) {
  .contact-info ul li:last-child {
    margin-top: 0px;
  }
}
.contact-info ul img {
  position: relative;
}
.contact-info ul .label {
  width: 150px;
}
@media screen and (max-width: 576px) {
  .contact-info ul .label {
    width: 100px;
  }
}
@media screen and (max-width: 415px) {
  .contact-info ul .label {
    width: 20vw;
  }
}

#copy-email {
  all: unset;
  height: 1.5em;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  display: flex;
  white-space: nowrap;
}
#copy-email .copy-email_content {
  transform: translateY(-20px) scale(1);
  transition: transform 0.2s ease;
}
#copy-email .copy-email_content > span {
  display: flex;
  white-space: nowrap;
}
@media (hover: hover) {
  #copy-email:hover .copy-email_content {
    transition: transform 0.2s ease;
    transform: translateY(0) scale(1);
  }
}
@media (hover: none) {
  #copy-email {
    height: unset;
    display: flex;
    margin-top: 4px;
  }
  #copy-email .copy-email_content {
    display: flex;
    flex-direction: column-reverse;
    transform: translateY(0) scale(1);
    line-height: 1.65em;
  }
}
#copy-email p.active {
  all: unset;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.about-panel .content {
  margin: 30px 50px 50px 50px;
}
@media screen and (max-width: 1200px) {
  .about-panel .content {
    margin: 15px 30px 30px 30px;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 576px) {
  .about-panel .content {
    margin: 10px;
    margin-bottom: 90px;
  }
}
@media screen and (max-width: 415px) {
  .about-panel .content {
    margin: 0;
    margin-bottom: 90px;
  }
}
.about-panel .row {
  display: flex;
}
.about-panel .row img {
  width: 275px;
  min-width: 275px;
}
@media screen and (max-width: 1200px) {
  .about-panel .row img {
    max-width: 175px;
    width: auto;
    min-width: 100px;
  }
}
@media screen and (max-width: 1200px) {
  .about-panel .row img {
    margin-bottom: 30px;
  }
}
.about-panel .row.top-row {
  margin-bottom: 50px;
}
@media screen and (max-width: 1200px) {
  .about-panel .row.top-row {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 992px) {
  .about-panel .row.top-row {
    flex-direction: column;
  }
}
.about-panel .text-col {
  margin-left: 6vw;
}
@media screen and (max-width: 1830px) {
  .about-panel .text-col {
    margin-left: 50px;
  }
}
@media screen and (max-width: 1200px) {
  .about-panel .text-col {
    margin-left: 30px;
  }
}
@media screen and (max-width: 992px) {
  .about-panel .text-col {
    margin-left: 0px;
  }
}
.about-panel .text-col details:not(:first-child) {
  margin-top: 50px;
}
@media screen and (max-width: 1200px) {
  .about-panel .text-col details:not(:first-child) {
    margin-top: 30px;
  }
}
.about-panel .accordion-content {
  margin-left: 50px;
  padding-right: 1em;
}
@media screen and (max-width: 1200px) {
  .about-panel .accordion-content {
    margin-left: 2em;
  }
}
.about-panel .accordion-content ul {
  list-style: none;
  padding: 0;
  line-height: 2em;
}
.about-panel .accordion-content p {
  text-indent: 0;
}
.about-panel .accordion-content p, .about-panel .accordion-content ul {
  max-width: 580px;
  text-wrap: balance;
  overflow-wrap: break-word;
}

details summary {
  list-style: none;
}

details summary::-webkit-details-marker {
  display: none;
}

.accordion-title {
  cursor: pointer;
  user-select: none;
  height: 1.65em;
  display: flex;
  overflow: hidden;
  margin-bottom: 1.75em;
  white-space: nowrap;
}
.accordion-title .icons {
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(-1px);
  transition: transform 0.2s ease;
  width: 15px;
  text-align: center;
}

details .plus {
  display: inline-block;
}

details .minus {
  display: inline-block;
}

details[open] .icons {
  transition: transform 0.2s ease;
  transform: translateY(-16.5px);
}

.about-text.copy p:nth-of-type(n + 3) {
  display: none;
}

.about-text.copy.expanded p {
  display: block;
}

.read-more-toggle {
  all: unset;
  margin-top: 1.65em;
  cursor: pointer;
  appearance: none;
  font-family: "Lexend Exa", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 10.48px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #333;
  display: flex;
  overflow: hidden;
  height: 1.65em;
}
.read-more-toggle .minus, .read-more-toggle .plus {
  display: inline-block;
}
.read-more-toggle .icons {
  display: flex;
  margin-left: 0.75em;
  flex-direction: column;
  transform: translateY(-1px);
  transition: transform 0.2s ease;
}

.about-text.copy.expanded .icons {
  transition: transform 0.2s ease;
  transform: translateY(-19px);
}

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