@media not (prefers-reduced-motion: reduce) {
  [data-module="TextAnimation"] div[aria-hidden]:not(:has(div[aria-hidden])) {
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  }
  [data-module="TextAnimation"]:not(.is-inview) div[aria-hidden]:not(:has(div[aria-hidden])) {
    opacity: 0 !important;
    transform: translateY(0.5em);
  }
}

[data-module="TextAnimation"] .rich-inherit [aria-label] > div[aria-hidden] {
  white-space: normal !important;
  height: auto !important;
}

.builds_logo .logo-pieces {
  display: none;
}
.builds_logo {
  width: min(50vw, 560px, calc((100vh - 360px) * 0.867)) !important;
}
.builds_mask-parent {
  clip-path: none !important;
  -webkit-clip-path: none !important;
  mask-image: url("../images/logo-stacked-light.webp");
  -webkit-mask-image: url("../images/logo-stacked-light.webp");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.we-do_item {
  cursor: pointer;
}

.points, .points_item {
  color: #0b0b0b;
}

.hero_logo {
  width: min(22vw, 240px) !important;
}

.hero {
  position: relative;
}
.hero .v-flex-center-center {
  position: absolute;
  top: 3.75rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}

.future_grid .future_split.is-right {
  grid-column: 3;
}

.burger_bottom .h-flex-right-bottom {
  grid-column: 3;
}

.footer-comingsoon-label {
  font-size: clamp(2.25rem, 12vw, 5rem);
}

@media screen and (max-width: 991px) {
  .footer .grid-3col.sm-h-full {
    height: auto;
  }
  .footer_logo {
    align-self: center;
    width: 9rem;
    margin-bottom: var(--size--24);
  }
}
@media not (prefers-reduced-motion: reduce) {
  [data-module="TextAnimation"] .footer-comingsoon-label div[aria-hidden]:not(:has(div[aria-hidden])) {
    transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  }
  [data-module="TextAnimation"]:not(.is-inview) .footer-comingsoon-label div[aria-hidden]:not(:has(div[aria-hidden])) {
    opacity: 0 !important;
    transform: translateY(1.4em) scale(0.85);
  }
}
.dot-glow {
  animation: footer-dot-pulse 2.4s ease-in-out infinite;
}
.dot-glow.is-second {
  animation-delay: 1.2s;
}
@keyframes footer-dot-pulse {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.8); }
}
@media (prefers-reduced-motion: reduce) {
  .dot-glow {
    animation: none;
  }
}

:root {
  --ra-accent: var(--color--orange, #cc6437);
  --ra-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ra-dur-fast: 0.25s;
  --ra-dur: 0.6s;
  --ra-perspective: 1100px;
  --ra-shadow-rest: 0 2px 10px rgba(11, 11, 11, 0.14);
  --ra-shadow-raised: 0 24px 60px -16px rgba(11, 11, 11, 0.4), 0 6px 18px rgba(11, 11, 11, 0.18);
}

::selection {
  background: var(--ra-accent);
  color: var(--color--white);
}
:focus-visible {
  outline: 2px solid var(--ra-accent);
  outline-offset: 3px;
  border-radius: 2px;
}
a, .button, .we-do_item, [data-burger-toggle] {
  -webkit-tap-highlight-color: transparent;
}
html {
  scrollbar-color: #3c3c3c transparent;
}

.button,
.nav_burger,
.popup_close {
  transform: translate(var(--mag-x, 0px), var(--mag-y, 0px));
  transition:
    box-shadow var(--ra-dur-fast) var(--ra-ease),
    text-shadow var(--ra-dur-fast) var(--ra-ease),
    background-color var(--ra-dur-fast) var(--ra-ease);
  will-change: transform;
}
.button:active,
.nav_burger:active,
.popup_close:active {
  transform: translate(var(--mag-x, 0px), var(--mag-y, 0px)) scale(0.96);
}
.button .button_text {
  transform: translate(calc(var(--mag-x, 0px) * 0.35), calc(var(--mag-y, 0px) * 0.35));
}

.nav_burger .btn_text,
.nav_burger .btn_text-close {
  transform: translate(calc(var(--mag-x, 0px) * 0.35), calc(var(--mag-y, 0px) * 0.35));
}

.popup_close > div {
  transform: translate(calc(var(--mag-x, 0px) * 0.35), calc(var(--mag-y, 0px) * 0.35));
}

.ra-depth .hero_bg .video {
  transform:
    scale(calc(1.06 + var(--scroll-zoom, 0)))
    translate3d(calc(var(--dx, 0) * -16px), calc(var(--dy, 0) * -10px), 0);
  will-change: transform;
}

.hero_bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 11, 11, 0.22), transparent 18%);
  pointer-events: none;
}

