@keyframes rotation {
  0% {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes flap {
  0%,
  to {
    transform: translateY(0);
  }

  25% {
    transform: translateY(-7%);
  }

  75% {
    transform: translateY(7%);
  }
}

.a-tag {
  padding: 1.2rem;
  border-radius: 0.5rem;
}

.a-tag.-small,
.a-tag.-big {
  padding: 0.7rem 0.8rem;
}

.a-pin {
  position: absolute;
  z-index: 3;
  text-transform: uppercase;
}

.a-pin:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #db3c8a;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translate(-50%, -50%) scale(0);
}

.a-pin:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6rem;
  height: 6rem;
  transform: translate(-50%, -50%);
}

.a-pin_name {
  display: inline-flex;
  flex-flow: row nowrap;
  overflow: hidden;
}

.a-pin_name span {
  display: block;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1) var(--delay, 0s);
  transform: translateY(100%);
}

.a-pin_label {
  position: absolute;
  top: 0;
  left: 0;
  padding: 1rem;
  background-color: #db3c8a;
  color: #fff8f6;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translateY(-100%) translate(-15%) rotate(20deg) scale(0);
  transform-origin: 20% 80%;
}

.a-pin:focus .a-chatBubble:first-child {
  transition: transform 0.3s cubic-bezier(0.17, 0.67, 0.3, 1.33) 0.1s;
  transform: translate(-75%, -75%) scale(1) rotate(-8deg);
}

.a-pin:focus .a-chatBubble:last-child {
  transition: transform 0.3s cubic-bezier(0.17, 0.67, 0.3, 1.33) 0.2s;
  transform: translate(80%, 80%) scale(1) rotate(8deg);
}

.a-pin:focus .a-pin_label {
  transform: translateY(-100%) translate(-15%) rotate(-2deg) scale(1);
}

.a-pin:focus .a-pin_name span {
  transform: translateY(0);
}

.a-pin .a-chatBubble {
  position: absolute;
  transform-origin: center center;
}

.a-pin .a-chatBubble:first-child {
  top: 0;
  left: 0;
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
  transform: translate(-25%, -25%) scale(0) rotate(18deg);
}

.a-pin .a-chatBubble:last-child {
  right: 0;
  bottom: 0;
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
  transform: translate(30%, 30%) scale(0) rotate(-38deg);
}

.a-fixedLink {
  display: none;
  font-size: 1.4rem;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

.a-fixedLink:before {
  content: "";
  position: absolute;
  bottom: -0.2rem;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 1px;
  background-color: currentcolor;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform-origin: left center;
}

.a-chatBubble {
  position: relative;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  font-size: 2rem;
  white-space: pre;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scale(0);
}

.a-chatBubble:before,
.a-chatBubble:after {
  content: "";
  position: absolute;
  left: 50%;
  z-index: -1;
  border-radius: 50%;
  background-color: #fce5df;
  transform: translate(-50%) scale(0);
}

.a-chatBubble.-square {
  display: flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border-radius: 1rem;
  font-size: 1.4rem;
  line-height: 0;
}

.a-chatBubble.-square:before,
.a-chatBubble.-square:after {
  display: none;
}

.a-chatBubble:before {
  bottom: -1.2rem;
  width: 2.4rem;
  height: 2.4rem;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
}

.a-chatBubble:after {
  bottom: -2.4rem;
  width: 0.8rem;
  height: 0.8rem;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
}

.is-inview .a-chatBubble {
  transform: scale(1);
}

.is-inview .a-chatBubble:before,
.is-inview .a-chatBubble:after {
  transform: translate(-50%) scale(1);
}

.a-likeButton {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: scale(1);
}

.a-likeButton .a-svg {
  width: 1.2rem;
  height: 1.2rem;
}

.a-likeButton .-love-fill {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #db3c8a;
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: translate(-50%, -50%) scale(0);
}

.a-likeButton:active {
  transform: scale(0.8);
}

.a-likeButton:active .-love-fill {
  transform: translate(-50%, -50%) scale(1);
}

.a-inputField {
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  width: 100%;
}

.a-inputField__label {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  order: -1;
  width: 100%;
}

.a-inputField__buttons {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
  justify-content: center;
}

.a-inputField__button {
  position: relative;
}

.a-inputField input,
.a-inputField textarea {
  color: #00522d;
  font-size: 1.6rem;
}

.a-inputRadio {
  width: 100%;
}

.a-inputRadio__value {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  padding: 0.8rem;
  border: solid 1px #d1cfe4;
  border-radius: 1rem;
  background-color: #fff8f6;
}

.a-inputRadio__value > span {
  margin-top: 0.2rem;
}

.a-inputRadio__value:before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  margin-right: 0.5rem;
  border: 1px solid #d1cfe4;
  border-radius: 0.5rem;
}

.a-inputRadio__value:after {
  content: "";
  position: absolute;
  top: 1.8rem;
  left: 1.9rem;
  width: 1.2rem;
  height: 0.6rem;
  border-bottom: solid 2px #fff8f6;
  border-left: solid 2px #fff8f6;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.6) rotate(45deg);
}

.a-inputRadio__value:before,
.a-inputRadio input {
  width: 2rem;
  height: 2rem;
}

.a-inputRadio input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.a-inputRadio input:checked + label {
  border-color: #db3c8a;
  background-color: #db3c8a;
  color: #fff8f6;
}

.a-inputRadio input:checked + label:before {
  border-color: #db3c8a;
  background-color: #db3c8a;
}

.a-inputRadio input:checked + label:after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) rotate(-45deg);
}

.a-inputRadio input:checked:focus + label:before {
  border-color: #fce5df;
  outline: 1px solid #fce5df;
}

.a-inputRadio input:not(.-error):focus + label:before {
  border-color: #fce5df;
  outline: 1px solid #db3c8a;
}

.a-inputRadio input.-error:required + label {
  color: red;
}

.a-inputRadio input.-error:required + label:before {
  border-color: red;
}

.a-inputRadio input.-error:required:focus + label:before {
  outline: 1px solid #f00;
}

.a-inputRadio.-radio .a-inputRadio__value:before {
  border-radius: 50%;
}

.a-inputFile .a-inputText__input {
  border: 0;
}

.a-inputFile__placeholder:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid;
  border-radius: 1rem;
}

.a-inputFile__placeholder:after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  transform: translateY(-50%);
}

.a-inputFile__preview {
  position: relative;
  padding: 1.5rem;
  text-align: left;
}

.a-inputFile__preview:nth-child(3) {
  margin-top: 0.5rem;
}

.a-inputFile__preview:not(:last-child) {
  margin-bottom: 0.5rem;
}

.a-inputFile__preview:after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  z-index: 1;
  width: 1rem;
  height: 1rem;
  transform: translateY(-50%) rotate(45deg);
}

.a-inputFile__preview:focus-visible {
  color: #fff8f6;
  outline: 1px solid;
}

.a-inputFile__preview:focus:not(:focus-visible) {
  outline: 0;
}

.a-inputFile__file {
  position: relative;
  border: 0;
}

.a-inputFile__file input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.a-inputFile__file input:focus-visible {
  outline: 0;
}

.a-inputFile__file input:focus-visible + .a-inputFile__placeholder:before {
  outline: 1px solid;
}

.a-inputFile__file input:focus:not(:focus-visible) {
  outline: 0;
}

.a-inputFile__file input.-error + .a-inputFile__placeholder:before {
  border-color: red;
}

.a-inputFile__file input.-error:focus {
  outline: 0;
}

.a-inputFile__file input.-error:focus + .a-inputFile__placeholder:before {
  outline: 1px solid #f00;
}

.a-inputTags .a-inputField__label {
  margin-bottom: 1rem;
}

.a-inputTags .a-inputField__buttons {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  align-items: center;
}

.a-inputTags .a-tag {
  width: 100%;
  border: 1px solid;
}

.a-inputTags .a-inputField__button {
  position: relative;
}

.a-inputTags input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}

.a-inputTags input:checked + .a-tag {
  color: #fff8f6;
}

.a-inputTags input:not(.-error):focus + .a-tag {
  outline: 1px solid;
}

.a-inputTags input.-error:required + .a-tag {
  border-color: red;
  color: red;
}

.a-inputTags input.-error:required:focus + .a-tag {
  outline: 1px solid #f00;
}

.a-inputText__input {
  width: 100%;
  padding: 1.5rem;
  border: 1px solid #d1cfe4;
  border-radius: 1rem;
  font-family:
    Clash Grotesk,
    sans-serif;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.a-inputText__input::-moz-placeholder {
  color: #d1cfe4;
  font-family:
    Clash Grotesk,
    sans-serif;
}

.a-inputText__input::placeholder {
  color: #d1cfe4;
  font-family:
    Clash Grotesk,
    sans-serif;
}

.a-inputText__input:focus-visible {
  outline: 1px solid;
}

.a-inputText__input:focus:not(:focus-visible) {
  outline: 0;
}

.a-inputText__input.-error {
  border-color: red;
}

.a-inputText__input.-error + label {
  color: red;
}

.a-inputText__input.-error:focus {
  outline-color: red;
}

.a-inputText select {
  position: relative;
}

.m-formCallback.-success {
  background-color: #03b000;
  color: #fff8f6;
}

.m-formCallback.-error {
  background-color: red;
  color: #fff8f6;
}

.a-inputField__error {
  order: 3;
  color: red;
}

.m-accordeon {
  position: relative;
  width: 100%;
}

.m-accordeon:not(:last-child) {
  border-bottom: 1px solid #f29ebd;
}

.m-accordeon summary {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 2rem;
  color: #f29ebd;
  cursor: pointer;
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.m-accordeon summary::-webkit-details-marker {
  display: none;
}

.m-accordeon summary .a-svg {
  width: 1.4rem;
  height: 1.4rem;
  color: #00522d;
  transition:
    transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33),
    color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: rotate(135deg);
}

.m-accordeon summary::marker {
  content: "";
}

.m-accordeon[open] > summary {
  color: #db3c8a;
}

.m-accordeon[open] > summary .m-accordeon_button {
  background-color: #db3c8a;
}

.m-accordeon[open] > summary .a-svg {
  color: #fff8f6;
  transform: rotate(0);
}

.m-accordeon[open] .m-accordeon_content {
  opacity: 1;
}

.m-accordeon_button {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #f29ebd;
  transition: background-color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.m-accordeon_content {
  padding-bottom: 1.5rem;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.m-popin {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  display: none;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
}

.m-popin__overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: flex;
  width: 100%;
  height: 100%;
  background-color: #4c4c4ccc;
}

.m-popin__container {
  display: flex;
  flex-flow: column nowrap;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  max-height: 100%;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.m-popin.-isOpen {
  display: flex;
}

.m-popin.-isOpen .m-popin__overlay,
.m-popin.-isOpen .m-popin__container {
  opacity: 1;
}

.m-logo {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  width: 100%;
}

.m-logo .a-svg {
  flex-grow: 1;
  transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1) var(--delay, 0ms);
  transform: translateY(100%);
  aspect-ratio: 184/275;
}

.m-logo .a-svg:first-child {
  margin-right: -2%;
}

.m-logo .a-svg:last-child {
  margin-left: -2%;
}

.m-logo .a-svg:first-child,
.m-logo .a-svg:last-child {
  aspect-ratio: 190/275;
}

.m-featuredProject {
  position: fixed;
  right: 50%;
  bottom: 1.5rem;
  z-index: 60;
  display: flex;
  flex-flow: row wrap;
  gap: 0 1rem;
  width: 80%;
  max-width: min(100% - 14.4rem, 39rem);
  padding: 0 1rem 1rem;
  border-radius: 1rem;
  background-color: var(--bg-color);
  transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translate(50%);
}

.m-featuredProject.-isGrabbing {
  pointer-events: all;
}

.m-featuredProject_scrollBarWrapper {
  display: flex;
  flex-basis: 100%;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  cursor: grab;
  touch-action: none;
}

.-isGrabbing .m-featuredProject_scrollBarWrapper {
  cursor: grabbing;
  pointer-events: all;
}

.m-featuredProject_scrollBar {
  display: block;
  width: 8rem;
  height: 0.2rem;
  background-color: #fff8f6;
}

.m-featuredProject_content {
  display: flex;
  flex-grow: 1;
  flex-basis: calc(50% - 0.5rem);
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}

.m-featuredProject_tags {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
}

.m-featuredProject .a-button {
  margin-top: auto;
}

.m-featuredProject .a-image {
  --ratio: 7 / 10;
  flex-grow: 1;
  flex-basis: 7rem;
}

.m-featuredProject picture {
  display: inline;
}

.-hideFeatured .m-featuredProject {
  opacity: 0;
  pointer-events: none;
}

.m-audioPlayer {
  display: flex;
  flex-flow: row nowrap;
  gap: 1.5rem;
  align-items: center;
  width: calc(100% - 3rem);
  max-width: 20rem;
  padding: 2rem 1.5rem;
  border-radius: 1rem;
}

.m-audioPlayer_button {
  position: relative;
  width: 1.2rem;
  height: 1.2rem;
}

.m-audioPlayer_button .a-svg {
  width: 1.2rem;
  height: 1.2rem;
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
}

.m-audioPlayer_button .-play {
  transform: scale(1);
}

.m-audioPlayer_button .-pause {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  transform: scale(0);
}

.m-audioPlayer.-isPlaying .m-audioPlayer_button .-play {
  visibility: hidden;
  transform: scale(0);
}

.m-audioPlayer.-isPlaying .m-audioPlayer_button .-pause {
  visibility: visible;
  transform: scale(1);
}

.m-audioPlayer_timer {
  min-width: 32px;
  text-align: right;
}

.m-audioPlayer input[type="range"] {
  position: relative;
  flex-grow: 1;
  float: left;
  width: 48%;
  height: 2px;
  margin: 0;
  padding: 0;
  background: #ececec;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.m-audioPlayer input[type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: 2px;
  background: linear-gradient(
    to right,
    #ececec var(--buffered-width),
    #ececec var(--buffered-width)
  );
  cursor: pointer;
}

.m-audioPlayer input[type="range"]:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--seek-before-width);
  height: 2px;
  background-color: #00522d;
  cursor: pointer;
}

