:root {
  --base-value--primary-font-style: "Inter Tight", sans-serif;
  --color-style--primary-color-1: #fff;
  --base-value--base-size: 14px;
  --base-value--base-height: 20px;
  --weight-style--normal-400: 400;
  --spacing--zero-margin: 0px;
  --heading-text-size--h1-size: 14vw;
  --heading-text-height--h1-height: 13vw;
  --heading-text-size--paragraph-size: 1.2vw;
  --heading-text-height--paragraph-height: 1.8vw;
  --weight-style--bold-700: 700;
  --base-spacing--spacing-section: 6vw;
  --spacing--zero-padding: 0vw;
  --spacing--padding-footer-bot: 2vw;
  --base-spacing--spacing-container: 4vw;
  --spacing--spacing-plus-content-two-hero: 4vw;
  --spacing--padding-plus-content-two: 6vw;
  --medium-text-style--medium-size-heading-one: 4.2vw;
  --medium-text-style--medium-height-heading-one: 4.6vw;
  --small-size-style--small-size-text-number: 1.2vw;
  --small-size-style--small-height-text-number: 1.6vw;
  --small-size-style--small-size-tittle-service: 2vw;
  --small-size-style--small-height-tittle-service: 2.2vw;
  --small-size-style--small-size-description-service: 1.2vw;
  --small-size-style--small-height-description-service: 1.8vw;
  --spacing--padding-plus-line-service: 1.5vw;
  --spacing--padding-min-bracket-left: -1vw;
  --spacing--padding-min-bracket-right: -1vw;
  --big-text-style--big-size-text-bracket: 17vw;
  --big-text-style--big-height-text-bracket: 17vw;
  --weight-style--thin-100: 100;
  --weight-style--medium-500: 500;
  --big-text-style--big-size-text-project: 8vw;
  --big-text-style--big-height-text-project: 8vw;
  --spacing--padding-plus-team-top: 5vw;
  --spacing--spacing-team-card: 1.5vw;
  --small-size-style--small-size-name-team: 2vw;
  --small-size-style--small-height-name-team: 2.2vw;
  --small-size-style--small-size-tittle-job: 1.4vw;
  --small-size-style--small-height-tittle-job: 2vw;
  --small-size-style--small-size-link-footer: 1.2vw;
  --small-size-style--small-height-link-footer: 1.8vw;
  --weight-style--semi-bold-600: 600;
  --small-size-style--small-size-field: 1.26vw;
  --small-size-style--small-height-field: 2vw;
  --small-size-style--small-size-tagline-contact: 1.2vw;
  --small-size-style--small-height-tagline-contact: 1.8vw;
  --color-style--primary-color-3: #999;
  --spacing--spacing-in-service-content-top-bot: 3vw;
  --spacing--spacing-in-service-content: 2vw;
  --medium-text-style--medium-size-tittle-project: 7.5vw;
  --medium-text-style--medium-height-tittle-project: 100%;
  --spacing--margin-min-image-project: -5vw;
  --spacing--padding-min-outer-service: -1vw;
  --color-style--primary-color-6: #000;
  --spacing--spacing-outer-navbar: 1vw;
  --spacing--spacing-navbar-padding: 3vw;
  --spacing--spacing-padding-link-navbar-menu: .5vw;
  --spacing--spacing-min-padding-navbar: -4vw;
  --medium-text-style--medium-size-nav-menu: 3.4rem;
  --medium-text-style--medium-height-nav-menu: 100%;
  --color-style--primary-color-2: #ccc;
  --color-style--primary-color-4: #222;
  --color-style--primary-color-5: #111;
  --spacing--margin-min-counter: -1.2vw;
  --big-text-style--big-size-counter: 16vw;
  --big-text-style--big-height-counter: 17vw;
  --color-style--decorative-color-2: #6bc09b;
  --spacing--padding-plus-blur-mode: 4vw;
  --color-style--decorative-color-3: #da2e0b;
  --color-style--decorative-color-4: #6ec098;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--base-value--primary-font-style);
  color: var(--color-style--primary-color-1);
  font-size: var(--base-value--base-size);
  line-height: var(--base-value--base-height);
  background-color: #000;
}
a { color: inherit; text-decoration: none; }
img, video { width: 100%; height: 100%; display: block; }
img, video { border-radius: 8px; }

/* global text reveal */
.reveal-text { overflow: hidden; }
a.reveal-text { overflow: visible; }
.reveal-text > .reveal-inner {
  display: inline-block;
  transform: translateY(112%);
  opacity: 0;
  will-change: transform, opacity;
  transition: transform .8s cubic-bezier(.22, 1, .36, 1), opacity .8s ease;
}
.reveal-text.is-visible > .reveal-inner {
  transform: translateY(0);
  opacity: 1;
}
.heading-service.reveal-text > .reveal-inner,
.descriptions-service.reveal-text > .reveal-inner { display: block; }

.section { padding: var(--base-spacing--spacing-section) 0; }
.section.hero { padding: 0; height: 120vh; overflow: hidden; position: relative; }
.section.footer { min-height: 100vh; padding-bottom: var(--spacing--padding-footer-bot); position: relative; z-index: 199; }
#service-section { padding-top: calc(var(--base-spacing--spacing-section) + 8vw); }

.container { width: 100%; padding: 0 var(--base-spacing--spacing-container); }
.container.hero, .container.service, .container.project { padding: 0; }