.we-do_list {
  perspective: var(--ra-perspective);
}
.we-do_item {
  border-radius: 12px;
  overflow: clip;
  transform: rotateX(var(--tx, 0deg)) rotateY(var(--ty, 0deg));
  transition: flex 0.8s var(--smooth), box-shadow var(--ra-dur) var(--ra-ease);
  will-change: transform;
}
.we-do_item.active {
  box-shadow: var(--ra-shadow-raised);
}
.we-do_img {
  transform: translate3d(var(--ix, 0px), var(--iy, 0px), 0);
  will-change: transform;
}

.we-do_img .img-cover {
  transform: scale(1.08);
  transition: transform 1.2s var(--ra-ease);
}
.we-do_item.active .we-do_img .img-cover {
  transform: scale(1.04);
}
.we-do_img-overlay {
  opacity: 0.45;
  transition: opacity 0.8s var(--ra-ease);
}
.we-do_item.active .we-do_img-overlay {
  opacity: 0.25;
}
.we-do_item.active .tag {
  border-color: color-mix(in srgb, var(--ra-accent), transparent 15%);
}

.points_content {
  perspective: var(--ra-perspective);
}
.points_item {
  transform: translateY(var(--ry, 0px)) rotateX(var(--tx, 0deg)) rotateY(var(--ty, 0deg));
  border: 1px solid rgba(11, 11, 11, 0.08);
  box-shadow: var(--ra-shadow-rest);
  transition: box-shadow var(--ra-dur) var(--ra-ease);
  will-change: transform, opacity;
}
.points_item:hover {
  box-shadow: var(--ra-shadow-raised);
}
.points_item:hover .tag {
  border-color: color-mix(in srgb, var(--ra-accent), transparent 15%);
}

.footer_img .img-cover {
  transform: translateY(var(--par, 0px)) scale(1.12);
  will-change: transform;
}

.footer_img video[data-img] {
  filter: blur(3px) saturate(0.95);
}
.footer_img:after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(11, 11, 11, 0.5) 100%);
  pointer-events: none;
}

.ra-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.8s var(--ra-ease) var(--d, 0s),
    transform 0.8s var(--ra-ease) var(--d, 0s);
}
.ra-reveal.is-inview {
  opacity: 1;
  transform: none;
}

.nav_body {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.nav_logo {
  width: 150px !important;
  justify-self: center;
  align-self: center;
  opacity: 1;
  transition: opacity 0.3s var(--ra-ease, ease);
}
@media screen and (max-width: 479px) {
  .nav_logo {
    width: clamp(105px, calc(100vw - 230px), 165px) !important;
  }
}

.nav_body {
  align-items: center;
}
.nav_body .button {
  min-width: 0;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .nav_body .button {
    padding: 8px 12px;
  }
  .nav_body .button .f-14 {
    font-size: 12px;
  }
}

body.hero-logo-visible .nav_logo {
  opacity: 0;
  pointer-events: none;
}

body.hero-logo-visible nav .nav_body {
  background-color: transparent !important;
  backdrop-filter: blur(0px) !important;
  -webkit-backdrop-filter: blur(0px) !important;
}

.h-flex-right-center {
  gap: var(--size--12, 12px);
}

@media screen and (max-width: 991px) {
  .popup_close {
    width: 44px !important;
    height: 44px !important;
    min-width: 0 !important;
    justify-content: center !important;
  }
}

@media (hover: none), (pointer: coarse) {
  .popup_close:hover:before,
  .nav_burger:hover:before {
    visibility: hidden !important;
    opacity: 0 !important;
  }
  .popup_close:hover .popup_close-icon {
    transform: none !important;
  }
}

.nav_burger-line {
  transform: translate(-50%, calc(-50% - 2.5px)) rotate(0deg) !important;
  transition: none !important;
}
.nav_burger-line:nth-child(2) {
  transform: translate(-50%, calc(-50% + 2.5px)) rotate(0deg) !important;
}
body.burger-open .nav_burger-line {
  opacity: 0;
}
.nav_burger-lines:before,
.nav_burger-lines:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  border-radius: 1px;
  background-color: currentColor;
  opacity: 0;
}
.nav_burger-lines:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.nav_burger-lines:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
body.burger-open .nav_burger-lines:before,
body.burger-open .nav_burger-lines:after {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .ra-depth .hero_bg .video,
  .we-do_item,
  .we-do_img,
  .points_item,
  .footer_img .img-cover,
  .we-do_img .img-cover,
  .button {
    transform: none !important;
  }
  .ra-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