.m-audioPlayer input[type="range"]::-webkit-slider-thumb {
  position: relative;
  box-sizing: content-box;
  width: 6px;
  height: 6px;
  margin: -3px 0 0;
  border: 1px solid #00522d;
  border-radius: 50%;
  background-color: #00522d;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.m-audioPlayer input[type="range"]:active::-webkit-slider-thumb {
  background: #00522d;
  transform: scale(1.2);
}

.m-audioPlayer input[type="range"]::-moz-range-track {
  width: 100%;
  height: 2px;
  background: linear-gradient(
    to right,
    rgba(0, 125, 181, 0.6) var(--buffered-width),
    rgba(0, 125, 181, 0.2) var(--buffered-width)
  );
  cursor: pointer;
}

.m-audioPlayer input[type="range"]::-moz-range-progress {
  background-color: #00522d;
}

.m-audioPlayer input[type="range"]::-moz-focus-outer {
  border: 0;
}

.m-audioPlayer input[type="range"]::-moz-range-thumb {
  box-sizing: content-box;
  width: 15px;
  height: 15px;
  border: 1px solid #00522d;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
}

.m-audioPlayer input[type="range"]:active::-moz-range-thumb {
  background: #00522d;
  transform: scale(1.2);
}

.m-audioPlayer input[type="range"]::-ms-track {
  width: 100%;
  height: 2px;
  border: solid transparent;
  background: transparent;
  color: transparent;
  cursor: pointer;
}

.m-audioPlayer input[type="range"]::-ms-fill-lower {
  background-color: #00522d;
}

.m-audioPlayer input[type="range"]::-ms-fill-upper {
  background: linear-gradient(
    to right,
    #00522d var(--buffered-width),
    #00522d var(--buffered-width)
  );
}

.m-audioPlayer input[type="range"]::-ms-thumb {
  box-sizing: content-box;
  width: 15px;
  height: 15px;
  border: 1px solid #00522d;
  border-radius: 50%;
  background-color: #fff8f6;
  cursor: pointer;
}

.m-audioPlayer input[type="range"]:active::-ms-thumb {
  background: #00522d;
  transform: scale(1.2);
}

.m-videoPlayer {
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  aspect-ratio: 45/68;
}

.m-videoPlayer .a-video {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.m-videoPlayer .a-video video {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.m-videoPlayer_timer {
  position: absolute;
  top: 5rem;
  right: 3rem;
  z-index: 2;
}

.m-videoPlayer_button {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background-color: #f29ebd;
  color: #00522d;
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: translate(-50%, -50%);
}

.m-videoPlayer_button .a-svg {
  width: 1.2rem;
  height: 1.2rem;
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
}

.m-videoPlayer_button:active {
  transform: translate(-50%, -50%) scale(0.8);
}

.m-videoPlayer_button .-sound-on,
.m-videoPlayer_button .-sound-off {
  width: 1.8rem;
  height: 1.8rem;
}

.m-videoPlayer_button .-play,
.m-videoPlayer_button .-sound-on {
  transform: scale(1);
}

.m-videoPlayer_button .-pause,
.m-videoPlayer_button .-sound-off {
  position: absolute;
  top: 50%;
  left: 50%;
  visibility: hidden;
  transform: translate(-50%, -50%) scale(0);
}

.m-videoPlayer_button.-muteToggle {
  display: none;
}

.m-videoPlayer.-isPlaying .m-videoPlayer_button .-play {
  visibility: hidden;
  transform: scale(0);
}

.m-videoPlayer.-isPlaying .m-videoPlayer_button .-pause {
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

.m-videoPlayer.-isMuted .m-videoPlayer_button .-sound-on {
  visibility: hidden;
  transform: scale(0);
}

.m-videoPlayer.-isMuted .m-videoPlayer_button .-sound-off {
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}

.m-fixedPanel {
  width: 100%;
  pointer-events: none;
  aspect-ratio: 45/68;
}

.m-fixedPanel_wrapper {
  z-index: 4;
  transform-origin: right center;
  perspective: 800px;
}

.m-fixedPanel_inner {
  backface-visibility: hidden;
  will-change: transform;
}

.is-inview .m-fixedPanel {
  pointer-events: all;
}

.m-dots {
  display: flex;
  flex-flow: row wrap;
  gap: 1rem;
  justify-content: center;
}

.m-dots_dot {
  position: relative;
  flex-grow: 1;
  width: 5%;
  height: 2px;
  opacity: 0.2;
  transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.m-dots_dot.-active {
  opacity: 1;
}

.m-dots_dot:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: calc(100% + 1.4rem);
  height: calc(100% + 1.4rem);
  cursor: pointer;
  transform: translate(-50%, -50%);
}

.m-teamPopin {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  display: none;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.m-teamPopin .m-dots_dot {
  opacity: 0;
}

.m-teamPopin_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f29ebdcc;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}

.m-teamPopin_closeButton {
  position: fixed;
  top: 1.5rem;
  left: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  transition: transform 0.2s;
  transform: translate(-50%) scale(0);
}

.m-teamPopin_closeButton .a-svg {
  width: 1.2rem;
  height: 1.2rem;
}

.m-teamPopin_closeButton:active {
  transform: translate(-50%) scale(0.8);
}

.m-teamPopin_prevButton,
.m-teamPopin_nextButton {
  position: fixed;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background-position: center;
  background-size: 100% auto;
  color: #00522d;
  transform: translateY(-50%) scale(0);
}

.m-teamPopin_prevButton .a-svg,
.m-teamPopin_nextButton .a-svg {
  width: 1.4rem;
  height: 1.4rem;
}

.m-teamPopin_prevButton {
  left: 1rem;
}

.m-teamPopin_prevButton .a-svg {
  transform: rotate(180deg);
}

.m-teamPopin_nextButton {
  right: 1rem;
}

.m-teamPopin_leftCard,
.m-teamPopin_rightCard {
  transform: translate(-500%);
}

.m-teamPopin_leftCard {
  position: absolute;
  top: 22%;
  left: 5%;
  z-index: 2;
  width: 60%;
  max-width: 45rem;
  aspect-ratio: 1/1;
  backface-visibility: hidden;
}

.m-teamPopin_leftCard .a-chatBubble {
  position: absolute;
  top: 0%;
  left: 20%;
  width: 6rem;
  height: 6rem;
  border-radius: 2.2rem;
  font-size: 3rem;
  transform: translate(-50%, -50%);
}

.m-teamPopin_leftCard .a-image {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 2rem;
}

.m-teamPopin_leftCard .a-image picture {
  display: contents;
}

.m-teamPopin_leftCard .a-image img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
}

.m-teamPopin_leftCard .m-audioPlayer {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translate(-50%);
}

.m-teamPopin_rightCard {
  position: absolute;
  top: 62%;
  left: 21%;
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
  width: 28rem;
  padding: 4.6rem 3rem;
  border-radius: 2rem;
  text-align: center;
  transform-origin: center center;
  backface-visibility: hidden;
}

.m-teamPopin_rightCard .a-chatBubble {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6rem;
  height: 6rem;
  border-radius: 2.2rem;
  font-size: 3rem;
  transform: translate(-50%, -50%);
}

.m-teamPopin .m-dots {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  z-index: 5;
  width: 100%;
  max-width: 46rem;
  padding: 0 3rem;
  transform: translate(-50%);
}

.m-teamPopin.-isOpen {
  pointer-events: all;
}

.m-teamPopin.-isOpen .m-teamPopin_overlay {
  opacity: 1;
}

.m-teamPopin.-isOpen .m-teamPopin_prevButton,
.m-teamPopin.-isOpen .m-teamPopin_nextButton,
.m-teamPopin.-isOpen .m-teamPopin_closeButton {
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
}

.m-teamPopin.-isOpen .m-teamPopin_prevButton,
.m-teamPopin.-isOpen .m-teamPopin_nextButton {
  transform: translateY(-50%) scale(1);
}

.m-teamPopin.-isOpen .m-teamPopin_prevButton:active,
.m-teamPopin.-isOpen .m-teamPopin_nextButton:active {
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: translateY(-50%) scale(0.8);
}

.m-teamPopin.-isOpen .m-teamPopin_closeButton {
  transform: translate(-50%) scale(1);
}

.m-teamPopin.-isOpen .m-teamPopin_closeButton:active {
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: translate(-50%) scale(0.8);
}

.m-teamPopin.-isOpen .m-dots_dot {
  opacity: 0.2;
}

.m-teamPopin.-isOpen .m-dots_dot.-active {
  opacity: 1;
}

.m-homeLabel {
  display: none;
  overflow: hidden;
  width: 200px;
  color: #db3c8a;
  font-size: 1.4rem;
  text-transform: uppercase;
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.m-homeLabel:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 1px;
  height: 1px;
  background-color: currentcolor;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scaleX(var(--scale, 0));
  transform-origin: left center;
}

.m-homeLabel .-current,
.m-homeLabel .-next {
  display: block;
}

.m-homeLabel .-next {
  position: absolute;
  top: 100%;
  left: 0;
}

.-white .m-homeLabel {
  color: #fff8f6;
}

.m-projectCard {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  overflow: hidden;
  border-radius: 2rem;
  aspect-ratio: 45/68;
}

.m-projectCard .m-dots {
  pointer-events: none;
}

.m-projectCard .m-dots_dot {
  position: relative;
  overflow: hidden;
  background-color: #fff8f666;
  opacity: 1;
  transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1) var(--delay, 0ms);
  transform: scaleX(0);
  transform-origin: right;
}

.m-projectCard .m-dots_dot:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: #fff8f6;
  transform: scaleX(var(--story-progress, 0));
  transform-origin: left;
}