/* nav */
.outer-wrapp-nav { display: none !important; }
.navbar1_wrap {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 1rem;
  z-index: 220;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 var(--base-spacing--spacing-container);
  pointer-events: none;
}
.navbar1_side,
.navbar1_container,
.navbar1_logo { pointer-events: auto; }
.navbar1_side { display: none; }
.navbar1_logo {
  width: 7rem;
  min-width: 7rem;
  height: 3.15rem;
  padding: .5rem .65rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.navbar1_logo-image { width: 100%; height: 100%; display: block; object-fit: contain; }
.navbar1_logo-wordmark {
  display: block;
  color: #f2f2f2;
  font-family: "Inter Tight", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1;
  text-transform: lowercase;
}
.navbar1_container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .25rem;
  width: min(100%, 28rem);
  max-width: 100%;
  padding: .3rem .45rem;
  border: 0;
  border-radius: 14px;
  background: rgba(20, 20, 20, .62);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.navbar1_list {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  gap: 0;
  padding: .15rem .2rem;
}
.navbar1_link {
  position: relative;
  color: #f2f2f2;
  font-size: 1.02rem;
  line-height: 1;
  padding: 1.02rem 1.2rem;
  min-height: 3.15rem;
  border-radius: 0;
  transition: color .24s ease;
}
.navbar1_link::after {
  content: "";
  position: absolute;
  left: 1.2rem;
  right: 1.2rem;
  bottom: .52rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .28s ease;
}
.navbar1_link:hover,
.navbar1_link:focus-visible { color: #fff; }
.navbar1_link:hover::after,
.navbar1_link:focus-visible::after { transform: scaleX(1); }
.navbar1_link.is-cta {
  border: 0;
  background: #121212eb;
  backdrop-filter: blur(14px);
}
.navbar1_link.navbar1_link-consult {
  padding: 1.02rem 1.2rem;
  min-height: 3.15rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #f2f2f2;
  transition: color .24s ease;
}
.navbar1_link.navbar1_link-consult::after {
  content: "";
}
.navbar1_link.navbar1_link-consult:hover,
.navbar1_link.navbar1_link-consult:focus-visible {
  background: rgba(255, 255, 255, .08);
  color: #fff;
}
.lang-switch-wrap {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  padding: 1rem var(--base-spacing--spacing-container) 0;
}
.lang-switch-list {
  display: flex;
  align-items: center;
  gap: .7rem;
}
.lang-switch-link {
  position: relative;
  min-width: 0;
  text-align: center;
  font-size: .92rem;
  line-height: 1;
  padding: .25rem 0;
  color: #f2f2f2;
  transition: color .24s ease;
}
.lang-switch-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.2rem;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .28s ease;
}
.lang-switch-link:hover,
.lang-switch-link:focus-visible { color: #fff; }
.lang-switch-link:hover::after,
.lang-switch-link:focus-visible::after { transform: scaleX(1); }

.outer-wrapp-nav { width: 100%; display: flex; justify-content: center; }
.wrapper-navbar { z-index: 202; position: fixed; bottom: 1rem; display: flex; justify-content: center; width: 100%; }
.navbar { z-index: 200; width: 25vw; }
.outer-nav-wrapp { width: 25vw; display: flex; justify-content: center; overflow: hidden; }
.nav-wrapper {
  z-index: 99;
  width: 25vw;
  min-width: 25vw;
  height: 5vw;
  min-height: 5vw;
  border: 1px solid #ffffff0d;
  background-color: #202020;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  padding: 0 var(--spacing--spacing-outer-navbar);
  position: relative;
}
.brand { width: 3vw; height: 3vw; display: flex; align-items: center; justify-content: center; }
.menu-button {
  width: 3vw;
  min-width: 3vw;
  height: 3vw;
  min-height: 3vw;
  border: 0;
  background: transparent;
  color: #fff;
  padding: 0;
  position: relative;
  cursor: pointer;
}
.wrapper-close {
  border: 1px solid #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .3vw;
  position: absolute;
  inset: 0;
  padding: 0 .6vw;
}
.line-to-close { width: 100%; height: .1vw; background-color: #fff; transition: transform .3s ease, opacity .3s ease; }
.menu-button.is-open .line-to-close._1 { transform: translateY(.2vw) rotate(45deg); }
.menu-button.is-open .line-to-close._2 { opacity: 0; }
.menu-button.is-open .line-to-close._3 { transform: translateY(-.2vw) rotate(-45deg); }

.nav-menu-in {
  position: fixed;
  inset: 0;
  background-color: #0009;
  display: none;
}
.nav-menu-in.is-open { display: block; }
.inner-menu-link-nav { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; }
.bg-before-main-nav { position: absolute; inset: 0; background: #0009; }
.main-menu-link-nav, .menu-link-nav {
  width: 40rem;
  height: 40rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.menu-link-nav {
  background-color: #202020;
  gap: 1.5rem;
  padding: var(--spacing--spacing-navbar-padding) 0;
}
.wrapper-link-nav { position: relative; overflow: hidden; }
.wrapper-link-nav.icon-social { display: flex; gap: 8vw; margin-top: var(--spacing--spacing-min-padding-navbar); }
.wrapper-icon-social { width: 2.5vw; height: 2.5vw; transition: filter .3s ease-out; }
.wrapper-icon-social:hover { filter: invert(35%); }
.link-nav { padding: var(--spacing--spacing-padding-link-navbar-menu); }
.hover-text {
  font-size: var(--medium-text-style--medium-size-nav-menu);
  line-height: var(--medium-text-style--medium-height-nav-menu);
  transition: color .32s cubic-bezier(.42, 0, .491, 1.014);
}
.hover-text:hover { color: var(--color-style--primary-color-3); }

/* hero */
.wrapper-hero { height: 100vh; display: flex; flex-direction: column; justify-content: space-between; position: relative; }
.wrapper-conotent-one { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; z-index: 15; pointer-events: none; }
.inner-content-text-hero { height: 100vh; display: flex; justify-content: center; align-items: center; }
.hero-heading-block {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.text-hero { margin: 0; width: min(62vw, 62rem); }
.hero-logo-image { display: block; width: 100%; height: auto; }
.seo-hidden-h1 {
  margin: 8px 0 0;
  text-align: center;
  font-size: 12px;
  line-height: 1;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.02);
  user-select: none;
  pointer-events: none;
}
.hero-under-logo-text {
  margin: 0;
  position: absolute;
  left: 18%;
  bottom: 7.4%;
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  text-align: left;
  white-space: nowrap;
}
.hero-collab-text {
  margin: 0;
  position: absolute;
  left: 18%;
  bottom: -9%;
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  text-align: left;
  white-space: nowrap;
  display: inline-block;
  padding-bottom: .08em;
  border-bottom: 1px solid currentColor;
}
.wrapper-content-two {
  z-index: 20;
  position: absolute;
  inset: auto 0 0;
  height: 20vh;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding: 0 var(--spacing--spacing-plus-content-two-hero) var(--spacing--padding-plus-content-two);
}
.wrapper-paragraph-herp { width: 21%; height: 100%; display: flex; justify-content: flex-end; align-items: flex-end; }
.paragraph-hero { margin: 0; font-size: var(--heading-text-size--paragraph-size); line-height: var(--heading-text-height--paragraph-height); }
.wrapper-masking-hero { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; }
.outer-lline-hero { position: absolute; width: 100%; height: 2vw; display: flex; align-items: center; z-index: 0; overflow: hidden; }
.outer-lline-hero { justify-content: space-between; }
.line-hero { width: 16%; height: 1px; background-color: #fff; }
.outer-masking-hero { position: relative; width: 100%; height: 100%; }
.inner-masking-hero {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
}
.wrapper-main-hero { position: absolute; transform: perspective(900px); transform-origin: 100%; }
.wrapper-main-hero {
  will-change: transform;
}
.wrapper-main-hero._1 { z-index: 13; width: 11vw; height: 8vw; transform: translate(33vw, 15vw) perspective(900px); }
.wrapper-main-hero._2 { z-index: 13; width: 12vw; height: 12vw; transform: translate(-22vw, 11vw) perspective(900px); }
.wrapper-main-hero._3 { z-index: 13; width: 16vw; height: 19vw; transform: translate(10vw, 17vw) perspective(900px); }
.wrapper-main-hero._4 { z-index: 17; mix-blend-mode: exclusion; width: 9vw; height: 13vw; transform: translate(-13vw, -22vw) perspective(900px); }
.wrapper-main-hero._5 { z-index: 12; width: 10vw; height: 10vw; transform: translate(43vw, -22vw) perspective(900px); }
.wrapper-main-hero._6 { z-index: 12; width: 13.5vw; height: 13.5vw; transform: translate(22vw, -16vw) perspective(900px); }
.wrapper-main-hero._7 { z-index: 12; width: 14vw; height: 9.5vw; transform: translate(-41vw, -16vw) perspective(900px); }
.wrapper-main-hero._8 { z-index: 13; width: 10vw; height: 10vw; transform: translate(-45vw, 6vw) perspective(900px); }
.image-hero { object-fit: cover; }
.wrapper-main-hero._5 .image-hero { object-position: left center; }
.wrapper-main-hero._6 .image-hero {
  object-fit: contain;
  object-position: center;
}
.wrapper-main-hero._7 .image-hero {
  object-fit: contain;
  object-position: center;
}
.wrapper-main-hero._8 .image-hero { object-position: left center; }

/* about */
.wrapper-about { display: flex; flex-direction: column; gap: 6vw; }
.text-about { font-size: var(--medium-text-style--medium-size-heading-one); line-height: var(--medium-text-style--medium-height-heading-one); }
.inner-text-about.one { width: 75%; }
.wrapper-descriptions-about { width: 100%; margin-top: -3vw; display: flex; }
.descriptions-about, .descriptions-service { width: 21%; }
.descriptions-about { font-size: 1.33vw; line-height: 1.9vw; }
.descriptions-about { margin: 0; font-weight: inherit; }
.descriptions-service {
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
}
.wrapper-descriptions-about .descriptions-about {
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}
.wrapper-minimize-one {
  width: 100%;
  height: 25vw;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wrapper-bracket { height: 100%; display: flex; align-items: center; background: #000; position: absolute; z-index: 5; }
.wrapper-bracket.left { left: 0; margin-left: var(--spacing--padding-min-bracket-left); }
.wrapper-bracket.right { right: 0; margin-right: var(--spacing--padding-min-bracket-right); }
.bracket { font-size: var(--big-text-style--big-size-text-bracket); line-height: var(--big-text-style--big-height-text-bracket); font-weight: var(--weight-style--thin-100); }
.absolute-content-in { width: 100%; height: 19vw; display: flex; justify-content: center; align-items: center; gap: 14vw; }
.wrapper-bracket {
  will-change: transform;
  transition: transform .9s cubic-bezier(.22, 1, .36, 1);
}
.wrapper-bracket.left { transform: translateX(9vw); }
.wrapper-bracket.right { transform: translateX(-9vw); }
.absolute-content-in .conter-type:first-child,
.absolute-content-in .conter-type:last-child {
  will-change: transform;
  transition: transform .9s cubic-bezier(.22, 1, .36, 1);
}
.absolute-content-in .conter-type:first-child { transform: translateX(12vw); }
.absolute-content-in .conter-type:last-child { transform: translateX(-12vw); }
#about-section.is-open .wrapper-bracket.left,
#about-section.is-open .wrapper-bracket.right { transform: translateX(0); }
#about-section.is-open .absolute-content-in .conter-type:first-child { transform: translateX(0); }
#about-section.is-open .absolute-content-in .conter-type:last-child { transform: translateX(0); }
.wrapper-card-about { width: 20vw; height: 19vw; position: relative; display: flex; justify-content: center; align-items: center; }
.wrapper-card { width: 15vw; height: 19vw; overflow: hidden; position: absolute; border-radius: 12px; }
.wrapper-card.one { left: 50%; top: 0; transform: translateX(-66%) rotate(-8deg); z-index: 2; }
.wrapper-card.two { left: 50%; top: 0; transform: translateX(-14%) rotate(12deg); z-index: 1; }
.wrapper-card:hover,
.wrapper-card:focus-within { z-index: 10; }
.wrapper-card.one { animation: float-card-one 3.8s ease-in-out infinite alternate; }
.wrapper-card.two { animation: float-card-two 4.4s ease-in-out infinite alternate; }
.card-flip { width: 100%; height: 100%; perspective: 1200px; }
.card-flip-inner {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}
.wrapper-card:hover .card-flip-inner,
.wrapper-card:focus-within .card-flip-inner { transform: rotateY(180deg); }
.card-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: 12px;
  overflow: hidden;
}
.card-back {
  transform: rotateY(180deg);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.2vw;
  background: #131313;
  border: 0;
}
.card-back-text {
  font-size: 1vw;
  line-height: 1.4vw;
  letter-spacing: .01em;
}
.card-text-mobile-short { display: none; }
.image-card-about { object-fit: cover; }

@keyframes float-card-one {
  0% { transform: translateX(-66%) translateY(0px) rotate(-8deg); }
  100% { transform: translateX(-66%) translateY(-8px) rotate(-8deg); }
}

@keyframes float-card-two {
  0% { transform: translateX(-14%) translateY(-2px) rotate(12deg); }
  100% { transform: translateX(-14%) translateY(7px) rotate(12deg); }
}
.conter-type { margin: 0 var(--spacing--margin-min-counter); }
.counter-digit-wrap { display: flex; gap: 1px; height: 12rem; overflow: hidden; }
.counter-digit-wrap { height: var(--big-text-style--big-height-counter); }
.counter-digit-first, .counter-digit-second { display: flex; flex-direction: column; }
.counter-num {
  font-size: var(--big-text-style--big-size-counter);
  line-height: var(--big-text-style--big-height-counter);
  height: var(--big-text-style--big-height-counter);
  min-height: var(--big-text-style--big-height-counter);
  display: flex;
  align-items: center;
}
.counter-odometer .counter-digit-first,
.counter-odometer .counter-digit-second {
  will-change: transform;
  transform: translateY(0);
}
#about-section.is-open .counter-odometer-left .counter-digit-first {
  transform: translateY(-200%);
  transition: transform 1s cubic-bezier(.22, 1, .36, 1);
}
#about-section.is-open .counter-odometer-left .counter-digit-second {
  transform: translateY(-300%);
  transition: transform 1.2s cubic-bezier(.22, 1, .36, 1);
}
#about-section.is-open .counter-odometer-right .counter-digit-first {
  transform: translateY(-100%);
  transition: transform .9s cubic-bezier(.22, 1, .36, 1);
}
#about-section.is-open .counter-odometer-right .counter-digit-second {
  transform: translateY(-200%);
  transition: transform 1.05s cubic-bezier(.22, 1, .36, 1);
}

/* service */
.wrapper-service { min-height: 100vh; display: flex; flex-direction: column; gap: 10vw; }
.wrapper-heading-service { display: flex; flex-direction: column; gap: 2.2vw; padding: 0 var(--base-spacing--spacing-container); }
.inner-heading-service { width: 75%; }
.heading-service { font-size: var(--medium-text-style--medium-size-heading-one); line-height: var(--medium-text-style--medium-height-heading-one); }
.wrapper-descriptions-service { width: 100%; display: flex; justify-content: flex-end; }
.relative-content-service { display: flex; flex-direction: column; }
.outer-line, .wrapper-line { width: 100%; display: flex; justify-content: center; }
.wrapper-line { padding: 0 var(--spacing--padding-plus-line-service); }
.inner-line { display: flex; align-items: center; width: 100%; gap: 1vw; }
.null-block { height: 2.5vw; }
.line { width: 100%; height: .08vw; margin-bottom: -4px; background-color: #fff; }
.outer-in-service { margin-top: var(--spacing--padding-min-outer-service); padding: 0 var(--base-spacing--spacing-container); }
.wrapper-in-service {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .6vw;
  padding: var(--spacing--spacing-in-service-content-top-bot) var(--spacing--spacing-in-service-content);
}
.outer-content-service { z-index: 99; display: flex; flex-direction: column; gap: 5vw; position: relative; }
.outer-content-service._1,
.outer-content-service._2 { gap: 2.6vw; }
.wrapper-content-service { display: flex; gap: 2vw; overflow: hidden; }
.wrapper-content-service._1, .wrapper-content-service._2 { justify-content: flex-start; }
.wrapper-content-service._3, .wrapper-content-service._4 { justify-content: flex-end; padding-right: 0; overflow: visible; }
.wrapper-content-service._3, .wrapper-content-service._4 { transform: translateX(3.2vw); }
.wrapper-content-service._3 .inner-content-service,
.wrapper-content-service._4 .inner-content-service { overflow: visible; }
.wrapper-content-service._3 .wrapper-desc-tag-service,
.wrapper-content-service._4 .wrapper-desc-tag-service {
  width: 24vw;
  margin-left: auto;
}
.inner-content-service { display: flex; gap: .6vw; align-items: flex-start; overflow: hidden; }
.wrapper-image-service { flex: none; position: relative; overflow: hidden; display: none; }
.wrapper-image-service._1 { width: 23vw; height: 35vw; }
.wrapper-image-service._2 { width: 20vw; height: 30vw; }
.wrapper-image-service._3 { width: 23vw; height: 32vw; }
.wrapper-image-service._4 { width: 18vw; height: 20vw; }
.image-service, .image-in-service { object-fit: cover; min-width: 100%; max-width: none; min-height: 100%; }
.wrapper-desc-tag-service { width: 20vw; display: flex; flex-direction: column; gap: .45vw; }
.wrapper-tittle-service { display: flex; gap: 1vw; }
.number-service { font-size: var(--small-size-style--small-size-text-number); line-height: var(--small-size-style--small-height-text-number); font-style: italic; }
.tittle-service { font-size: var(--small-size-style--small-size-tittle-service); line-height: var(--small-size-style--small-height-tittle-service); }
.tittle-service { margin: 0; font-weight: inherit; }
.tittle-service.no-wrap { white-space: nowrap; }
.tittle-service.no-wrap.compact { font-size: 1.62vw; line-height: 1.85vw; }
.paragraph-service { font-size: var(--small-size-style--small-size-description-service); line-height: var(--small-size-style--small-height-description-service); }
.inner-descriptions-service { display: flex; gap: 2vw; padding-left: 1vw; align-items: center; }
.line-side-servce { width: .3vw; height: 5vw; background-color: #fff; transform-origin: 50% 100%; }
.line-service-mobile { display: none; }
.overflow-hidden-image-service {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.service-gradient-center {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.2vw;
  margin: 0;
  transform: translateY(-10vw);
  pointer-events: none;
}
.outer-content-service._2 { margin-top: -10vw; }
.service-gradient-center .outer-blur {
  position: relative;
  inset: auto;
  width: 14vw;
  height: 14vw;
  opacity: .62;
  filter: blur(100px);
}
.service-gradient-center .wrapper-blur-mode {
  position: static;
  min-height: auto;
  padding: 0;
}
.service-gradient-center .inner-blur-mode,
.service-gradient-center .blur-mode {
  width: 14vw;
  height: 14vw;
}
.image-service-move-scrolling { z-index: 6; width: 12vw; height: 13.5vw; position: absolute; }
.image-service-move-scrolling._1 { transform: translate(28vw, -18vw); }
.image-service-move-scrolling._2 { transform: translate(14vw, -9vw); }
.image-service-move-scrolling._3 { transform: translate(0vw, 0vw); }
.image-service-move-scrolling._4 { transform: translate(-14vw, 9vw); }
.image-service-move-scrolling._5 { transform: translate(-28vw, 18vw); }
.image-service-move-scrolling._1 { animation: service-float-1 4.6s ease-in-out infinite alternate; animation-delay: 0s; }
.image-service-move-scrolling._2 { animation: service-float-2 4.6s ease-in-out infinite alternate; animation-delay: .24s; }
.image-service-move-scrolling._3 { animation: service-float-3 4.6s ease-in-out infinite alternate; animation-delay: .48s; }
.image-service-move-scrolling._4 { animation: service-float-4 4.6s ease-in-out infinite alternate; animation-delay: .72s; }
.image-service-move-scrolling._5 { animation: service-float-5 4.6s ease-in-out infinite alternate; animation-delay: .96s; }

@keyframes service-float-1 {
  0% { transform: translate(28vw, -18vw) translateY(16px); }
  100% { transform: translate(28vw, -18vw) translateY(-18px); }
}

@keyframes service-float-2 {
  0% { transform: translate(14vw, -9vw) translateY(16px); }
  100% { transform: translate(14vw, -9vw) translateY(-18px); }
}

@keyframes service-float-3 {
  0% { transform: translate(0vw, 0vw) translateY(16px); }
  100% { transform: translate(0vw, 0vw) translateY(-18px); }
}

@keyframes service-float-4 {
  0% { transform: translate(-14vw, 9vw) translateY(16px); }
  100% { transform: translate(-14vw, 9vw) translateY(-18px); }
}

@keyframes service-float-5 {
  0% { transform: translate(-28vw, 18vw) translateY(16px); }
  100% { transform: translate(-28vw, 18vw) translateY(-18px); }
}
.bg-under-content { position: absolute; inset: 0; opacity: .25; filter: blur(145px); pointer-events: none; z-index: 0; }
.blur { border-radius: 99vw; width: 22vw; height: 22vw; background-color: var(--color-style--decorative-color-2); }
.blur._1 { width: 27vw; height: 27vw; transform: translate(28vw, -18vw); }

/* projects */
.main-projects { position: relative; z-index: 9; height: 700vh; padding: 0 var(--base-spacing--spacing-container); }
.wrapper-project-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  perspective: 1200px;
  overflow: hidden;
}
.relative-for-block { width: 40vw; height: 12vw; display: flex; justify-content: center; align-items: center; }
.wrapper-text-project {
  display: flex;
  justify-content: center;
  letter-spacing: -.45vw;
  font-size: 8.8vw;
  line-height: 8.8vw;
  z-index: 12;
  pointer-events: none;
  transition: opacity .45s ease, transform .45s ease, filter .45s ease;
}
.text-projects {
  font-weight: 640;
  letter-spacing: -.3vw;
  background: linear-gradient(110deg, #ffffff 8%, #e8e8e8 38%, #9f9f9f 62%, #ffffff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 22px #ffffff1f, 0 0 46px #ffffff14;
}
.projects {
  position: absolute;
  width: 92%;
  height: 60vw;
  display: flex;
  justify-content: center;
  align-items: center;
  transform-origin: 50% 100%;
  opacity: 0;
  transform: translate3d(0, 8vh, -45vw) scale(.92);
  transition: opacity .35s ease, transform .35s ease;
  will-change: transform, opacity;
}
.projects.is-active { opacity: 1; transform: translate3d(0, 0, -45vw) scale(1); }
.inner-projects { position: relative; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5vw; }
.text-name-projects {
  z-index: 1;
  width: 86%;
  text-align: center;
  letter-spacing: -.2vw;
  font-size: 12vw;
  line-height: 100%;
}
.projects._3 .text-name-projects {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap;
  z-index: 1;
  pointer-events: none;
}
.wrapper-image-project { position: absolute; width: 35vw; height: 26vw; }
.wrapper-image-project._1 { z-index: 0; inset: 0 auto auto 0; margin-left: var(--spacing--margin-min-image-project); }
.wrapper-image-project._2 { z-index: 2; inset: auto 0 0 auto; margin-right: var(--spacing--margin-min-image-project); mix-blend-mode: exclusion; width: 26vw; height: 32vw; }
.wrapper-image-project._3 { z-index: 0; inset: 0 0 auto auto; margin-right: var(--spacing--margin-min-image-project); }
.wrapper-image-project._4 { z-index: 2; inset: auto auto 0 0; margin-left: var(--spacing--margin-min-image-project); mix-blend-mode: exclusion; width: 26vw; height: 32vw; }
.wrapper-image-project._5 { z-index: 2; inset: auto 0 0 auto; margin-right: var(--spacing--margin-min-image-project); mix-blend-mode: exclusion; }
.wrapper-image-project._5 {
  aspect-ratio: 16 / 9;
  height: auto;
  background: #000;
  overflow: hidden;
}
.wrapper-image-project._6 { z-index: 2; inset: 0 auto auto 0; margin-left: var(--spacing--margin-min-image-project); mix-blend-mode: exclusion; }
.wrapper-image-project._7 { z-index: 2; inset: auto 0 0 auto; margin-right: var(--spacing--margin-min-image-project); mix-blend-mode: exclusion; width: 26vw; height: 32vw; }
.image-projects, .video-project { object-fit: cover; }
.wrapper-image-project._5 .video-project {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  background: #000;
  border-radius: 10px;
}
.projects._3 .wrapper-image-project._4 { width: 30vw; height: 34vw; }
.projects._3 .wrapper-image-project._4 .image-projects {
  object-fit: contain;
  background: #000;
}
.projects._2 { margin-top: -3rem; }

.outer-button { width: 76%; }
.outer-button._2, .outer-button._3 { width: 60%; }
.outer-button._4 { width: 63%; }
.project-claim-row {
  position: relative;
  z-index: 4;
  width: 76%;
  display: flex;
  align-items: flex-start;
  gap: 2.8vw;
  margin-top: 2.1vw;
}
.project-claim-row._2 {
  position: absolute;
  left: 6%;
  bottom: 12%;
  width: 56%;
  margin: 0;
}
.project-claim-row._3 {
  position: absolute;
  left: 44%;
  bottom: 13%;
  width: 50%;
  margin: 0;
}
.project-claim-row._4 {
  width: 68%;
  margin-left: -3vw;
}
.project-claim-row .outer-button {
  display: none;
}
.project-floating-cta {
  position: absolute;
  left: 50%;
  bottom: calc(1rem + 3.9rem + 20px);
  transform: translateX(-50%);
  z-index: 260;
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}
.project-floating-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f2f2f2;
  box-shadow: none;
}
.project-floating-link .btn-link-wrapp { padding-bottom: .2rem; }
.project-floating-link .line-btn-404 {
  display: block;
  height: 1px;
}
.project-floating-link .link-text-btn {
  font-size: 1.02rem;
  line-height: 1;
  letter-spacing: 0;
}
.project-floating-link:hover,
.project-floating-link:focus-visible {
  color: #fff;
  background: transparent;
}
.project-floating-link:hover .line-btn-404,
.project-floating-link:focus-visible .line-btn-404 { transform: scaleX(1); }
.project-claims-box {
  display: flex;
  flex-direction: column;
  gap: 1.1vw;
  max-width: 38vw;
}
.project-claim-line {
  margin: 0;
  font-size: clamp(1.3rem, 2.2vw, 2.2rem);
  line-height: 1.45;
  letter-spacing: 0;
  color: #f4f4f4;
}
.tb-break { display: none; }
.project-claim-line.success {
  font-size: clamp(.76rem, 1.15vw, 1.05rem);
  line-height: 1.22;
  letter-spacing: 0;
  color: #dedede;
}
.button-link-404 {
  position: relative;
  display: inline-block;
  color: #fff;
  transition: color .3s cubic-bezier(.55, .085, .68, .53);
}
.btn-link-wrapp { position: relative; padding-bottom: .2vw; overflow: hidden; }
.btn-content-wrapp { display: flex; }
.inner-icon-wrapper-two { display: none; padding-right: 6px; font-size: 1.5vw; line-height: 2vw; }
.inner-icon-wrapper-two.right { padding-left: 6px; padding-right: 0; }
.link-text-btn { font-size: 1.5vw; line-height: 2vw; }
.line-btn-404 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: .1vw;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
}
.button-link-404:hover,
.button-link-404:focus-visible { color: var(--color-style--primary-color-3); }
.button-link-404:hover .line-btn-404,
.button-link-404:focus-visible .line-btn-404 { transform: scaleX(1); }
.button-link-404.project-floating-link {
  display: inline-flex;
  color: #f2f2f2;
}
.button-link-404.project-floating-link:hover,
.button-link-404.project-floating-link:focus-visible {
  color: #fff;
}

.outer-blur { position: absolute; inset: 0; opacity: .55; filter: blur(190px); pointer-events: none; }
.wrapper-blur-mode { position: sticky; top: 0; min-height: 100vh; padding: var(--spacing--padding-plus-blur-mode); }
.inner-blur-mode { width: 20vw; height: 20vw; position: relative; }
.inner-blur-mode { will-change: transform, filter; transition: transform .08s linear, filter .08s linear; }
.blur-mode { width: 20vw; height: 20vw; border-radius: 99vw; position: absolute; }
.blur-mode { transition: background-color .14s linear; }
.blur-mode.red { z-index: 4; background: #fff; }
.blur-mode.green { z-index: 3; background: #fff; }
.blur-mode.pink { z-index: 2; background: #fff; }
.blur-mode.white { z-index: 1; background: #fff; }

/* team */
.wrapper-team { display: flex; flex-direction: column; overflow: hidden; }
.wrapper-heading-team { display: flex; flex-direction: column; gap: 5vw; margin-bottom: 6vw; }
.text-heading-team {
  width: 55%;
  font-size: var(--medium-text-style--medium-size-heading-one);
  line-height: var(--medium-text-style--medium-height-heading-one);
}
.wrapper-descriptions-team { display: flex; justify-content: flex-end; }
.descriptions-team { width: 21%; }
.wrapper-content-team {
  position: relative;
  height: 100vh;
  display: flex;
  perspective: 1000px;
  transform: perspective(300px);
  align-items: flex-start;
  gap: 0;
}
.team {
  width: 25%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-top: 0;
  cursor: default;
}
.inner-team {
  width: 88%;
  height: 25vw;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
}
.content-name-team {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 1vw;
  padding: var(--spacing--spacing-team-card);
  background-image: linear-gradient(#00000066, #00000066);
  backdrop-filter: blur(8px);
  opacity: 1;
  transition: none;
}
.inner-name-team, .inner-job-team { overflow: hidden; }
.name-team {
  font-size: var(--small-size-style--small-size-name-team);
  line-height: var(--small-size-style--small-height-name-team);
  font-weight: var(--weight-style--medium-500);
  transform: none;
  transition: none;
}
.job-team {
  font-size: var(--small-size-style--small-size-tittle-job);
  line-height: var(--small-size-style--small-height-tittle-job);
  font-style: italic;
  color: #d2d2d2;
  transform: none;
  transition: none;
}
.team-info-body {
  margin: .35rem 0 0;
  font-size: .95rem;
  line-height: 1.45;
  color: #e4e4e4;
}
.team._1 .content-name-team { height: 100%; }
.team._1 .inner-job-team { margin-top: auto; }
.overlay-team-inside {
  z-index: 10;
  position: absolute;
  inset: 0 0 0 auto;
  background-color: #000;
  opacity: 0;
  pointer-events: none;
}
.overlay-team-inside.right { width: 50%; border-left: 1px solid #fff; }
.overlay-team-inside.left { width: 50%; inset: 0 auto 0 0; border-right: 1px solid #fff; }
.overlay-offset { z-index: 9; position: absolute; inset: 0; background-color: #000; display: none; opacity: 0; pointer-events: none; }

/* references */
.section.references {
  padding: 0;
  min-height: 100vh;
  height: 100vh;
}
.wrapper-references {
  position: sticky;
  top: 0;
  min-height: 100vh;
  padding-top: 4vw;
  justify-content: center;
  display: flex;
  flex-direction: column;
  gap: 2.2vw;
}
.wrapper-heading-references {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2vw;
}
.wrapper-heading-references .descriptions-service {
  width: 34%;
  margin: 0;
}
.references-viewport {
  width: 100%;
  overflow: hidden;
}
.references-grid {
  display: flex;
  flex-wrap: nowrap;
  gap: 1.25rem;
  width: max-content;
  will-change: transform;
}
.reference-card {
  flex: 0 0 clamp(280px, 30vw, 430px);
  border: 1px solid #ffffff1f;
  background: transparent;
  border-radius: 1.5rem;
  padding: 1.55rem;
  min-height: 15.2rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1rem;
  transition: transform .28s ease, box-shadow .28s ease;
}
.reference-card,
.reference-stars,
.reference-quote,
.reference-name,
.reference-role,
.reference-avatar {
  font-family: var(--base-value--primary-font-style);
  font-style: normal;
}
.reference-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px #00000026;
}
.reference-stars {
  display: flex;
  align-items: center;
  gap: .22rem;
  color: #fff;
  font-size: 1.02rem;
  line-height: 1;
}
.reference-quote {
  order: 2;
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.55;
  color: #ebebeb;
}
.reference-person {
  order: 1;
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-top: 0;
  margin-bottom: .7rem;
  padding-top: 0;
}
.reference-avatar {
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  border-radius: 999px;
  overflow: hidden;
  background: #111;
  border: 1px solid #ffffff26;
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  font-weight: 600;
}
.reference-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.reference-meta {
  display: flex;
  flex-direction: column;
  gap: .18rem;
}
.reference-name {
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 500;
  color: #fff;
}
.reference-role {
  font-size: .84rem;
  line-height: 1.2;
  color: #c7c7c7;
}
.references-mobile-controls { display: none; }
.references-mobile-next {
  border: 0;
  background: transparent;
  color: #fff;
  border-radius: 0;
  padding: 0 0 .2rem;
  font-family: var(--base-value--primary-font-style);
  font-size: 1.02rem;
  line-height: 1.35rem;
  cursor: pointer;
  overflow: hidden;
  border-bottom: 1px solid #fff;
  transition: color .24s ease, border-color .24s ease;
}
.references-mobile-next:hover,
.references-mobile-next:focus-visible {
  color: var(--color-style--primary-color-3);
  border-bottom-color: var(--color-style--primary-color-3);
  transform: none;
  box-shadow: none;
}

/* contact */
.wrapper-contact {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6vw;
}
.wrapper-heading-contact { width: 100%; }
.text-heading-contact {
  letter-spacing: -.08em;
  font-size: var(--big-text-style--big-size-text-project);
  line-height: 1.12;
  font-weight: var(--weight-style--normal-400);
  color: #fff;
  text-shadow: none;
  transition: opacity .22s ease, transform .22s ease, filter .22s ease;
  will-change: opacity, transform, filter;
}
.text-heading-contact.is-switching {
  opacity: .2;
  transform: translateY(-6px);
  filter: blur(1.2px);
}
/* archive, legal and blog page titles */
body.archive-page .text-heading-contact {
  letter-spacing: -.02em;
  text-align: left;
}
.wrapper-descriptions-contact {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-top: 1vw;
}
.descriptions-contact {
  width: 21%;
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  color: #f3f3f3;
  text-align: left;
}
.wrapper-content-contact {
  width: 100%;
  height: auto;
  position: relative;
  overflow: visible;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border: 0;
  background: transparent;
}
.wrapper-decorative-corner, .wrapper-outer {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  position: relative;
}
.wrapper-outer { display: block; }
.inner-content-contact {
  position: relative;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
  padding: 1.4vw 1.8vw;
  border: 1px solid #ffffff10;
  background: #000;
  transform: none;
  z-index: 2;
}
.wrapp-content--text { display: flex; flex-direction: column; gap: .5vw; align-items: flex-start; text-align: left; }
.wrapper-address, .wrapper-email { display: flex; flex-direction: column; align-items: flex-start; }
.wrapper-email { margin-top: 1.4vw; }
.wrapper-operational-our { margin-top: 1.4vw; }
.contact-label {
  margin-bottom: .2vw;
}
.text-tagline-contact, .email-text {
  font-size: 3.6vw;
  line-height: 4.2vw;
  color: #f3f3f3;
  font-weight: 500;
}
.contact-main-text {
  font-size: 3.6vw;
  line-height: 4.2vw;
  color: #f3f3f3;
  font-weight: 500;
}
.operational {
  font-size: var(--small-size-style--small-size-tagline-contact);
  line-height: var(--small-size-style--small-height-tagline-contact);
  color: #f3f3f3;
}
.operational.contact-main-text {
  font-size: 3.6vw;
  line-height: 4.2vw;
  font-weight: 500;
}
.contact-link {
  position: relative;
  display: inline-block;
  color: #f3f3f3;
  cursor: pointer;
  text-decoration: none;
  transition: color .3s ease;
}
.contact-link:visited { color: #f3f3f3; }
.contact-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.15em;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
}
.contact-link:hover,
.contact-link:focus-visible {
  color: #9ec1ff;
}
.contact-link:hover::after,
.contact-link:focus-visible::after { transform: scaleX(1); }
.wrapper-main-contact { width: 35vw; padding-top: 2vw; padding-right: 1vw; }
.form { display: flex; flex-direction: column; align-items: flex-end; gap: 2vw; }
.wrapper-field { width: 100%; }
.field-name, .field-email, .field-area {
  width: 100%;
  border: 1px solid transparent;
  border-bottom-color: #fff;
  background: transparent;
  color: #fff;
  outline: none;
  margin-bottom: 0;
  padding: .2vw .35vw .4vw;
  transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.field-name { font-size: var(--small-size-style--small-size-field); line-height: var(--small-size-style--small-height-field); }
.field-email, .field-area { font-size: 1.26vw; line-height: 2vw; }
.field-area { padding-bottom: 5vw; resize: none; }
.field-name:focus,
.field-email:focus,
.field-area:focus {
  border-bottom-color: #6ba5ff;
  box-shadow: inset 0 -1px 0 #6ba5ff;
  background-color: #ffffff05;
}
.wrapper-button-submit { margin-top: 3vw; }
.button_v5 {
  position: relative;
  border: 2px solid #fff;
  background-color: #080808;
  border-radius: 5rem;
  padding: .8rem 2rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.button_v5-pulse-1 {
  position: absolute;
  inset: 0;
  border: 1px solid #fff;
  border-radius: 5rem;
}
.button_v5:hover {
  transform: translateY(-2px);
  border-color: #86b6ff;
  box-shadow: 0 10px 30px #3f8cff36;
}
.button_v5-text { letter-spacing: .5px; mix-blend-mode: difference; }
.wrapper-success { display: none; margin-top: 1rem; background-color: #1769007d; padding: .8rem; }
.wrapper-success.is-visible { display: block; }
.text-success { color: #22ff12; }
.corner { position: absolute; width: 1vw; height: 1vw; background-color: #fff; }
.corner._1 { top: 0; right: 0; }
.corner._2 { right: 0; bottom: 0; }
.corner._3 { left: 0; bottom: 0; }
.corner._4 { left: 0; top: 0; }

/* footer */
.wrapper-footer {
  min-height: calc(100vh - var(--spacing--padding-footer-bot));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2vw;
}
.wrapper-heading-footer, .wrapper-link-bot-footer { display: flex; flex-direction: column; gap: 2vw; }
.wrapper-link-section, .wrapper-link-website { display: flex; justify-content: space-between; align-items: flex-start; }
.inner-link-utilities { display: flex; gap: 8vw; }
.link-second, .link-page-utilities { display: flex; flex-direction: column; gap: 1vw; }
.wrapper-logo-footer { width: 100%; display: flex; justify-content: center; align-items: center; overflow: hidden; }
.wrapper-logo-footer.mobile { display: none; }
.footer-logo { font-size: 20vw; line-height: 17vw; letter-spacing: -.7vw; }
.footer-logo-image {
  width: 100%;
  max-width: none;
  height: auto;
  display: block;
}
.text-link-utilities, .text-link-web, .text-link-kitpro, .text-link-webflow {
  font-size: var(--small-size-style--small-size-link-footer);
  line-height: var(--small-size-style--small-height-link-footer);
}
body.archive-page .text-link-utilities {
  letter-spacing: .01em;
}
a.text-link-utilities {
  position: relative;
  display: inline-block;
  font-weight: var(--weight-style--medium-500);
  text-decoration: none;
  transition: color .3s cubic-bezier(.55, .085, .68, .53);
}
a.text-link-utilities::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -.15em;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .3s ease;
}
a.text-link-utilities:hover,
a.text-link-utilities:focus-visible { color: var(--color-style--primary-color-3); }
a.text-link-utilities:hover::after,
a.text-link-utilities:focus-visible::after { transform: scaleX(1); }
.text-link-kitpro, .text-link-webflow { font-weight: var(--weight-style--semi-bold-600); }
.inner-link-web { display: flex; gap: .5vw; }

/* responsive */
@media screen and (max-width: 991px) {
  .section.references {
    height: auto;
    min-height: 0;
  }
  .wrapper-references {
    position: relative;
    top: auto;
    min-height: auto;
  }
  :root {
    --heading-text-size--paragraph-size: 2vw;
    --heading-text-height--paragraph-height: 2.8vw;
    --base-spacing--spacing-section: 8vw;
    --big-text-style--big-size-text-project: 8vw;
    --big-text-style--big-height-text-project: 8vw;
  }
  .section.hero { height: auto; }
  .wrapper-hero { height: 62rem; }
  .wrapper-paragraph-herp { width: 31%; }
  .wrapper-project-sticky { height: 45rem; top: 15%; }
  .project-claim-row {
    width: min(82%, 52rem);
    gap: 1.35rem;
  }
  .tb-break { display: block; }
  .project-claim-row._2, .project-claim-row._3, .project-claim-row._4 { width: min(72%, 44rem); }
  .project-claim-row._3 {
    position: relative;
    left: auto;
    bottom: auto;
    width: min(62%, 38rem);
    margin-left: auto;
    margin-right: 0;
    margin-top: 1rem;
    transform: translateX(3vw);
  }
  .project-claim-row._2 {
    position: relative;
    left: auto;
    bottom: auto;
    width: min(72%, 44rem);
    margin-left: 0;
  }
  .project-claim-row._2,
  .project-claim-row._4 { margin-left: 0; }
  .project-claim-row._4 {
    position: relative;
    left: auto;
    bottom: auto;
    margin-top: 1rem;
  }
  .projects._3 .text-name-projects {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    margin: 1.1rem 0 1rem 0 !important;
    display: block !important;
    white-space: normal;
    z-index: 3;
    pointer-events: auto;
    font-size: 12vw;
    line-height: 100%;
    letter-spacing: -.2vw;
  }
  .projects._4 .text-name-projects { position: relative !important; margin: 1rem 0 .9rem 0 !important; z-index: 3; }
  .project-claim-row._3,
  .project-claim-row._4 { margin-top: 1.6rem; z-index: 5; }
  .project-claims-box {
    gap: .75rem;
    max-width: 32rem;
  }
  .project-claim-line {
    font-size: var(--heading-text-size--paragraph-size);
    line-height: var(--heading-text-height--paragraph-height);
  }
  .reference-quote { font-size: 1.62vw; line-height: 2.2vw; }
  .wrapper-service { min-height: 40rem; }
  .wrapper-in-service { gap: 1.35rem; }
  .number-service { font-size: .9rem; line-height: 1.15rem; }
  .tittle-service { font-size: 1.25rem; line-height: 1.45rem; }
  .paragraph-service { font-size: .82rem; line-height: 1.16rem; }
  .line-side-servce { width: 2px; height: 4rem; }
  .wrapper-content-service._1, .wrapper-content-service._2 {
    justify-content: flex-start;
    padding-right: 0;
    overflow: visible;
  }
  .wrapper-content-service._1 .inner-content-service,
  .wrapper-content-service._2 .inner-content-service {
    overflow: visible;
  }
  .wrapper-content-service._1 .wrapper-desc-tag-service,
  .wrapper-content-service._2 .wrapper-desc-tag-service {
    width: 24vw;
    margin-left: 0;
  }
  .wrapper-content-service._3, .wrapper-content-service._4 {
    transform: none;
    padding-right: 0;
  }
  .outer-content-service._2 { margin-top: -5.2rem; }
  .wrapper-content-service._3 .wrapper-desc-tag-service,
  .wrapper-content-service._4 .wrapper-desc-tag-service {
    width: 30vw;
    margin-left: auto;
  }
  .service-gradient-center {
    height: 6.2rem;
    transform: translateY(-.2rem);
  }
  .service-gradient-center .outer-blur { opacity: .84; filter: blur(96px); }
  .wrapper-content-team { height: auto; }
  .wrapper-content-contact { height: auto; }
  .wrapper-footer { min-height: calc(100vh - 2rem); gap: 2rem; justify-content: space-between; }
  .section.footer .text-link-utilities,
  .section.footer .text-link-web,
  .section.footer .text-link-kitpro,
  .section.footer .text-link-webflow {
    font-size: 1.62vw;
    line-height: 2.2vw;
  }
  .descriptions-about, .descriptions-service { width: 31%; }
  .descriptions-team, .descriptions-contact { width: 31%; }
  .wrapper-heading-references .descriptions-service { width: 42%; }
  .reference-card { flex-basis: clamp(280px, 38vw, 420px); }
  .navbar1_wrap { bottom: .75rem; }
  .navbar1_container { width: min(100%, 24rem); max-width: 100%; }
  .navbar1_logo { width: 6.2rem; min-width: 6.2rem; height: 2.95rem; padding: .45rem .58rem; }
  .navbar1_logo-wordmark { font-size: 1.03rem; }
  .navbar1_list { gap: 0; padding: .14rem .2rem; }
  .navbar1_link { font-size: .94rem; padding: .9rem 1.05rem; min-height: 2.95rem; }
  .lang-switch-wrap { padding-top: .75rem; }
}

@media screen and (max-width: 767px) {
  body:not(.archive-page) {
    text-align: center;
  }
  body:not(.archive-page) h1,
  body:not(.archive-page) h2,
  body:not(.archive-page) h3,
  body:not(.archive-page) h4,
  body:not(.archive-page) h5,
  body:not(.archive-page) h6,
  body:not(.archive-page) p:not(.reference-quote),
  body:not(.archive-page) a,
  body:not(.archive-page) span:not(.reveal-inner),
  body:not(.archive-page) .descriptions-about,
  body:not(.archive-page) .descriptions-service,
  body:not(.archive-page) .descriptions-team,
  body:not(.archive-page) .descriptions-contact,
  body:not(.archive-page) .paragraph-service,
  body:not(.archive-page) .project-claim-line {
    text-align: center !important;
  }

  :root {
    --base-spacing--spacing-section: 3rem;
    --base-spacing--spacing-container: 1.2rem;
    --big-text-style--big-size-text-project: 3.7rem;
    --big-text-style--big-height-text-project: 4rem;
  }
  .wrapper-hero { height: 36rem; }
  .wrapper-content-two { padding-bottom: 6.4rem; }
  .wrapper-paragraph-herp { width: 100%; justify-content: center; }
  .paragraph-hero { font-size: 1rem; line-height: 1.3rem; }
  .hero-under-logo-text { left: 16%; bottom: 6%; }
  .hero-collab-text { left: 16%; bottom: -8%; }
  .wrapper-about { gap: 3.5rem; }
  .inner-text-about.one {
    width: 90%;
    margin: 0 auto;
  }
  .text-about { font-size: 1.72rem; line-height: 1.95rem; }
  .text-heading-team { font-size: 2rem; line-height: 2.2rem; }
  .wrapper-project-sticky { height: 20rem; top: 3%; }
  .wrapper-service { gap: 2.6rem; }
  .wrapper-in-service { gap: 1rem; }
  .heading-service { font-size: 1.65rem; line-height: 2rem; }
  .wrapper-desc-tag-service { width: 100%; }
  .number-service { font-size: .9rem; line-height: 1.15rem; }
  .tittle-service { font-size: 1.28rem; line-height: 1.42rem; }
  .paragraph-service { font-size: .85rem; line-height: 1.2rem; }
  .line-side-servce { width: 2px; height: 3.6rem; }
  .wrapper-content-service._3, .wrapper-content-service._4 {
    transform: none;
    padding-right: 0;
  }
  .wrapper-content-service._3 .wrapper-desc-tag-service,
  .wrapper-content-service._4 .wrapper-desc-tag-service {
    width: 100%;
    margin-left: 0;
  }
  .wrapper-content-service._1 .wrapper-desc-tag-service,
  .wrapper-content-service._2 .wrapper-desc-tag-service {
    width: 100%;
    margin-left: 0;
  }
  .service-gradient-center { height: 6.6rem; transform: translateY(.2rem); }
  .outer-content-service._2 { margin-top: -2.1rem; }
  .service-gradient-center .outer-blur { opacity: .88; filter: blur(82px); }
  .wrapper-content-team { height: 27rem; gap: .3rem; }
  .inner-team { width: auto; }
  .content-name-team { gap: 1rem; padding: .8rem; }
  .wrapper-content-contact { height: auto; }
  .corner { width: .8rem; height: .8rem; }
  .inner-content-contact {
    min-height: 0;
    flex-direction: column;
    gap: 0;
    padding-bottom: 1.2rem;
    filter: blur(0);
    transform: none;
  }
  .wrapper-main-contact { width: 80vw; padding-right: 0; }
  .inner-content-contact { padding: 1.2rem; }
  .field-name, .field-email, .field-area { padding: .15rem .25rem .45rem; }
  .wrapper-footer { min-height: calc(100vh - 1.5rem); gap: 1.2rem; justify-content: space-between; }
  .inner-link-utilities { gap: 4rem; }
  .email-text, .text-tagline-contact, .operational { text-align: center; }
  .wrapper-email { margin-top: 1rem; }
  .wrapper-operational-our { margin-top: 1rem; }
  .contact-label { margin-bottom: .25rem; }
  .wrapper-contact { gap: 2.6rem; }
  .wrapp-content--text,
  .wrapper-address,
  .wrapper-email,
  .wrapper-operational-our {
    align-items: center;
    text-align: center;
  }
  .text-tagline-contact, .email-text { font-size: 1.45rem; line-height: 1.7rem; }
  .contact-main-text { font-size: 1.45rem; line-height: 1.7rem; }
  .operational.contact-main-text { font-size: 1.45rem; line-height: 1.7rem; }
  .descriptions-about, .descriptions-service, .descriptions-team, .descriptions-contact { width: 45%; font-size: 1rem; line-height: 1.3rem; }
  .card-back-text {
    font-size: .9rem;
    line-height: 1.2rem;
  }
  .wrapper-descriptions-about {
    justify-content: center;
  }
  .wrapper-heading-references {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
  .wrapper-heading-references .descriptions-service {
    width: 100%;
    text-align: center;
  }
  .wrapper-heading-references .text-heading-team {
    text-align: center;
  }
  .references-viewport {
    display: block;
    width: 100%;
    overflow-x: hidden !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: auto;
    touch-action: none;
    overscroll-behavior-x: none;
    scroll-snap-type: none;
  }
  .references-grid {
    display: inline-flex;
    min-width: max-content;
    width: max-content;
    transform: none !important;
  }
  .references-grid {
    transform: none !important;
    gap: .75rem;
  }
  .reference-card { flex-basis: 86vw; min-width: 86vw; }
  .reference-card { scroll-snap-align: start; }
  .reference-card {
    min-height: 0;
    padding: 1rem;
    text-align: left !important;
    align-items: flex-start;
  }
  .reference-quote { font-size: 1rem; line-height: 1.3rem; }
  .reference-quote,
  .reference-name,
  .reference-role {
    text-align: left !important;
  }
  #references-section .reference-card,
  #references-section .reference-card p,
  #references-section .reference-card .reference-quote,
  #references-section .reference-card .reference-quote .reveal-inner {
    text-align: left !important;
  }
  body:not(.archive-page) .reference-card p {
    text-align: left !important;
  }
  body:not(.archive-page) .reference-quote {
    text-align: left !important;
  }
  .reference-quote {
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100%;
  }
  .reference-person {
    justify-content: flex-start;
  }
  .reference-meta {
    align-items: flex-start;
  }
  .references-mobile-controls {
    display: flex;
    justify-content: center;
    margin-top: .4rem;
  }
  .wrapper-main-hero._1 { width: 15vw; height: 10vw; }
  .wrapper-bracket.left { transform: translateX(6vw); }
  .wrapper-bracket.right { transform: translateX(-6vw); }
  .absolute-content-in .conter-type:first-child { transform: translateX(9vw); }
  .absolute-content-in .conter-type:last-child { transform: translateX(-9vw); }
  .wrapper-main-hero._2 { width: 15vw; height: 15vw; }
  .wrapper-main-hero._3 { width: 20vw; height: 24vw; }
  .wrapper-main-hero._4 { width: 13vw; height: 17vw; }
  .wrapper-main-hero._5 { width: 13vw; height: 13vw; }
  .wrapper-main-hero._6 { width: 18vw; height: 18vw; }
  .wrapper-main-hero._7 { width: 18vw; height: 13.5vw; }
  .wrapper-main-hero._8 { width: 12vw; height: 12vw; }
  .navbar1_wrap {
    display: flex;
    align-items: center;
    padding: 0 1.2rem;
    bottom: .6rem;
  }
  .navbar1_container { width: min(100%, 21rem); max-width: 100%; }
  .navbar1_logo {
    width: 5.4rem;
    min-width: 5.4rem;
    height: 2.7rem;
    padding: .38rem .5rem;
  }
  .navbar1_logo-wordmark { font-size: .94rem; }
  .navbar1_list {
    width: auto;
    justify-content: center;
    overflow: hidden;
    padding: .12rem .16rem;
  }
  .navbar1_link {
    font-size: .86rem;
    padding: .82rem .92rem;
    min-height: 2.7rem;
  }
  .navbar1_link-consult { white-space: nowrap; }
  .lang-switch-wrap { padding-top: .65rem; padding-right: 1.2rem; }
  .lang-switch-link { font-size: .84rem; padding: .2rem 0; }
  .overlay-team-inside.right, .overlay-team-inside.left { display: none; }
}

@media screen and (max-width: 479px) {
  :root {
    --base-spacing--spacing-section: 6vw;
    --base-spacing--spacing-container: 1rem;
    --big-text-style--big-size-text-project: 3.5rem;
    --big-text-style--big-height-text-project: 4rem;
  }
  .wrapper-hero { height: 100svh; min-height: 42rem; }
  .inner-content-text-hero { height: 100%; }
  .text-hero {
    width: min(72vw, 19rem);
    transform: translateY(-14vh);
  }
  .wrapper-masking-hero { inset: 0; }
  .wrapper-conotent-one { z-index: 60 !important; }
  .wrapper-masking-hero { z-index: 10 !important; }
  .wrapper-main-hero { border-radius: 0; }
  .wrapper-main-hero {
    z-index: 12 !important;
  }
  .wrapper-main-hero._1 {
    width: 29vw;
    height: 38vw;
    transform: translate(-12vw, -48vw) perspective(900px);
  }
  .wrapper-main-hero._2 {
    width: 30vw;
    height: 30vw;
    transform: translate(0vw, -10vw) perspective(900px);
  }
  .wrapper-main-hero._3 {
    width: 28vw;
    height: 28vw;
    transform: translate(0vw, -64vw) perspective(900px);
  }
  .wrapper-main-hero._4 {
    width: 19vw;
    height: 25vw;
    transform: translate(31vw, -74vw) perspective(900px);
  }
  .wrapper-main-hero._5 {
    width: 19vw;
    height: 25vw;
    transform: translate(36vw, 18vw) perspective(900px);
  }
  .wrapper-main-hero._6 {
    width: 28vw;
    height: 38vw;
    transform: translate(-37vw, 12vw) perspective(900px);
  }
  .wrapper-main-hero._7 {
    width: 29vw;
    height: 38vw;
    transform: translate(-24vw, -96vw) perspective(900px);
  }
  .wrapper-main-hero._8 {
    width: 21vw;
    height: 21vw;
    transform: translate(-38vw, -58vw) perspective(900px);
  }
  .wrapper-content-two { padding-bottom: 5.8rem; }
  .wrapper-content-two {
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: auto;
    gap: 2rem;
    padding-bottom: 1.6rem;
  }
  .wrapper-paragraph-herp { width: auto; justify-content: center; }
  .paragraph-hero { text-align: center; }
  .hero-under-logo-text {
    left: 14%;
    bottom: 5%;
    font-size: .95rem;
    line-height: 1.2rem;
  }
  .hero-collab-text {
    left: 14%;
    bottom: -7%;
    font-size: .95rem;
    line-height: 1.2rem;
  }
  .wrapper-about { gap: 4rem; }
  .wrapper-project-sticky { height: 100svh; top: 0; }
  .wrapper-service { gap: 2rem; }
  #service-section { padding-top: calc(var(--base-spacing--spacing-section) + 3.5rem); }
  .wrapper-heading-service { gap: .75rem; }
  .wrapper-content-service._1, .wrapper-content-service._2, .wrapper-content-service._3, .wrapper-content-service._4 {
    flex-direction: column;
    gap: .8rem;
    align-items: center;
    width: 100%;
    padding: 1.15rem 0;
    border-top: 1px solid #ffffff33;
  }
  .wrapper-content-service._4 { border-bottom: 1px solid #ffffff33; }
  .wrapper-content-service._3, .wrapper-content-service._4 {
    align-items: center;
    padding-right: 0;
    transform: none;
  }
  .wrapper-content-service._3 .wrapper-desc-tag-service,
  .wrapper-content-service._4 .wrapper-desc-tag-service {
    width: 100%;
    margin-left: 0;
  }
  .wrapper-in-service { gap: 0; }
  .service-gradient-center { height: 0; margin: 0; transform: none; }
  .image-service-move-scrolling { width: 5.4rem; height: 6.2rem; }
  .outer-content-service._2 { margin-top: 0; }
  .service-gradient-center .outer-blur,
  .service-gradient-center .inner-blur-mode,
  .service-gradient-center .blur-mode {
    width: 6.5rem;
    height: 6.5rem;
  }
  .service-gradient-center .outer-blur { opacity: .9; filter: blur(66px); }
  .wrapper-descriptions-contact { justify-content: flex-end; }
  .inner-heading-service, .text-heading-team { width: auto; text-align: center; }
  .heading-service { font-size: 2.05rem; line-height: 2.2rem; text-align: center; letter-spacing: -.02em; }
  .descriptions-service { font-size: 1rem; line-height: 1.3rem; }
  .inner-content-service {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: .75rem;
  }
  .wrapper-tittle-service {
    justify-content: center;
    align-items: baseline;
  }
  .wrapper-desc-tag-service {
    width: 100%;
    max-width: 22rem;
    gap: 1rem;
    align-items: center;
    text-align: center;
  }
  .number-service { font-size: .82rem; line-height: 1.1rem; }
  .tittle-service { font-size: 1.2rem; line-height: 1.34rem; }
  .paragraph-service {
    font-size: .82rem;
    line-height: 1.18rem;
    max-width: 20rem;
  }
  .line-side-servce { display: none; }
  .inner-descriptions-service._1,
  .inner-descriptions-service._2,
  .inner-descriptions-service._3,
  .inner-descriptions-service._4 {
    padding-left: 0;
    justify-content: center;
    width: 100%;
    gap: .45rem;
  }
  .text-about, .descriptions-about, .descriptions-service, .descriptions-team { text-align: center; width: auto; }
  .wrapper-descriptions-about { justify-content: center; }
  .descriptions-contact { width: auto; text-align: center; }
  .wrapper-minimize-one { height: 33vw; }
  .wrapper-card.one, .wrapper-card.two { width: 21vw; height: 25vw; }
  .wrapper-card.one {
    transform: translateX(-74%) rotate(-8deg);
    z-index: 2;
    animation: none;
  }
  .wrapper-card.two {
    transform: translateX(-4%) rotate(12deg);
    z-index: 1;
    animation: none;
  }
  .wrapper-card.one:hover,
  .wrapper-card.one:focus-within { transform: translateX(-74%) rotate(-8deg); }
  .wrapper-card.two:hover,
  .wrapper-card.two:focus-within { transform: translateX(-4%) rotate(12deg); }
  .wrapper-card:hover,
  .wrapper-card:focus-within,
  .wrapper-card:active { z-index: 30 !important; }
  .card-back-text {
    font-size: .66rem;
    line-height: .94rem;
  }
  .card-text-desktop-full { display: none; }
  .card-text-mobile-short { display: inline; }
  .absolute-content-in {
    justify-content: center;
    gap: 3.2rem;
  }
  .wrapper-bracket.left { transform: translateX(1.3rem); }
  .wrapper-bracket.right { transform: translateX(-1.3rem); }
  .absolute-content-in .conter-type:first-child { transform: translateX(1.9rem); }
  .absolute-content-in .conter-type:last-child { transform: translateX(-1.9rem); }
  .main-projects { height: 450vh; }
  .projects._1, .projects._2, .projects._3, .projects._4 { width: 100%; height: auto; }
  .inner-projects { height: auto; gap: 1.5rem; }
  .text-name-projects { width: 100%; text-align: center; order: 1; }
  .project-claim-row,
  .project-claim-row._2,
  .project-claim-row._3,
  .project-claim-row._4 {
    width: 100%;
    order: 3;
    margin-top: .2rem;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .85rem;
  }
  .text-name-projects { font-size: 2.56rem; line-height: 2.62rem; letter-spacing: -.02em; }
  .projects._3 .text-name-projects { font-size: 2.56rem; line-height: 2.62rem; }
  .project-floating-cta {
    bottom: calc(.75rem + 3.2rem + 78px);
    width: calc(100% - 2rem);
    display: flex;
    justify-content: center;
  }
  .project-floating-link {
    width: min(22rem, 100%);
    text-align: center;
  }
  .project-claims-box {
    width: 100%;
    max-width: 34rem;
    align-items: center;
    text-align: center;
    gap: .65rem;
  }
  .project-claim-line { font-size: 1rem; line-height: 1.35; }
  .project-claim-line.success { font-size: .78rem; line-height: 1.2; }
  .projects._3 .text-name-projects {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 .9rem 0 !important;
    white-space: normal;
    pointer-events: auto;
    z-index: 1;
  }
  .project-claim-row._3,
  .project-claim-row._4 { margin-top: 1rem; }
  .wrapper-image-project._1, .wrapper-image-project._3, .wrapper-image-project._5, .wrapper-image-project._6 {
    width: 100%;
    height: 12.6rem;
    margin: 0;
    position: relative;
    background: #070707;
    overflow: hidden;
  }
  .projects .wrapper-image-project .image-projects,
  .projects .wrapper-image-project .video-project {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .main-projects { height: 360vh; }
  .wrapper-image-project._2, .wrapper-image-project._4, .wrapper-image-project._7 { display: none; }
  .projects._1 .wrapper-image-project._6 { display: none; }
  .projects._1 .wrapper-image-project._7 {
    display: block;
    width: 100%;
    height: 12.6rem;
    margin: 0;
    position: relative;
    background: #070707;
    overflow: hidden;
  }
  .projects._4 .wrapper-image-project._1 { display: none; }
  .projects._4 .wrapper-image-project._2 {
    display: block;
    width: 100%;
    height: 12.6rem;
    margin: 0;
    position: relative;
    mix-blend-mode: normal;
    background: #070707;
    overflow: hidden;
  }
  .wrapper-content-team {
    height: auto;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.8rem;
  }
  .team, .team._1, .team._2, .team._3, .team._4, .team._5 { width: auto; padding-top: 0; }
  .inner-team { width: 15rem; height: 20rem; }
  .content-name-team { padding: 1.2rem; justify-content: flex-end; }
  .name-team, .job-team { text-align: center; }
  .wrapper-contact { gap: 4rem; align-items: center; }
  #contact-section .wrapper-heading-contact,
  #contact-section .wrapper-descriptions-contact,
  #contact-section .wrapper-content-contact,
  #contact-section .wrapper-main-contact,
  #contact-section .wrapper-outer,
  #contact-section .inner-content-contact,
  #contact-section .wrapp-content--text,
  #contact-section .wrapper-address,
  #contact-section .wrapper-email,
  #contact-section .wrapper-operational-our {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  #contact-section .contact-label,
  #contact-section .text-tagline-contact,
  #contact-section .email-text,
  #contact-section .contact-main-text,
  #contact-section .operational.contact-main-text,
  #contact-section .wrapp-content--text * {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
  }
  .wrapper-content-contact, .wrapper-outer, .inner-content-contact { min-height: 0; height: auto; }
  .corner { width: .6rem; height: .6rem; }
  .wrapper-main-contact { width: 100%; }
  .wrapp-content--text {
    align-items: center;
    text-align: center;
  }
  .wrapper-address,
  .wrapper-email,
  .wrapper-operational-our {
    align-items: center;
    text-align: center;
  }
  .contact-label,
  .text-tagline-contact,
  .email-text,
  .contact-main-text,
  .operational.contact-main-text {
    text-align: center !important;
  }
  .form { gap: .4rem; align-items: center; }
  .wrapper-button-submit { margin-top: 2rem; }
  .wrapper-footer { gap: 1.5rem; min-height: calc(100vh - 1.2rem); justify-content: space-between; }
  .wrapper-link-bot-footer, .wrapper-link-section { flex-direction: column; gap: 2rem; align-items: center; }
  .inner-link-utilities, .link-second, .link-page-utilities { flex-direction: column; gap: 1.2rem; align-items: center; }
  .wrapper-link-section > .inner-link-utilities:first-child {
    gap: 2.6rem;
  }
  .wrapper-link-section > .inner-link-utilities:last-child {
    margin-top: .6rem;
  }
  .section.footer .text-link-utilities,
  .section.footer .text-link-web,
  .section.footer .text-link-kitpro,
  .section.footer .text-link-webflow {
    font-size: 1rem;
    line-height: 1.3rem;
  }
  .wrapper-logo-footer.desktop { display: none; }
  .wrapper-logo-footer.mobile { display: flex; }
  .footer-logo { font-size: 4.2rem; line-height: 4.5rem; }
  .footer-logo-image { width: 100%; }
  .navbar1_wrap { padding: 0 1rem; }
  .navbar1_link { font-size: .82rem; padding: .72rem .86rem; min-height: 2.6rem; }
  .lang-switch-wrap { padding-right: 1rem; }
}

/* archive page */
body.archive-page .section.footer {
  min-height: auto;
  padding-top: 4rem;
}

.archive-main {
  min-height: 100vh;
  padding-top: 7.4rem;
}

.archive-section {
  padding-top: 1.3rem;
}

.archive-wrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.archive-message-wide {
  width: 100%;
  margin-top: 1.4rem;
}

.archive-message-text {
  width: 100%;
  margin: 0;
  font-size: 1.33vw;
  line-height: 1.9vw;
  white-space: pre-line;
}

.archive-project-list {
  display: flex;
  flex-direction: column;
  overflow-x: auto;
  margin-top: 1.4rem;
}

.archive-project-row {
  display: grid;
  grid-template-columns: 5.5rem 17rem minmax(20rem, 1fr) 10rem;
  align-items: center;
  column-gap: 1.6rem;
  min-width: 61rem;
}

.archive-project-row {
  width: 100%;
  padding: 1.1rem .4rem;
  border-bottom: 1px solid #ffffff17;
  transition: background-color .25s ease, transform .25s ease;
}


.archive-project-row:hover {
  background: #ffffff08;
  transform: translateX(5px);
}

.archive-project-row.upcoming {
  grid-template-columns: 5.5rem minmax(0, 1fr);
  min-width: 30rem;
}

.archive-project-year {
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  font-size: var(--small-size-style--small-size-text-number);
  line-height: var(--small-size-style--small-height-text-number);
  font-style: italic;
  color: #f3f3f3;
}

.archive-project-year::before {
  content: "(";
}

.archive-project-year::after {
  content: ")";
}

.archive-project-name {
  font-size: clamp(1.45rem, 3.1vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  color: #fff;
  white-space: nowrap;
}

.archive-project-details {
  min-width: 0;
  padding-left: 2.4rem;
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  letter-spacing: .01em;
  color: #cacaca;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.archive-project-link {
  justify-self: end;
  width: fit-content;
  white-space: nowrap;
}

.archive-project-link:hover,
.archive-project-link:focus-visible {
  color: var(--color-style--primary-color-3);
}

.archive-hover-preview {
  position: fixed;
  right: clamp(16px, 2vw, 34px);
  bottom: clamp(16px, 2.4vw, 34px);
  width: min(25vw, 360px);
  aspect-ratio: 16 / 10;
  z-index: 500;
  pointer-events: none;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #ffffff2f;
  background: #0d0d0d;
  box-shadow: 0 18px 48px #0000007a;
  opacity: 0;
  transform: translate3d(0, 16px, 0) scale(.96);
  transition: opacity .22s ease, transform .18s ease;
}

.archive-hover-preview.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.archive-hover-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.archive-contact-note {
  display: flex;
  gap: 1.2rem;
  align-items: center;
  flex-wrap: wrap;
  padding-top: .35rem;
}

.archive-contact-note .contact-label {
  margin-bottom: 0;
}

.archive-contact-note .text-link-utilities {
  color: #dcdcdc;
}

.blog-article {
  width: min(100%, 78rem);
  margin-top: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.blog-lead {
  margin: 0;
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  color: #fff;
  max-width: 56rem;
}

.blog-article h2,
.blog-article h3 {
  margin: 1.35rem 0 .25rem;
  font-weight: 500;
  letter-spacing: -.01em;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: .12em;
  text-decoration-thickness: 1px;
}

.blog-article h2 {
  font-size: clamp(1.35rem, 2.1vw, 2rem);
  line-height: 1.2;
}

.blog-article h3 {
  font-size: clamp(1.12rem, 1.45vw, 1.45rem);
  line-height: 1.3;
}

.blog-article p {
  margin: 0;
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  color: #fff;
  max-width: 60rem;
}

.blog-article ul {
  margin: .2rem 0 .35rem;
  padding-left: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .34rem;
  max-width: 58rem;
}

.blog-article li {
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  color: #fff;
}

.blog-article strong {
  color: #fff;
  font-weight: 500;
}

.blog-cta-box {
  margin-top: 2.4rem;
  max-width: 58rem;
}

.blog-cta-box.inner-descriptions-service {
  padding-left: 0;
  gap: 1rem;
  align-items: flex-start;
}

.blog-cta-box .line-side-servce {
  width: 2px;
  min-width: 2px;
  height: auto;
  align-self: stretch;
}

.blog-cta-box p {
  margin: 0;
  max-width: none;
}

.blog-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.15rem 2rem;
  margin-bottom: 1.2rem;
}

.blog-meta-item {
  font-size: var(--heading-text-size--paragraph-size);
  line-height: var(--heading-text-height--paragraph-height);
  color: #fff;
  text-transform: none;
  letter-spacing: 0;
}

.blog-article a {
  color: #fff;
}

.mb-only {
  display: none;
}

@media screen and (max-width: 991px) {
  .archive-main {
    padding-top: 6.6rem;
  }

  .archive-wrap {
    gap: 1.4rem;
  }

  .archive-project-row {
    grid-template-columns: 4.4rem 11.8rem minmax(12rem, 1fr) 7.2rem;
    min-width: 42rem;
    column-gap: .65rem;
    padding: .8rem 0;
  }

  .archive-project-name {
    font-size: var(--heading-text-size--paragraph-size);
    line-height: var(--heading-text-height--paragraph-height);
  }

  .archive-project-details {
    padding-left: 1.2rem;
    font-size: 1.62vw;
    line-height: 2.2vw;
    white-space: normal;
    overflow: hidden;
    text-overflow: unset;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  .archive-hover-preview {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  body.archive-page .wrapper-heading-contact > div.text-heading-contact {
    text-align: center;
  }
  body.archive-page .wrapper-heading-contact > h1.text-heading-contact {
    text-align: left;
  }
  .archive-main {
    padding-top: 5.5rem;
  }

  .archive-section {
    padding-top: .7rem;
  }

  .archive-project-list {
    overflow-x: visible;
    margin-top: .7rem;
  }

  .archive-project-row {
    min-width: 0;
    grid-template-columns: 4.2rem minmax(0, 1fr) auto;
    column-gap: .28rem;
    row-gap: .95rem;
    align-items: center;
    padding: 1.85rem 0;
  }

  .archive-project-year {
    font-size: .82rem;
    line-height: 1.18rem;
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  .archive-project-row:hover {
    transform: none;
    background: transparent;
  }

  .archive-project-name {
    white-space: normal;
    font-size: 1.15rem;
    line-height: 1.45rem;
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }

  .archive-project-details {
    grid-column: 1 / -1;
    grid-row: 2;
    padding-left: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    font-size: .82rem;
    line-height: 1.18rem;
  }

  .archive-project-link {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: start;
    margin-top: .16rem;
    font-size: .82rem;
    line-height: 1.1rem;
    white-space: nowrap;
  }

  body.archive-page .wrapper-link-section {
    align-items: center;
  }

  body.archive-page .inner-link-utilities {
    width: 100%;
    align-items: center;
    gap: 1.4rem;
  }

  body.archive-page .link-second,
  body.archive-page .link-page-utilities {
    align-items: center;
    text-align: center;
  }

  .archive-contact-note {
    flex-direction: column;
    align-items: flex-start;
    gap: .45rem;
  }

  .archive-message-text {
    font-size: 1rem;
    line-height: 1.4rem;
  }
  body.archive-page .section.footer {
    padding-bottom: 8.5rem;
  }

  .blog-article {
    gap: .95rem;
  }

  .blog-lead {
    font-size: clamp(1.24rem, 2.7vw, 1.45rem);
    line-height: 1.55;
  }

  .blog-article p:not(.blog-meta-item),
  .blog-article li {
    font-size: clamp(1.14rem, 2.35vw, 1.3rem);
    line-height: 1.6;
  }

  .blog-article h2,
  .blog-article h3 {
    margin-top: 1.15rem;
  }

  .blog-cta-box {
    padding: .9rem .95rem;
  }
}

@media screen and (max-width: 479px) {
  .mb-only {
    display: block;
  }
  .archive-main {
    padding-top: 5rem;
  }

  .blog-lead {
    font-size: 1.26rem;
    line-height: 1.62;
  }

  .blog-article p:not(.blog-meta-item),
  .blog-article li {
    font-size: 1.14rem;
    line-height: 1.62;
  }

  .archive-project-row {
    grid-template-columns: 3.9rem minmax(0, 1fr);
    row-gap: .9rem;
    padding: 1.55rem 0;
  }

  .archive-project-year {
    font-size: .92rem;
    line-height: 1.2rem;
  }

  .archive-project-details {
    font-size: .98rem;
    line-height: 1.38rem;
  }
}