.m-projectCard_cover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: none;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.8s cubic-bezier(0.645, 0.045, 0.355, 1);
  transform: scale(1.2);
  -o-object-position: center;
  object-position: center;
}

.m-projectCard_cover.-visible {
  display: block;
}

.m-projectCard_cover picture {
  display: inline;
}

.m-projectCard_cover img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.m-projectCard .a-image {
  background-color: var(--secondary-color);
}

.m-projectCard_title {
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  transform: translateY(var(--center-y, 0));
}

.m-projectCard_invisibleNav {
  display: grid;
  flex-grow: 1;
  grid-template-columns: 1fr 1fr;
  order: 1;
  cursor: pointer;
}

.m-projectCard_navButton {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #fff8f666;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translateY(-50%) scale(0);
}

.m-projectCard_navButton .a-svg {
  width: 1.4rem;
  height: 1.4rem;
}

.m-projectCard_navButton.-prev {
  left: 3rem;
}

.m-projectCard_navButton.-prev .a-svg {
  transform: rotate(180deg);
}

.m-projectCard_navButton.-next {
  right: 3rem;
}

.m-projectCard_actions {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
  align-items: flex-end;
  order: 2;
  margin-top: auto;
}

.m-projectCard_actionsButton {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scale(0);
}

.m-projectCard_actionsButton .a-svg {
  width: 1.2rem;
  height: 1.2rem;
}

.m-projectCard .a-likeButton {
  transform: scale(0);
}

.m-projectCard_tags {
  display: flex;
  flex-flow: column wrap;
  gap: 0.5rem;
  align-items: flex-end;
  margin-left: auto;
}

.m-projectCard .a-tag {
  display: block;
  opacity: 0;
  transition:
    transform 0.8s cubic-bezier(0.86, 0, 0.07, 1) var(--delay, 0ms),
    opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1) var(--delay, 0ms);
  transform: translateY(50%) rotate(3deg) scale(0);
}

.-active .m-projectCard .m-dots {
  pointer-events: all;
}

.-active .m-projectCard .m-dots_dot {
  transform: scaleX(1);
  transform-origin: left;
}

.-active .m-projectCard .m-projectCard_title {
  transform: translateY(0);
}

.-active .m-projectCard .m-projectCard_cover {
  transform: scale(1);
}

.-active .m-projectCard .a-likeButton,
.-active .m-projectCard .m-projectCard_actionsButton {
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: scale(1);
}

.-active .m-projectCard .a-likeButton:active,
.-active .m-projectCard .m-projectCard_actionsButton:active {
  transform: scale(0.8);
}

.-active .m-projectCard .a-likeButton:active .-love-fill,
.-active .m-projectCard .m-projectCard_actionsButton:active .-love-fill {
  transform: translate(-50%, -50%) scale(1);
}

.-active .m-projectCard .m-projectCard_navButton {
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: translateY(-50%) scale(1);
}

.-active .m-projectCard .m-projectCard_navButton:active {
  transform: translateY(-50%) scale(0.9);
}

.-active .m-projectCard .a-tag {
  opacity: 1;
  transform: translateY(0) rotate(0) scale(1);
}

.m-contactForm {
  position: absolute !important;
  overscroll-behavior: contain;
}

.m-contactForm_container {
  overflow: hidden auto;
  height: 100%;
}

.m-contactForm .m-popin__container {
  opacity: 1;
}

.m-contactForm_closeButton {
  --x: -50%;
  --scale: 0;
  position: fixed;
  top: 3rem;
  left: 50%;
  z-index: 3;
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

.m-contactForm .m-popin__overlay {
  position: fixed;
  background-color: transparent;
}

.m-contactForm .-shape-left {
  right: 99.5%;
  transform-origin: center right;
  aspect-ratio: 285/900;
}

.m-contactForm .-shape-right {
  left: 99.9%;
  transform-origin: center left;
  aspect-ratio: 295/900;
}

.m-contactForm .-shape-left,
.m-contactForm .-shape-right {
  position: absolute;
  top: 0;
  width: auto;
  height: 100%;
  color: #fce5df;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scaleX(0);
}

.m-contactForm_form {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 90%;
  max-width: 52rem;
  min-height: 100lvh;
  margin: 0 auto;
  padding: 12rem 0 3rem;
  background-color: #fce5df;
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scaleX(0);
}

.m-contactForm_form.-loading {
  cursor: progress;
}

.m-contactForm_form.-loading fieldset {
  opacity: 0.2 !important;
  pointer-events: none;
}

.m-contactForm legend {
  display: flex;
  flex-direction: column;
}

.m-contactForm legend em {
  color: #f29ebd;
}

.m-contactForm fieldset {
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.m-contactForm_step {
  display: none;
}

.m-contactForm_step.-active {
  display: block;
}

.m-contactForm_inputsGroup {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
}

.m-contactForm .-hidden {
  display: none;
}

.m-contactForm_buttonsGroup {
  display: flex;
  flex-flow: row wrap;
  gap: 1.5rem;
  justify-content: center;
  margin-top: 3rem;
}

.m-contactForm_rgpdLabel {
  position: relative;
  display: inline-flex;
  justify-content: center;
  text-align: left;
}

.m-contactForm_rgpdLabel:before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  margin-top: -0.3rem;
  margin-right: 0.5rem;
  border: 1px solid #d1cfe4;
  border-radius: 0.5rem;
  background-color: #fff8f6;
}

.m-contactForm_rgpdLabel:after {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 1rem;
  width: 1.2rem;
  height: 0.6rem;
  border-bottom: solid 2px #fff8f6;
  border-left: solid 2px #fff8f6;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.6) rotate(45deg);
}

.m-contactForm_rgpdLabel.-checked:before {
  border-color: #db3c8a;
  background-color: #db3c8a;
}

.m-contactForm_rgpdLabel.-checked:after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1) rotate(-45deg);
}

.m-contactForm.-isOpen .m-contactForm_closeButton {
  --scale: 1;
}

.m-contactForm.-isOpen .m-contactForm_form,
.m-contactForm.-isOpen .-shape-left,
.m-contactForm.-isOpen .-shape-right {
  transform: scaleX(1);
}

.m-contactForm.-isOpen fieldset {
  opacity: 1;
  transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
}

.m-contactForm_successMessage {
  position: fixed;
  z-index: 5;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.m-contactForm_successMessage p {
  max-width: 48rem;
}

.m-contactForm_successMessage em {
  color: #f29ebd;
}

.m-contactForm_form.-success + .m-contactForm_successMessage {
  display: flex;
}

.m-contactForm_form.-success
  + .m-contactForm_successMessage
  .m-contactForm_successIllustration {
  transform: translateY(0);
}

.m-contactForm_form.-success
  + .m-contactForm_successMessage
  .m-contactForm_successIllustration
  #arm {
  transform: rotate(0);
}

.m-contactForm_form.-success
  + .m-contactForm_successMessage
  .m-contactForm_successIllustration
  #hand,
.m-contactForm_form.-success
  + .m-contactForm_successMessage
  .m-contactForm_successIllustration
  #eyebrow-left,
.m-contactForm_form.-success
  + .m-contactForm_successMessage
  .m-contactForm_successIllustration
  #eyebrow-right {
  animation-play-state: running !important;
}

.m-contactForm_successIllustration {
  position: absolute;
  right: 5%;
  bottom: -2%;
  max-width: 30rem;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
  transform: translateY(100%);
}

#eyebrow-left,
#eyebrow-right {
  animation: eyebrow-animation 3s ease-in-out infinite paused;
}

#hand {
  transform-origin: 100px 92px;
  animation: hand-animation 3s ease-in-out infinite paused;
}

#arm {
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
  transform: rotate(120deg);
  transform-origin: 77px 112px;
}

@keyframes eyebrow-animation {
  0%,
  15%,
  25%,
  to {
    transform: translateY(0);
  }

  10%,
  20% {
    transform: translateY(-1px);
  }
}

@keyframes hand-animation {
  0%,
  50%,
  to {
    transform: rotate(0);
  }

  5%,
  25% {
    transform: rotate(8deg);
  }

  15%,
  35% {
    transform: rotate(-8deg);
  }
}

@keyframes arm-animation {
  0%,
  to {
    transform: rotate(0);
  }

  15%,
  40%,
  80% {
    transform: rotate(-8deg);
  }
}

.m-whatsappCard {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.m-whatsappPopin {
  position: fixed;
  z-index: 70;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 3rem;
  pointer-events: none;
}

.m-whatsappPopin_overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f29ebdcc;
  opacity: 0;
}

.m-whatsappPopin .m-whatsappCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 46rem;
  padding: 6rem 3rem;
  border-radius: 2.5rem;
  transition: clip-path 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  clip-path: rect(50% 50% 50% 50% round 10rem);
}

.m-whatsappPopin .m-whatsappCard > * {
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.-isWhatsAppPopinOpened .m-whatsappPopin {
  pointer-events: all;
}

.-isWhatsAppPopinOpened .m-whatsappPopin .m-whatsappCard {
  clip-path: rect(0% 100% 100% 0% round 2.5rem);
}

.-isWhatsAppPopinOpened .m-whatsappPopin .m-whatsappCard > * {
  opacity: 1;
}

.-isWhatsAppPopinOpened .m-whatsappPopin_overlay {
  cursor: pointer;
}

.m-keyPopin {
  z-index: 90;
}

.m-keyPopin .m-popin__container {
  gap: 1rem;
  align-items: center;
  padding: 1.5rem;
}

.m-keyPopin .b-keyFigure_modalContent {
  max-width: 50rem;
  margin: auto;
}

.m-tags {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
}

.m-storiesSlider {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 1.5rem;
  aspect-ratio: 45/68;
}

.m-storiesSlider .m-dots_dot {
  position: relative;
  overflow: hidden;
  background-color: #fff8f666;
  opacity: 1;
  transform-origin: right;
}

.m-storiesSlider .m-dots_dot:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: #fff8f6;
  transform: scaleX(var(--story-progress, 0));
  transform-origin: left;
}

.m-storiesSlider_cover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: none;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  -o-object-position: center;
  object-position: center;
}

.m-storiesSlider_cover.-visible {
  display: block;
}

.m-storiesSlider_cover picture {
  display: inline;
}

.m-storiesSlider_cover img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.m-storiesSlider .a-image {
  background-color: var(--secondary-color);
}

.m-storiesSlider_invisibleNav {
  display: grid;
  flex-grow: 1;
  grid-template-columns: 1fr 1fr;
  order: 1;
  cursor: pointer;
}

.m-storiesSlider_navButton {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #fff8f666;
  transition: transform 0.4s cubic-bezier(0.17, 0.67, 0.3, 1.33);
  transform: translateY(-50%) scale(1);
}

.m-storiesSlider_navButton:active {
  transform: translateY(-50%) scale(0.9);
}

.m-storiesSlider_navButton .a-svg {
  width: 1.4rem;
  height: 1.4rem;
}

.m-storiesSlider_navButton.-prev {
  left: 3rem;
}

.m-storiesSlider_navButton.-prev .a-svg {
  transform: rotate(180deg);
}

.m-storiesSlider_navButton.-next {
  right: 3rem;
}

.-active .m-storiesSlider .m-dots {
  pointer-events: all;
}

.-active .m-storiesSlider .m-dots_dot {
  transform: scaleX(1);
  transform-origin: left;
}

.-active .m-storiesSlider .m-storiesSlider_navButton {
  transform: translateY(-50%) scale(1);
}

.-active .m-storiesSlider .m-storiesSlider_navButton:active {
  transform: translateY(-50%) scale(0.9);
}

.-active .m-storiesSlider .a-tag {
  opacity: 1;
  transform: translateY(0) rotate(0) scale(1);
}

.m-socials {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
}

.m-socials_item {
  display: flex;
}

.m-socials_icon {
  width: 2.4rem;
  height: 2.4rem;
}

.o-footer {
  overflow: hidden;
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.o-footer_wrapper {
  display: flex;
  flex-flow: column wrap;
  gap: 1.5rem;
  align-items: center;
}

.o-footer .m-socials {
  gap: 1rem;
}

.o-footer .m-socials_icon {
  width: 2rem;
  height: 2rem;
}

.o-footer_links {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  align-items: center;
}

.o-footer .m-logo .a-svg:first-child {
  margin-left: -1.5%;
}

.o-footer .m-logo .a-svg:last-child {
  margin-right: -1.5%;
}

.o-footer.is-inview .m-logo .a-svg {
  transform: translateY(0);
}

.o-footer_contactCards {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr;
}

.o-footer_contactCards .a-image {
  overflow: hidden;
  border-radius: 2rem;
  transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-footer_contactCards .a-image picture {
  width: 100%;
  height: 100%;
}

.o-footer_contactCards .a-image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.o-footer_contactCard {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  border-radius: 2rem;
  transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
  transform: translate(-50%, 200%);
}

.o-footer_contactCard p {
  max-width: 30rem;
}

.o-footer.-once .a-image {
  transform: rotate(-3deg) translate(-30%, -30%);
}

.o-footer.-once .o-footer_contactCard {
  transform: rotate(6deg);
}

.o-menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 80;
  display: none;
  flex-direction: row;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.o-menu_overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #f29ebdcc;
  opacity: 0;
  cursor: pointer;
  transition: opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1);
}

.o-menu_leftPanel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-grow: 1;
  flex-basis: 40%;
  height: 100%;
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  transform: translate(-100%);
}

.o-menu_leftWrapper {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: space-between;
  padding: 3rem 3rem 9rem;
}

.o-menu_leftBottom {
  display: flex;
  flex-flow: column wrap;
  gap: 1.5rem;
}

.o-menu .-s-menu {
  z-index: 1;
  display: none;
  flex-shrink: 0;
  width: auto;
  height: 100%;
  transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
  aspect-ratio: 305/923;
}

.o-menu .-s-menu.-left {
  margin-right: -5%;
  transform: translate(-2px) scaleX(0);
  transform-origin: center left;
}

.o-menu .-s-menu.-right {
  margin-left: -5%;
  transform: rotate(180deg) scaleX(0);
  transform-origin: center left;
}

.o-menu_rightPanel {
  display: none;
}

.o-menu_rightWrapper {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 3rem 6rem;
}

.o-menu .m-whatsappCard {
  max-width: 46rem;
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1);
}

.o-menu_menu {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  gap: 1rem;
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.86, 0, 0.07, 1);
}

.o-menu_item a {
  display: inline-block;
  opacity: 0;
  transition:
    transform 0.2s cubic-bezier(0.23, 1, 0.32, 1),
    opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translateY(120%);
}

.o-menu_item {
  overflow: hidden;
}

.o-menu .m-socials_icon {
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.-isMenuOpen .o-menu {
  pointer-events: all;
}

.-isMenuOpen .o-menu_leftPanel,
.-isMenuOpen .o-menu_rightPanel {
  transform: translate(0);
}

.-isMenuOpen .o-menu .-s-menu {
  transform: translate(-1px) scaleX(1);
}

.-isMenuOpen .o-menu .-s-menu.-right {
  transform: rotate(180deg) translate(-101%) scaleX(1);
}

.-isMenuOpen .o-menu_item a {
  opacity: 1;
  transition:
    transform 0.8s cubic-bezier(0.86, 0, 0.07, 1) var(--delay, 0ms),
    opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translateY(0);
}

.-isMenuOpen .o-menu_overlay,
.-isMenuOpen .o-menu_menu,
.-isMenuOpen .o-menu .m-whatsappCard,
.-isMenuOpen .o-menu .m-socials_icon {
  opacity: 1;
}

.o-homeHero {
  overflow: hidden;
  padding-top: 1rem;
}

.o-homeHero_content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1.5rem;
  text-align: center;
}

.o-homeHero_content em {
  color: #db3c8a;
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeHero_cardsWrapper {
  margin-top: -1.5rem;
}

.o-homeHero .m-fixedPanel_inner {
  position: relative;
}

.o-homeHero_card {
  width: 100%;
  height: 100%;
  transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translateY(150%);
  aspect-ratio: 45/68;
}

.o-homeHero_card:not(:first-child) {
  position: absolute;
  top: 0%;
  z-index: -1;
}

.o-homeHero_card:not(:first-child) .a-image {
  transform: scale(0.75);
}

.o-homeHero_cardBubble {
  position: absolute;
  pointer-events: none;
  animation: flap 8s ease-in-out infinite paused;
}

.o-homeHero_card .a-chatBubble {
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0.1s;
  transform: scale(0);
}

.o-homeHero_card .a-image {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100%;
  border-radius: 2rem;
  will-change: transform;
}

.o-homeHero_card .a-image picture {
  display: contents;
}

.o-homeHero_card .a-image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
}

.o-homeHero_card:nth-child(2) {
  left: 0;
}

.o-homeHero_card:nth-child(2) .a-chatBubble:before {
  left: 20%;
}

.o-homeHero_card:nth-child(2) .a-chatBubble:after {
  left: 33%;
}

.o-homeHero_card:nth-child(3) {
  right: 0;
}

.o-homeHero_card:nth-child(3) .a-chatBubble:before {
  left: 20%;
}

.o-homeHero_card:nth-child(3) .a-chatBubble:after {
  left: 18%;
}

.-once .o-homeHero .m-logo .a-svg {
  transform: translateY(0);
}

.-once .o-homeHero .o-homeHero_card:nth-child(1) {
  transform: translate(0);
}

.-once .o-homeHero .o-homeHero_card:nth-child(2) {
  transform: translate(calc(-80% * (1 - var(--progress))))
    rotate(calc(-3deg * (1 - var(--progress))));
}

.-once .o-homeHero .o-homeHero_card:nth-child(3) {
  transform: translate(calc(80% * (1 - var(--progress))))
    rotate(calc(3deg * (1 - var(--progress))));
}

.o-homeHero.-active .m-fixedPanel {
  pointer-events: all;
}

.o-homeHero.-active .a-chatBubble:before,
.o-homeHero.-active .a-chatBubble:after {
  transform: scale(1);
}

.o-homeHero.-active .o-homeHero_card:nth-child(1) .a-chatBubble {
  transform: scale(1) rotate(8deg);
}

.o-homeHero.-active .o-homeHero_card:nth-child(2) .a-chatBubble {
  transform: scale(1) rotate(-8deg);
}

.o-homeHero.-active .o-homeHero_card:nth-child(3) .a-chatBubble {
  transform: scale(1) rotate(8deg);
}

.o-homeHero.-active .o-homeHero_cardBubble {
  animation-play-state: running;
}

.o-homeHero:not(.-active) em {
  color: #fff8f6;
}

.o-homeAgency {
  align-items: center;
  overflow: hidden;
  margin-top: 14rem;
  margin-bottom: 14rem;
  padding-top: 14rem;
}

.o-homeAgency_left,
.o-homeAgency_right {
  text-align: center;
}

.o-homeAgency .m-videoPlayer {
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translate(25%) translateZ(-60px) rotateY(90deg) scale(0.5);
  transform-origin: right center;
}

.o-homeAgency.-animateIn .m-videoPlayer {
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate(0) translateZ(0) rotateY(0) scale(1);
}

.o-homeAgency.-animateOut .m-videoPlayer {
  transform: translate(-25%) translateZ(-60px) rotateY(-90deg) scale(0.5);
}

.o-homeTeam {
  align-items: center;
  overflow: hidden;
  padding-top: 18rem;
  padding-bottom: 11rem;
}

.o-homeTeam_left,
.o-homeTeam_right {
  text-align: center;
}

.o-homeTeam_left .tx-lg,
.o-homeTeam_right .tx-lg {
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeTeam_left em,
.o-homeTeam_right em {
  color: #f29ebd;
}

.o-homeTeam_left {
  position: relative;
  margin-bottom: 1.5rem;
}

.o-homeTeam_left .a-chatBubble {
  transform: rotate(16deg) translateY(-40%) scale(0);
  transform-origin: 20% 80%;
}

.o-homeTeam_left .a-chatBubble:before {
  left: 70%;
}

.o-homeTeam_left .a-chatBubble:after {
  left: 65%;
}

.o-homeTeam_bubbleWrapper {
  position: absolute;
  top: 0%;
  right: 0%;
  animation: flap 8s ease-in-out infinite paused;
}

.o-homeTeam_right {
  margin-top: 1.5rem;
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeTeam_cards {
  position: relative;
}

.o-homeTeam_card {
  position: relative;
  overflow: hidden;
  border-radius: 2rem;
  aspect-ratio: 45/68;
}

.o-homeTeam_card .a-image {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.o-homeTeam_card .a-image picture {
  display: inline;
}

.o-homeTeam_card .a-image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.o-homeTeam_card:nth-child(1) {
  z-index: 2;
}

.o-homeTeam_card:nth-child(2),
.o-homeTeam_card:nth-child(3) {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  transition: transform 0.2s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scale(0.99);
  backface-visibility: hidden;
}

.o-homeTeam .m-fixedPanel_inner {
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate(25%) translateZ(-60px) rotateY(90deg) scale(0.5);
  transform-origin: right center;
}

.o-homeTeam.is-inview .a-pin:before {
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1) var(--delay, 0s);
  transform: translate(-50%, -50%) scale(1);
}

.o-homeTeam.is-inview .o-homeTeam_bubbleWrapper {
  animation-play-state: running;
}

.o-homeTeam.is-inview .o-homeTeam_left .a-chatBubble {
  transform: rotate(8deg) translateY(-40%) scale(1);
}

.o-homeTeam.is-inview .o-homeTeam_card:nth-child(2),
.o-homeTeam.is-inview .o-homeTeam_card:nth-child(3) {
  transition: transform 1.4s cubic-bezier(0.23, 1, 0.32, 1) 0.8s;
}

.o-homeTeam.is-inview .o-homeTeam_card:nth-child(2) {
  transform: translate(-20%) scale(0.72) rotate(-3deg);
}

.o-homeTeam.is-inview .o-homeTeam_card:nth-child(3) {
  transform: translate(20%) scale(0.72) rotate(3deg);
}

.o-homeTeam.-animateIn .m-fixedPanel_inner {
  transition: transform 2s cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate(0) translateZ(0) rotateY(0) scale(1);
}

.o-homeProjects {
  padding-top: 14rem;
  padding-bottom: 14rem;
}

.o-homeProjects_title {
  position: relative;
  text-align: center;
}

.o-homeProjects_title .tx-lg {
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeProjects_bubbleWrapper {
  position: absolute;
  right: 0;
  bottom: 100%;
  animation: flap 8s ease-in-out infinite paused;
}

.o-homeProjects .a-chatBubble {
  transform: rotate(-16deg) translateY(-40%) scale(0);
  transform-origin: 20% 80%;
}

.o-homeProjects .a-chatBubble:before {
  left: 70%;
}

.o-homeProjects .a-chatBubble:after {
  left: 65%;
}

.o-homeProjects_thumbnails {
  position: fixed;
  bottom: 1.9rem;
  left: 0%;
  z-index: 2;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  justify-content: center;
  width: 100%;
  pointer-events: none;
}

.o-homeProjects_thumbnail {
  position: relative;
  overflow: hidden;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: scale(0);
  transform-origin: center center;
}

.o-homeProjects_thumbnail:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: solid 3px #fff8f6;
  border-radius: 50%;
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.o-homeProjects_thumbnail.-active:before {
  opacity: 1;
}

.o-homeProjects_thumbnail picture {
  display: block;
}

.o-homeProjects_thumbnail img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.o-homeProjects_thumbnail.-counter {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.6rem;
  font-family:
    Clash Grotesk,
    sans-serif;
}

.o-homeProjects_list {
  display: flex;
  flex-flow: row nowrap;
  gap: 1.5rem;
  margin: 0 auto;
  perspective: 800px;
}

.o-homeProjects_item {
  flex-shrink: 0;
  width: 83.333%;
  opacity: 0;
  transition:
    transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translateY(25%) translateZ(0) rotateY(0) scale(1);
  transform-origin: left center;
  backface-visibility: hidden;
  scroll-snap-align: center;
}

.o-homeProjects_item:nth-child(2) {
  width: 91.667%;
  padding-left: 8.333%;
}

.o-homeProjects_item:last-child {
  width: 91.667%;
  padding-right: 8.333%;
}

.o-homeProjects_placeholder,
.o-homeProjects_moreCard,
.o-homeProjects .m-projectCard {
  flex-shrink: 0;
  width: 100%;
}

.o-homeProjects_placeholder {
  display: none;
  aspect-ratio: 45/68;
  scroll-snap-align: center;
}

.o-homeProjects_moreCard {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 2rem;
  background-color: #db3c8a;
  aspect-ratio: 45/68;
}

.o-homeProjects_moreCard .a-button {
  --delay: 0s;
  pointer-events: all;
}

.o-homeProjects.-animateIn .o-homeProjects_item {
  opacity: 1;
  transition:
    transform 2s cubic-bezier(0.19, 1, 0.22, 1) var(--delay),
    opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) var(--delay);
  transform: translate(0) translateZ(0) rotateY(0) scale(1);
}

.o-homeProjects.is-inview .a-chatBubble {
  transform: rotate(-8deg) translateY(-40%) scale(1);
}

.o-homeProjects.is-inview .o-homeProjects_thumbnails {
  pointer-events: auto;
}

.o-homeProjects.is-inview .o-homeProjects_thumbnail {
  transform: scale(1);
}

.o-homeProjects.is-inview .o-homeProjects_bubbleWrapper {
  animation-play-state: running;
}

.o-homeManifest {
  position: relative;
  z-index: 50;
  height: 400vh;
}

.o-homeManifest_screen {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  text-align: center;
}

.o-homeManifest_background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background-color: #db3c8a;
  pointer-events: none;
  transform: scale(0);
  transform-origin: center;
}

.o-homeManifest_text1 {
  z-index: 5;
  max-width: 90rem;
}

.o-homeManifest_text2 {
  z-index: 5;
}

.o-homeManifest_text1,
.o-homeManifest_text2 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 0 2rem;
  transform: translate(-50%) translateY(-50%);
}

.o-homeManifest_wordWrapper {
  display: inline-flex;
  overflow: hidden;
  transform: translateZ(0);
}

.o-homeManifest_word {
  display: inline-block;
  transform: translateY(120%);
  backface-visibility: hidden;
}

.o-homeManifest_shapeWrapper {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #db3c8a;
  opacity: 0;
  transform: rotate(-12deg) scale(1.4);
}

.o-homeManifest_shapeWrapper:after {
  content: "";
  position: absolute;
  top: 0;
  left: 99%;
  z-index: 2;
  width: 150%;
  height: 100%;
  background-color: #db3c8a;
  pointer-events: none;
}

.o-homeManifest_shapeWrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: 99%;
  z-index: 2;
  width: 150%;
  height: 100%;
  background-color: #db3c8a;
  pointer-events: none;
}

.o-homeManifest polyline {
  fill: none;
  stroke: #d1cfe4;
  transition:
    stroke-dashoffset 0s cubic-bezier(0.77, 0, 0.175, 1),
    stroke-width 0s cubic-bezier(0.77, 0, 0.175, 1);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 140px;
  stroke-dasharray: 2000px;
  stroke-dashoffset: 2000px;
}

.o-homeManifest:after,
.o-homeManifest:before {
  content: "";
  position: absolute;
  z-index: 2;
  display: none;
  background-color: #fff;
  pointer-events: none;
  mix-blend-mode: difference;
}

.o-homeManifest:after {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-1px);
}

.o-homeManifest:before {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translate(-1px);
}

.o-homeManifest svg {
  height: 100%;
}

.o-homeManifest_shape {
  fill: #db3c8a;
}

.o-homeManifest_imgWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%) scale(1.4) rotate(-12deg);
}

.o-homeManifest_img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%;
  opacity: 0.001;
  will-change: transform;
}

.o-homeExpertises {
  margin-top: 14rem;
  margin-bottom: 14rem;
}

.o-homeExpertises_left,
.o-homeExpertises_right {
  text-align: center;
}

.o-homeExpertises_left em,
.o-homeExpertises_right em {
  color: #fce5df;
}

.o-homeExpertises_left {
  position: relative;
  z-index: 5;
}

.o-homeExpertises_left .tx-lg {
  padding: 0 8.333%;
}

.o-homeExpertises_titleWrapper {
  position: relative;
}

.o-homeExpertises_bubbleWrapper {
  position: absolute;
  right: 0;
  animation: flap 8s ease-in-out infinite paused;
}

.o-homeExpertises .a-chatBubble {
  transform: rotate(16deg) translateY(60%) scale(0);
}

.o-homeExpertises .a-chatBubble:before {
  left: 70%;
}

.o-homeExpertises .a-chatBubble:after {
  left: 65%;
}

.o-homeExpertises_right {
  position: relative;
}

.o-homeExpertises_expertiseItem .tx-sm {
  display: block;
  max-width: 20rem;
  margin: 0 auto 1.5rem;
  text-align: center;
  cursor: pointer;
  transition: color 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeExpertises_expertiseItem.-active .a-tag {
  opacity: 1;
  transform: scale(1);
}

.o-homeExpertises_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  place-content: flex-start center;
}

.o-homeExpertises .a-tag {
  opacity: 0.5;
  transition:
    transform 0.8s cubic-bezier(0.23, 1, 0.32, 1),
    opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  transform: scale(0.8);
  transform-origin: center center;
}

.o-homeExpertises_list {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  gap: 3rem;
  padding: 0.5rem 0;
}

.o-homeExpertises_item {
  flex-shrink: 0;
  width: 50%;
  scroll-snap-align: center;
}

.o-homeExpertises_card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 177/220;
}

.o-homeExpertises_card .a-image {
  width: 100%;
  height: 100%;
}

.o-homeExpertises_card .a-image picture {
  display: contents;
  height: 100%;
}

.o-homeExpertises_card .a-image img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  max-width: none;
  height: 100%;
}

.o-homeExpertises.is-inview .a-chatBubble {
  transform: rotate(8deg) translateY(0) scale(1);
}

.o-homeExpertises.is-inview .o-homeExpertises_bubbleWrapper {
  animation-play-state: running;
}

.o-homeProcess_list {
  display: flex;
  flex-flow: row nowrap;
  gap: 1.5rem;
}

.o-homeProcess_item {
  flex-shrink: 0;
  width: 66.667%;
  scroll-snap-align: center;
}

.o-homeProcess_item:nth-child(1) {
  transform: rotate(1deg);
}

.o-homeProcess_item:nth-child(2) {
  transform: rotate(-2deg);
}

.o-homeProcess_item:nth-child(3) {
  transform: rotate(-1deg);
}

.o-homeProcess_item:nth-child(4) {
  transform: rotate(3deg);
}

.o-homeProcess_card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  border-radius: 1rem;
  transition: background-color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  aspect-ratio: 45/68;
}

.o-homeProcess_left,
.o-homeProcess_right {
  z-index: 2;
  text-align: center;
}

.o-homeProcess_title {
  position: relative;
}

.o-homeProcess em {
  color: #f29ebd;
}

.o-homeProcess_bubbleWrapper {
  position: absolute;
  bottom: 125%;
  left: 0%;
  animation: flap 8s ease-in-out infinite paused;
}

.o-homeProcess .a-chatBubble {
  background-color: #fff8f6;
  transform: rotate(8deg);
}

.o-homeProcess .a-chatBubble:before {
  left: 70%;
  background-color: #fff8f6;
}

.o-homeProcess .a-chatBubble:after {
  left: 65%;
  background-color: #fff8f6;
}

.o-homeProcess.is-inview .o-homeProcess_bubbleWrapper {
  animation-play-state: running;
}

.o-homeWhy {
  margin-bottom: 8rem;
}

.o-homeWhy_title {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

.o-homeWhy_title em {
  color: #fff8f6;
}

.o-homeWhy_list {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 2rem;
  align-items: center;
  max-width: 1900px;
  margin: 0 auto;
  padding: 0 6rem;
}

.o-homeWhy_card {
  position: sticky;
  top: 50%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 40rem;
  margin: 50% auto 0;
  padding: 3rem;
  border-radius: 2rem;
  aspect-ratio: 32/45;
}

.o-homeWhy_card:nth-child(1) {
  transform: translateY(-50%) rotate(-2deg);
}

.o-homeWhy_card:nth-child(2) {
  transform: rotate(3deg) translateY(-50%);
}

.o-homeWhy_card:nth-child(3) {
  transform: rotate(-2deg) translateY(-50%);
}

.o-homeWhy_card:nth-child(4) {
  transform: rotate(3deg) translateY(-50%);
}

.o-homeWhy_card .a-image {
  width: 8rem;
  height: 8rem;
}

.o-homeFaq {
  padding-top: 14rem;
  padding-bottom: 14rem;
}

.o-homeFaq_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  padding-bottom: 3rem;
  text-align: center;
}

.o-homeFaq .tx-lg,
.o-homeFaq .tx-p,
.o-homeFaq em {
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeFaq em {
  color: #fff8f6;
}

.o-homeFaq_bubbleWrapper {
  position: absolute;
  right: 0;
  bottom: 110%;
  animation: flap 8s ease-in-out infinite paused;
}

.o-homeFaq_bubbleWrapper .a-chatBubble {
  transform: rotate(8deg);
}

.o-homeFaq_bubbleWrapper .a-chatBubble:before {
  left: 70%;
}

.o-homeFaq_bubbleWrapper .a-chatBubble:after {
  left: 65%;
}

.o-homeFaq_right {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.o-homeFaq .m-accordeon:not(:last-child) {
  border-color: #fff8f6;
}

.o-homeFaq.is-inview .o-homeFaq_bubbleWrapper {
  animation-play-state: running;
}

.o-homeFaq.is-inview em {
  color: #f29ebd;
}

.o-homeFaq.is-inview .m-accordeon:not(:last-child) {
  border-color: #f29ebd;
}

.o-homeFaq .tx-lxl {
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeFaq .m-accordeon_button {
  transition: background-color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.o-homeFaq:not(.is-inview) .tx-lg,
.o-homeFaq:not(.is-inview) .tx-p,
.o-homeFaq:not(.is-inview) .tx-lxl {
  color: #fff8f6;
}

.o-homeFaq:not(.is-inview) .m-accordeon_button {
  background-color: #fce5df;
}

.b-text {
  border-radius: 1.5rem;
  background-color: var(--secondary-color);
}

.b-image {
  overflow: hidden;
  border-radius: 1.5rem;
}

.b-image picture {
  display: block;
}

.b-image img {
  width: 100%;
}

.b-quote {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  border-radius: 1.5rem;
  background-color: var(--secondary-color);
}

.b-quote .a-svg {
  width: 2.9rem;
  height: 2.9rem;
}

.b-quote_credits {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: center;
}

.b-quote .a-image {
  flex-shrink: 0;
  flex-basis: 6rem;
  overflow: hidden;
  border-radius: 50%;
  aspect-ratio: 1/1;
}

.b-socials {
  border-radius: 1.5rem;
  background-color: var(--secondary-color);
}

.b-socials_list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.b-socials_item {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: center;
}

.b-socials .a-image {
  flex-shrink: 0;
  flex-basis: 6rem;
  overflow: hidden;
  border-radius: 50%;
  aspect-ratio: 1/1;
}

.b-socials span {
  display: block;
}

.b-keyFigure {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 1.5rem;
  background-color: var(--secondary-color);
}

.b-keyFigure .a-button {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  background-color: #fff8f633;
}

.b-keyFigure_modalContent {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  border-radius: 1.5rem;
  background-color: var(--secondary-color);
}

.b-keyFigure_modalContent.-hidden {
  display: none;
}

.t-projectsindex_left {
  margin-top: 9rem;
}

.t-projectsindex_leftContent {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: center;
}

.t-projectsindex_list {
  display: flex;
  flex-direction: column;
  gap: 9rem;
  padding-top: 3rem;
  padding-bottom: 9rem;
}

.t-projectsindex_bubbleWrapper {
  position: absolute;
  right: 0;
  bottom: 75%;
  animation: flap 8s ease-in-out infinite;
}

.t-projectsindex .a-chatBubble:before {
  left: 75%;
}

.t-projectsindex .a-chatBubble:after {
  left: 65%;
}

.t-projectsindex_item.is-inview .m-projectCard_actionsButton {
  transform: scale(1);
}

.t-projectsindex_item.is-inview .m-projectCard_actionsButton:active {
  transform: scale(0.8);
}

.t-projectsindex_item.is-inview .t-projectsindex_itemTitle,
.t-projectsindex_item.is-inview .t-projectsindex_itemExcerpt {
  opacity: 1;
}

.t-projectsindex_item.is-inview .a-tag {
  opacity: 1;
  transform: scale(1);
}

.t-projectsindex_item.is-inview .a-button {
  --scale: 1;
}

.t-projectsindex_item.is-inview .a-likeButton {
  transform: scale(1);
}

.t-projectsindex_item.is-inview .a-likeButton:active {
  transform: scale(0.8);
}

.t-projectsindex_item .a-button {
  --scale: 0;
}

.t-projectsindex_item .a-likeButton {
  transform: scale(0);
}

.t-projectsindex .a-tag {
  opacity: 0;
  transition:
    opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1),
    transform 0.4s cubic-bezier(0.23, 1, 0.32, 1) var(--delay, 0ms);
  transform: scale(0);
}

.t-projectsindex_itemTitle,
.t-projectsindex_itemExcerpt {
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1) var(--delay, 0ms);
}

.t-projectsindex_storiesWrapper {
  position: relative;
  flex-basis: 50%;
}

.t-projectsindex_storiesActions {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  z-index: 2;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  transform: translate(-50%);
}

.t-projectsindex_content {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  margin-top: 1.5rem;
  text-align: center;
}

.t-projectsindex .m-tags {
  justify-content: center;
}

.is-loaded .t-projectsindex .a-chatBubble {
  transform: scale(1) translateY(-100%) rotate(-8deg);
}

.is-loaded .t-projectsindex .a-chatBubble:before,
.is-loaded .t-projectsindex .a-chatBubble:after {
  transform: translate(-50%) scale(1);
}

.t-projectsitem .a-likeButton {
  position: sticky;
  bottom: 1.5rem;
  margin: 0 auto;
  margin-top: 3rem;
}

.t-projectsitem_left {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  padding: 9rem 0 3rem;
}

.t-projectsitem_tags {
  display: flex;
  flex-flow: row wrap;
  gap: 0.5rem;
  align-items: flex-start;
  justify-content: center;
  order: -1;
}

.t-projectsitem_blocksWrapper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.t-projectsitem_blocks {
  display: flex;
  flex-basis: 100%;
  flex-direction: column;
  gap: 1.5rem;
}

.t-projectsitem_footerTitle {
  position: relative;
  margin-bottom: 3rem;
  text-align: center;
}

.t-projectsitem_footerTitle .a-chatBubble {
  z-index: -1;
  background-color: #fff8f6;
  transform: rotate(-24deg) translateY(-150%) scale(0);
}

.t-projectsitem_footerTitle .a-chatBubble:before,
.t-projectsitem_footerTitle .a-chatBubble:after {
  background-color: #fff8f6;
}

.t-projectsitem_footerTitle .a-chatBubble:before {
  left: 75%;
}

.t-projectsitem_footerTitle .a-chatBubble:after {
  left: 70%;
}

.t-projectsitem_footerTitle.is-inview .a-chatBubble {
  transform: rotate(-8deg) translateY(-120%) scale(1);
}

.t-projectsitem_footerTitle.is-inview .t-projectsitem_bubbleWrapper {
  animation-play-state: running;
}

.t-projectsitem_bubbleWrapper {
  position: absolute;
  top: 0;
  right: 0;
  animation: flap 8s ease-in-out infinite paused;
}

.t-projectsitem_relatedProjects {
  display: flex;
  flex-flow: row wrap;
  gap: 1.5rem;
  justify-content: center;
}

.t-projectsitem_relatedProjects li {
  flex-basis: calc(50% - 0.75rem);
  text-align: center;
}

.t-projectsitem_relatedProject p,
.t-projectsitem_relatedProject img {
  transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.t-projectsitem .a-fixedLink {
  transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.t-projectsitem .is-inview + .a-fixedLink {
  color: #db3c8a;
}

.t-projectsitem_footerCover {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  max-width: 12rem;
  margin: 0 auto;
  border-radius: 50%;
  font-size: 4.2rem;
  aspect-ratio: 1/1;
}

.t-text_left {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  padding: 9rem 0 4.5rem;
}

.t-text_left em {
  color: #f29ebd;
}

@media only screen and (min-width: 768px) {
  .o-footer_contactCards {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }

  .o-footer.-once .a-image {
    transform: rotate(-3deg);
  }

  .o-homeTeam.is-inview .o-homeTeam_left .a-chatBubble {
    transform: rotate(8deg) translateY(-100%) translate(40%) scale(1);
  }

  .o-homeProjects_item:nth-child(2) {
    width: 75%;
    padding-left: 25%;
  }

  .o-homeProjects_item:last-child {
    width: 75%;
    padding-right: 25%;
  }

  .o-homeProjects_item {
    width: 50%;
  }

  .o-homeExpertises_list {
    padding: 1rem 0;
  }

  .t-projectsitem_blocksWrapper {
    flex-direction: row;
    gap: 1.5rem;
  }

  .t-projectsitem_blocks.-left [data-projects-item="right-block"] {
    display: none;
  }

  .t-projectsitem_blocks {
    flex-basis: calc(50% - 0.75rem);
    gap: 1.5rem;
  }

  .t-projectsitem_relatedProjects li {
    flex-basis: calc(33% - 0.25rem);
  }
}

@media only screen and (min-width: 961px) {
  .a-tag {
    border-radius: 1rem;
  }

  .a-fixedLink {
    position: fixed;
    bottom: 3rem;
    left: 3rem;
    z-index: 5;
    display: block;
  }

  .a-chatBubble {
    font-size: 3rem;
  }

  .a-likeButton {
    width: 4.6rem;
    height: 4.6rem;
  }

  .a-stickyTitle {
    position: sticky;
    top: calc(50% - var(--half-height, 0px));
  }

  .m-accordeon_button {
    width: 4.6rem;
    height: 4.6rem;
  }

  .m-popin {
    align-items: flex-end;
  }

  .m-featuredProject_content {
    flex-basis: calc(50% - 0.75rem);
  }

  .m-featuredProject .a-button {
    padding: 1.2rem 1rem;
  }

  .m-featuredProject .a-image {
    --ratio: 16 / 18;
    flex-basis: calc(50% - 0.75rem);
  }

  .m-featuredProject {
    right: 3rem;
    gap: 0 1.5rem;
    padding: 0 1.5rem 1.5rem;
    border-radius: 2.5rem;
    transform: unset;
  }

  .m-videoPlayer_button.-playToggle {
    left: 3rem;
  }

  .m-videoPlayer_button.-muteToggle {
    right: 3rem;
    left: auto;
    display: flex;
  }

  .m-videoPlayer_button {
    top: auto;
    bottom: 3rem;
    width: 4.5rem;
    height: 4.5rem;
    background-color: #fff8f6;
    color: #00522d;
    transform: translate(0);
  }

  .m-videoPlayer_button:active {
    transform: scale(0.9);
  }

  .m-videoPlayer {
    border-radius: 2rem;
  }

  .m-fixedPanel_wrapper {
    position: fixed;
    top: 50%;
    left: 50%;
    width: calc(33% - 3rem);
    max-width: 45rem;
    transform: translate(-50%, -50%);
  }

  .m-teamPopin_prevButton,
  .m-teamPopin_nextButton {
    display: block;
    width: 12rem;
    height: 12rem;
  }

  .m-teamPopin_prevButton {
    left: 3rem;
  }

  .m-teamPopin_nextButton {
    right: 3rem;
  }

  .m-teamPopin_leftCard .m-audioPlayer {
    bottom: 3rem;
  }

  .m-teamPopin_leftCard {
    top: 50%;
    right: 50%;
    left: auto;
    z-index: 0;
    width: auto;
    aspect-ratio: 45/68;
  }

  .m-teamPopin_rightCard {
    top: 50%;
    left: 50%;
    width: 47rem;
    min-height: 50rem;
    padding: 4.6rem 6rem;
  }

  .m-teamPopin .m-dots {
    bottom: 6rem;
  }

  .m-homeLabel {
    position: fixed;
    bottom: 3rem;
    left: 3rem;
    z-index: 5;
    display: block;
  }

  .m-projectCard_actions {
    gap: 1rem;
  }

  .m-projectCard_actionsButton {
    width: 4.6rem;
    height: 4.6rem;
  }

  .m-projectCard {
    gap: 3rem;
  }

  .m-contactForm_form {
    padding: 6rem 3rem;
  }

  .m-contactForm_inputsGroup .a-inputField {
    flex-basis: calc(50% - 0.5rem);
  }

  .m-contactForm_inputsGroup {
    flex-flow: row wrap;
    padding: 1.5rem 0;
  }

  .m-whatsappPopin .m-whatsappCard {
    clip-path: rect(2.5% 97.5% 0% 100% round 10rem);
  }

  .m-whatsappPopin {
    align-items: flex-start;
    justify-content: flex-end;
  }

  .m-storiesSlider {
    gap: 3rem;
    border-radius: 3rem;
  }

  .o-footer_wrapper {
    flex-direction: row;
    gap: 3rem;
    align-items: center;
  }

  .o-footer_links {
    align-items: flex-start;
    margin-left: auto;
  }

  .o-footer .m-logo {
    margin-top: -10rem;
  }

  .o-footer_contactCards .a-image {
    width: 100%;
    max-width: 50rem;
    border-radius: 2.5rem;
    transform: translate(50%, 200%);
  }

  .o-footer_contactCard {
    max-width: 50rem;
    border-radius: 2.5rem;
  }

  .o-footer {
    padding-top: 0;
    padding-bottom: 3rem;
  }

  .o-menu_leftWrapper {
    padding: 15rem 3rem 4.6rem;
  }

  .o-menu_leftBottom {
    flex-direction: row;
    gap: 3rem;
  }

  .o-menu .-s-menu {
    display: block;
  }

  .o-menu_rightPanel {
    position: relative;
    z-index: 2;
    display: flex;
    flex-grow: 1;
    flex-basis: 40%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    transform: translate(100%);
  }

  .o-homeHero_content {
    text-align: left;
  }

  .o-homeHero_cardsWrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-top: 0;
  }

  .o-homeHero .m-fixedPanel_inner {
    max-height: calc(100vh - 20rem);
    margin: 0 auto;
    aspect-ratio: 45/68;
  }

  .-postManifest .o-homeHero .m-fixedPanel {
    display: none;
  }

  .o-homeHero {
    align-content: space-between;
    height: 100vh;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .o-homeAgency_left,
  .o-homeAgency_right {
    text-align: left;
  }

  .o-homeAgency .m-videoPlayer {
    max-height: calc(100vh - 20rem);
    margin: 0 auto;
    aspect-ratio: 45/68;
  }

  .-postManifest .o-homeAgency .m-fixedPanel_wrapper {
    display: none;
  }

  .o-homeAgency {
    align-items: center;
    margin-top: 24rem;
    margin-bottom: 18rem;
    padding-top: 0;
    padding-bottom: 0;
  }

  .o-homeTeam_left,
  .o-homeTeam_right {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100vh;
    text-align: left;
  }

  .o-homeTeam_left .a-chatBubble {
    transform: rotate(8deg) translateY(-100%) scale(0);
  }

  .o-homeTeam_left .a-chatBubble:before {
    right: 3.2rem;
    bottom: -1.2rem;
  }

  .o-homeTeam_left .a-chatBubble:after {
    right: 1.8rem;
    bottom: -2rem;
  }

  .o-homeTeam_bubbleWrapper {
    inset: 45.5% auto auto 10rem;
  }

  .o-homeTeam .m-fixedPanel_inner {
    max-height: calc(100vh - 20rem);
    margin: 0 auto;
    aspect-ratio: 45/68;
  }

  .-postManifest .o-homeTeam .m-fixedPanel_wrapper {
    display: none;
  }

  .o-homeTeam.is-inview .o-homeTeam_left .a-chatBubble {
    transform: rotate(8deg) translateY(-200%) scale(1);
  }

  .o-homeTeam {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  .o-homeProjects_left {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100vh;
  }

  .o-homeProjects_title {
    text-align: left;
  }

  .o-homeProjects_bubbleWrapper {
    top: 0%;
    right: -2%;
    bottom: auto;
  }

  .o-homeProjects .a-chatBubble {
    transform: rotate(-32deg) translateY(-100%) scale(0);
  }

  .o-homeProjects .a-chatBubble:before {
    bottom: -1.2rem;
    left: 3.2rem;
  }

  .o-homeProjects .a-chatBubble:after {
    bottom: -2rem;
    left: 1.8rem;
  }

  .o-homeProjects_thumbnails {
    position: relative;
    bottom: unset;
    left: unset;
    justify-content: flex-start;
    width: auto;
  }

  .o-homeProjects_thumbnail {
    width: 6rem;
    height: 6rem;
  }

  .o-homeProjects_list {
    gap: 1.5rem;
    max-height: calc(100vh - 20rem);
    padding-left: 0;
    aspect-ratio: 45/68;
  }

  .o-homeProjects_item:nth-child(2) {
    width: 100%;
    padding-left: 0;
  }

  .o-homeProjects_item:last-child {
    width: 100%;
    padding-right: 0;
  }

  .o-homeProjects_item {
    width: 100%;
    transform: translate(25%) translateZ(-60px) rotateY(90deg) scale(0.5);
    transform-origin: right center;
  }

  .o-homeProjects_placeholder,
  .o-homeProjects_moreCard,
  .o-homeProjects .m-projectCard {
    width: auto;
    height: 100%;
    margin: 0 auto;
    will-change: transform;
  }

  .o-homeProjects_placeholder {
    display: flex;
  }

  .o-homeProjects_moreCard {
    width: auto;
    height: 100%;
    margin: 0 auto;
  }

  .o-homeProjects.-animateIn .o-homeProjects_item {
    transition:
      transform 2s cubic-bezier(0.19, 1, 0.22, 1) var(--delay),
      opacity 0.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
  }

  .o-homeProjects.is-inview .a-chatBubble {
    transform: rotate(-8deg) translateY(-60%) scale(1);
  }

  .o-homeProjects.is-inview .o-homeProjects_placeholder,
  .o-homeProjects.is-inview .o-homeProjects_moreCard,
  .o-homeProjects.is-inview .m-projectCard {
    display: flex;
  }

  .-postManifest .o-homeProjects .m-fixedPanel_wrapper {
    display: none;
  }

  .o-homeProjects {
    height: 500vh;
  }

  .o-homeManifest_shapeWrapper {
    height: 100%;
    transform: rotate(-12deg);
  }

  .o-homeManifest_imgWrapper {
    height: 100%;
    transform: translate(-50%, -50%) rotate(-12deg);
  }

  .o-homeExpertises_left,
  .o-homeExpertises_right {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100vh;
    text-align: left;
  }

  .o-homeExpertises_left .tx-lg {
    padding: 0;
  }

  .o-homeExpertises_bubbleWrapper {
    right: auto;
    bottom: 0;
    left: 100%;
  }

  .o-homeExpertises .a-chatBubble {
    transform: rotate(-24deg) translateY(0) scale(0);
  }

  .o-homeExpertises .a-chatBubble:before {
    top: -1.2rem;
    bottom: auto;
    left: 3.2rem;
  }

  .o-homeExpertises .a-chatBubble:after {
    top: -2rem;
    bottom: auto;
    left: 1.8rem;
  }

  .o-homeExpertises_right {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  .o-homeExpertises_expertiseItem:not(:last-child) {
    display: block;
    padding-bottom: 2rem;
    border-bottom: solid 1px #fff8f6;
  }

  .o-homeExpertises_expertiseItem .tx-sm {
    max-width: unset;
    margin: 0;
    padding: 0 20% 0 0;
    color: #fff8f6;
    text-align: left;
  }

  .o-homeExpertises_expertiseItem.-active .tx-sm {
    color: #db3c8a;
  }

  .o-homeExpertises_tags {
    align-items: flex-start;
    justify-content: flex-start;
    margin-top: 1.5rem;
  }

  .o-homeExpertises_tagsWrapper {
    overflow: hidden;
    height: 0;
    min-height: 0;
    transition: min-height 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .-active .o-homeExpertises_tagsWrapper {
    min-height: var(--height);
  }

  .o-homeExpertises_list {
    position: sticky;
    top: 0%;
    flex-direction: column;
    max-width: 45rem;
    height: 100vh;
    margin: 0 auto;
    padding: 0;
  }

  .o-homeExpertises_item:first-child {
    z-index: 3;
  }

  .o-homeExpertises_item:nth-child(2) .o-homeExpertises_card {
    transform: translate(-20%) scale(0.72) rotate(-3deg);
  }

  .o-homeExpertises_item:last-child .o-homeExpertises_card {
    transform: translate(20%) scale(0.72) rotate(3deg);
  }

  .o-homeExpertises_item {
    position: absolute;
    top: 0%;
    left: 0%;
  }

  .o-homeExpertises_item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
  }

  .o-homeExpertises_card {
    height: auto;
    min-height: 10rem;
    max-height: calc(100vh - 20rem);
    border-radius: 2.5rem;
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
    aspect-ratio: 45/68;
  }

  .o-homeExpertises.-i1 .o-homeExpertises_item:nth-child(1) {
    z-index: 2;
  }

  .o-homeExpertises.-i1
    .o-homeExpertises_item:nth-child(1)
    .o-homeExpertises_card {
    transform: translate(20%) scale(0.72) rotate(3deg);
  }

  .o-homeExpertises.-i1
    .o-homeExpertises_item:nth-child(2)
    .o-homeExpertises_card {
    z-index: 3;
    transform: translate(0) scale(1) rotate(0);
  }

  .o-homeExpertises.-i1
    .o-homeExpertises_item:nth-child(3)
    .o-homeExpertises_card {
    transform: translate(-20%) scale(0.72) rotate(-3deg);
  }

  .o-homeExpertises.-i2
    .o-homeExpertises_item:nth-child(1)
    .o-homeExpertises_card {
    transform: translate(-20%) scale(0.72) rotate(-3deg);
  }

  .o-homeExpertises.-i2
    .o-homeExpertises_item:nth-child(2)
    .o-homeExpertises_card {
    transform: translate(20%) scale(0.72) rotate(3deg);
  }

  .o-homeExpertises.-i2 .o-homeExpertises_item:nth-child(3) {
    z-index: 3;
  }

  .o-homeExpertises.-i2
    .o-homeExpertises_item:nth-child(3)
    .o-homeExpertises_card {
    transform: translate(0) scale(1) rotate(0);
  }

  .o-homeExpertises.is-inview .a-chatBubble {
    transform: rotate(-8deg) translateY(50%) scale(1);
  }

  .o-homeExpertises {
    height: 400vh;
  }

  .o-homeProcess_list {
    flex-direction: column;
    max-width: 45rem;
    margin: 0 auto;
  }

  .o-homeProcess_item {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100vh;
  }

  .o-homeProcess_card {
    width: auto;
    max-height: calc(100vh - 20rem);
    border-radius: 2.5rem;
  }

  .o-homeProcess_left,
  .o-homeProcess_right {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100vh;
    text-align: left;
  }

  .o-homeProcess_bubbleWrapper {
    bottom: 5%;
    left: 32rem;
  }

  .o-homeProcess .a-chatBubble:before {
    bottom: -1.2rem;
    left: 2.4rem;
  }

  .o-homeProcess .a-chatBubble:after {
    bottom: -2.4rem;
    left: 1.2rem;
  }

  .o-homeWhy_list {
    grid-template-rows: repeat(4, 1fr);
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem;
    padding: 0 3rem;
  }

  .o-homeWhy_card:nth-child(2) {
    grid-row: 2/2;
    grid-column: 2/2;
  }

  .o-homeWhy_card:nth-child(3) {
    grid-row: 3/3;
    grid-column: 3/3;
  }

  .o-homeWhy_card:nth-child(4) {
    grid-row: 4/4;
    grid-column: 4/4;
  }

  .o-homeWhy_card {
    width: 100%;
    max-height: calc(100vh - 20rem);
  }

  .o-homeWhy {
    margin-bottom: 0;
  }

  .o-homeFaq_title {
    justify-content: flex-start;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: left;
  }

  .o-homeFaq_bubbleWrapper .a-chatBubble {
    transform: rotate(-8deg);
  }

  .o-homeFaq_bubbleWrapper .a-chatBubble:before {
    top: -1.2rem;
    bottom: auto;
    left: 2.4rem;
  }

  .o-homeFaq_bubbleWrapper .a-chatBubble:after {
    top: -2.4rem;
    bottom: auto;
    left: 1.2rem;
  }

  .o-homeFaq_bubbleWrapper {
    inset: 60% auto auto 32rem;
  }

  .o-homeFaq {
    padding-top: 28rem;
    padding-bottom: 28rem;
  }

  .b-text,
  .b-image,
  .b-quote,
  .b-socials,
  .b-keyFigure_modalContent,
  .b-keyFigure {
    border-radius: 3rem;
  }

  .t-projectsindex_left {
    margin-top: 0;
  }

  .t-projectsindex_leftContent {
    text-align: left;
  }

  .t-projectsindex_list {
    padding-top: 17rem;
    padding-bottom: 17rem;
    padding-left: 1.5rem;
  }

  .t-projectsindex_bubbleWrapper {
    right: auto;
    bottom: 120%;
    left: 16rem;
  }

  .t-projectsindex_item {
    display: flex;
    flex-direction: row;
    gap: 5rem;
    align-items: center;
  }

  .t-projectsindex_itemTitle {
    padding-right: 20%;
  }

  .t-projectsindex .m-storiesSlider {
    height: 100%;
    max-height: calc(100vh - 20rem);
    margin: 0 auto;
  }

  .t-projectsindex_storiesActions {
    bottom: 3rem;
    gap: 1rem;
  }

  .t-projectsindex_content {
    flex-grow: 1;
    flex-basis: 33%;
    align-items: flex-start;
    margin-top: 0;
    text-align: left;
  }

  .t-projectsindex .m-tags {
    justify-content: flex-start;
  }

  .is-loaded .t-projectsindex .a-chatBubble {
    transform: scale(1) rotate(-8deg);
  }

  .t-projectsitem_left {
    position: sticky;
    top: calc(50% - var(--half-height, 0px));
    align-items: flex-start;
    padding: 0;
  }

  .t-projectsitem_tags {
    justify-content: flex-start;
  }

  .t-projectsitem_blocksWrapper {
    gap: 3rem;
  }

  .t-projectsitem_blocks {
    flex-basis: calc(50% - 1.5rem);
    gap: 3rem;
  }

  .t-projectsitem_footer {
    align-items: center;
    height: 100vh;
  }

  .t-projectsitem_footerTitle .a-chatBubble {
    transform: rotate(-24deg) translateY(-50%) translate(0) scale(0);
  }

  .t-projectsitem_footerTitle.is-inview .a-chatBubble {
    transform: rotate(-8deg) translateY(-50%) translate(10%);
  }

  .t-projectsitem_footerTitle {
    margin-bottom: 0;
    text-align: left;
  }

  .t-projectsitem_bubbleWrapper {
    right: unset;
    left: 28rem;
  }

  .t-projectsitem_relatedProjects li {
    flex-basis: calc(20% - 0.3rem);
  }

  .t-projectsitem_relatedProjects {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }

  .t-projectsitem_footerCover {
    max-width: 16rem;
  }

  .t-projectsitem {
    padding-top: 12rem;
  }

  .t-text_left {
    align-items: flex-start;
    padding: 0;
  }

  .t-text_wrapper {
    margin-top: 50vh;
  }

  .t-text .m-textContent {
    gap: 3rem;
  }
}

@media only screen and (min-width: 1301px) {
  .o-footer_contactCards .a-image {
    margin-left: auto;
  }
}

@media only screen and (max-width: 960px) {
  .m-teamPopin_prevButton,
  .m-teamPopin_nextButton {
    background-color: #fff8f6;
  }

  .o-menu_menu {
    justify-content: center;
  }

  .o-homeProjects_title br {
    display: none;
  }

  .o-homeProjects_slider {
    overflow: scroll auto;
    margin: 0 -1.5rem;
    padding: 1.5rem 0;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding: 1.5rem;
  }

  .o-homeProjects .m-fixedPanel {
    aspect-ratio: auto;
  }

  .o-homeProjects .m-fixedPanel_wrapper {
    max-width: 100vw;
  }

  .o-homeManifest svg {
    width: 100%;
  }

  .o-homeExpertises_expertiseItem:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }

  .o-homeExpertises_expertiseItem.-active {
    opacity: 1;
  }

  .o-homeExpertises_expertiseItem {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .o-homeExpertises_cards {
    overflow: scroll auto;
    margin: 0 -1.5rem;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding: 1.5rem;
  }

  .o-homeExpertises_item:nth-child(odd) .o-homeExpertises_card {
    transform: rotate(-2deg);
  }

  .o-homeExpertises_item:nth-child(2n) .o-homeExpertises_card {
    transform: rotate(2deg);
  }

  .o-homeExpertises_item:first-child {
    width: 75%;
    padding-left: 25%;
  }

  .o-homeExpertises_item:last-child {
    width: 75%;
    padding-right: 25%;
  }

  .o-homeProcess_cards {
    order: 2;
    overflow: scroll hidden;
    margin: 0 -1.5rem;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding: 1.5rem;
  }

  .o-homeProcess_item:first-child {
    width: 83.333%;
    padding-left: 16.667%;
  }

  .o-homeProcess_item:last-child {
    width: 83.333%;
    padding-right: 16.667%;
  }

  .o-homeProcess_card {
    margin: 4% 0;
  }

  .o-homeProcess_title br,
  .o-homeFaq_title br,
  .t-projectsindex_content .tx-p,
  .t-projectsindex_content .a-button {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .m-videoPlayer_timer,
  .m-projectCard_navButton,
  .m-whatsappCard .a-image,
  .m-storiesSlider_navButton {
    display: none;
  }

  .o-footer_contactCards .a-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translate(-10%, 220%);
  }

  .o-footer_contactCard .a-button {
    width: 100%;
  }

  .o-homeTeam:not(.is-inview) .o-homeTeam_right,
  .o-homeTeam:not(.is-inview) .tx-lg {
    color: #fff8f6;
  }

  .o-homeProjects_left {
    margin-bottom: 3rem;
    text-align: center;
  }

  .o-homeProjects:not(.is-inview) .tx-lg {
    color: #db3c8a;
  }

  .o-homeProcess:not(.is-inview) .o-homeProcess_card.-bgpink-1 {
    background-color: #f29ebd;
  }
}

@media (hover: hover) and (any-pointer: fine) {
  .a-pin:hover:not([aria-disabled="true"], :focus) .a-chatBubble:first-child {
    transition: transform 0.3s cubic-bezier(0.17, 0.67, 0.3, 1.33) 0.1s;
    transform: translate(-75%, -75%) scale(1) rotate(-8deg);
  }

  .a-pin:hover:not([aria-disabled="true"], :focus) .a-chatBubble:last-child {
    transition: transform 0.3s cubic-bezier(0.17, 0.67, 0.3, 1.33) 0.2s;
    transform: translate(80%, 80%) scale(1) rotate(8deg);
  }

  .a-pin:hover:not([aria-disabled="true"], :focus) .a-pin_label {
    transform: translateY(-100%) translate(-15%) rotate(-2deg) scale(1);
  }

  .a-pin:hover:not([aria-disabled="true"], :focus) .a-pin_name span {
    transform: translateY(0);
  }

  .a-fixedLink:hover:before {
    transform: scaleX(0);
    transform-origin: right center;
  }

  .a-inputFile__preview.-hover,
  .a-inputFile__preview:hover:not([aria-disabled="true"], .-error) {
    color: #fff8f6;
  }

  .m-dots_dot:hover:not([aria-disabled="true"], :focus) {
    opacity: 1;
  }

  .m-teamPopin_closeButton:hover:not([aria-disabled="true"], :focus) {
    transform: translate(-50%) scale(1.1);
  }

  .m-teamPopin_prevButton:hover:not([aria-disabled="true"], :focus),
  .m-teamPopin_nextButton:hover:not([aria-disabled="true"], :focus) {
    transform: translateY(-50%) scale(1.1);
  }

  .o-menu_item a.-hover,
  .o-menu_item a:hover:not([aria-disabled="true"]) {
    color: #f29ebd;
  }

  .o-menu .m-socials_icon.-hover,
  .o-menu .m-socials_icon:hover:not([aria-disabled="true"]) {
    color: #f29ebd;
  }

  .o-menu_lockerButton.-hover,
  .o-menu_lockerButton:hover:not([aria-disabled="true"]) {
    color: #f29ebd;
  }

  .t-projectsitem_relatedProject:hover p,
  .t-projectsitem_relatedProject:hover img {
    transform: scale(1.1);
  }
}

/* ── Carousel/Stories: Scroll-Driven Projects Section ── */

/* Scroll wrapper created by JS — provides scroll distance */
.o-homeProjects_scrollWrapper {
  position: relative;
  height: 500vh;
}

/* Section sticks to viewport while scrolling through wrapper */
.o-homeProjects_scrollWrapper .o-homeProjects {
  position: sticky !important;
  top: 0 !important;
  height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  background-color: #2885ba;
  transition: background-color 0.6s ease;
  padding: 0 !important;
}

/* Left panel — title, bubble, thumbnails */
.o-homeProjects_scrollWrapper .o-homeProjects_left {
  position: relative !important;
  flex: 0 0 33.333% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  height: 100vh !important;
  padding: 4rem !important;
  z-index: 2;
}

.o-homeProjects_scrollWrapper .o-homeProjects_title {
  text-align: left !important;
}

.o-homeProjects_scrollWrapper .o-homeProjects_bubbleWrapper {
  display: block !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin-bottom: 1rem;
}

.o-homeProjects_scrollWrapper .o-homeProjects .a-chatBubble {
  transform: rotate(-8deg) scale(1) !important;
}

.o-homeProjects_scrollWrapper .o-homeProjects_thumbnails {
  position: relative !important;
  bottom: unset !important;
  left: unset !important;
  justify-content: flex-start !important;
  width: auto !important;
  margin-top: 2rem;
}

.o-homeProjects_scrollWrapper .o-homeProjects_thumbnail {
  width: 5rem !important;
  height: 5rem !important;
}

/* Slider area — cards container */
.o-homeProjects_scrollWrapper .o-homeProjects_slider {
  position: relative !important;
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100vh !important;
  overflow: visible !important;
  padding: 0 !important;
}

.o-homeProjects_scrollWrapper .m-fixedPanel {
  position: relative !important;
  width: 100% !important;
  height: 80vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: none !important;
  aspect-ratio: auto !important;
}

.o-homeProjects_scrollWrapper .m-fixedPanel_wrapper {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.o-homeProjects_scrollWrapper .m-fixedPanel_inner {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  display: block !important;
  padding: 0 !important;
}

/* Each card — absolutely positioned, translated by JS */
.o-homeProjects_scrollWrapper .o-homeProjects_item {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: min(420px, 35vw) !important;
  height: auto !important;
  margin-top: calc(-40vh) !important;
  margin-left: calc(min(-210px, -17.5vw)) !important;
  will-change: transform;
}

.o-homeProjects_scrollWrapper .o-homeProjects_item:nth-child(2),
.o-homeProjects_scrollWrapper .o-homeProjects_item:last-child {
  width: min(420px, 35vw) !important;
  padding: 0 !important;
}

/* Card inner styling — stories shape */
.o-homeProjects_scrollWrapper .o-homeProjects_placeholder,
.o-homeProjects_scrollWrapper .o-homeProjects_moreCard,
.o-homeProjects_scrollWrapper .m-projectCard {
  display: flex !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 9/16 !important;
  border-radius: 1.5rem !important;
  overflow: hidden !important;
}

.o-homeProjects_scrollWrapper .o-homeProjects_moreCard {
  background-color: #f29ebd !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2rem !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_cover {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_cover img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_cover.-visible {
  opacity: 1 !important;
  visibility: visible !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_title {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3 !important;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3) !important;
  white-space: nowrap !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_actions {
  position: absolute !important;
  bottom: 1.5rem !important;
  left: 1.5rem !important;
  right: 1.5rem !important;
  z-index: 3 !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_navButton {
  z-index: 4 !important;
}

.o-homeProjects_scrollWrapper .m-dots {
  position: absolute !important;
  top: 1rem !important;
  left: 1rem !important;
  right: 1rem !important;
  z-index: 4 !important;
}

/* Hide placeholder */
.o-homeProjects_scrollWrapper .o-homeProjects_placeholder {
  display: none !important;
}

/* Hide featured project overlay when carousel is active */
.m-featuredProject {
  display: none !important;
}

/* ── Like button & heart animation ── */
.o-homeProjects_scrollWrapper .m-projectCard_actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  gap: 0.6rem !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_actionsButton {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3.5rem !important;
  height: 3.5rem !important;
  border-radius: 50% !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
}

.o-homeProjects_scrollWrapper .m-projectCard .a-likeButton {
  transform: scale(1) !important;
}

.o-homeProjects_scrollWrapper .m-projectCard_tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.4rem !important;
  margin-left: auto !important;
}

.a-likeButton.-liked .a-svg.-love {
  display: none !important;
}

.a-likeButton.-liked .a-svg.-love-fill {
  display: block !important;
}

/* Floating hearts animation */
.floating-heart {
  position: absolute;
  color: #f29ebd;
  pointer-events: none;
  z-index: 10;
  animation: floatHeart 1.5s ease-out forwards;
  bottom: 20%;
}

@keyframes floatHeart {
  0% {
    opacity: 1;
    transform: translateY(0) scale(0.5);
  }

  50% {
    opacity: 0.8;
    transform: translateY(-80px) scale(1.2);
  }

  100% {
    opacity: 0;
    transform: translateY(-200px) scale(0.8);
  }
}
