@keyframes noiri-reveal {
  from {
    opacity: var(--noiri-from-opacity, 0.001);
    transform: var(--noiri-from-transform, translateY(50px));
  }

  to {
    opacity: var(--noiri-to-opacity, 1);
    transform: var(--noiri-to-transform, none);
  }
}

.framer-HW7rs {
  opacity: 0 !important;
  pointer-events: none !important;
}

.noiri-site-nav {
  align-items: center;
  display: flex;
  justify-content: space-between;
  left: 0;
  padding: 18px 34px;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
}

.noiri-site-nav::before {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.42), rgba(0, 0, 0, 0));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.noiri-site-nav__logo,
.noiri-site-nav__link {
  color: #f5f5f5;
  font-family: "General Sans", "General Sans Placeholder", sans-serif;
  letter-spacing: 0;
  pointer-events: auto;
  position: relative;
  text-decoration: none;
  text-shadow: 0 1px 16px rgba(0, 0, 0, 0.45);
  z-index: 1;
}

.noiri-site-nav__logo {
  font-size: 13px;
  font-weight: 600;
}

.noiri-site-nav__links {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: flex-end;
  row-gap: 10px;
  flex-wrap: wrap;
}

.noiri-site-nav__link {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  gap: 8px;
}

.noiri-site-nav__link::before {
  background: #f5f5f5;
  content: "";
  display: block;
  height: 6px;
  opacity: 0;
  width: 6px;
}

.noiri-site-nav__link.is-active::before {
  opacity: 1;
}

[data-framer-name="Studio Name"] {
  width: min(100%, 1400px) !important;
}

[data-framer-name="Studio Name"] .framer-fit-text p {
  font-size: clamp(80px, 10vw, 128px) !important;
  letter-spacing: -0.055em !important;
}

@media (max-width: 809px) {
  .noiri-site-nav {
    align-items: flex-start;
    padding: 16px 18px;
  }

  .noiri-site-nav__logo {
    font-size: 12px;
  }

  .noiri-site-nav__links {
    gap: 12px;
    max-width: min(68vw, 280px);
  }

  .noiri-site-nav__link {
    font-size: 11px;
  }

  [data-framer-name="Studio Name"] .framer-fit-text p {
    font-size: clamp(54px, 15vw, 88px) !important;
    letter-spacing: -0.04em !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.noiri-motion-enabled [data-noiri-animate]:not(.noiri-animated) {
    opacity: var(--noiri-from-opacity, 0.001) !important;
    transform: var(--noiri-from-transform, translateY(50px)) !important;
    will-change: opacity, transform;
  }

  html.noiri-motion-enabled [data-noiri-animate="inline"]:not(.noiri-animated) {
    display: inline-block;
  }

  html.noiri-motion-enabled [data-noiri-animate].noiri-animated {
    animation-delay: var(--noiri-delay, 0s);
    animation-duration: var(--noiri-duration, 0.8s);
    animation-fill-mode: both;
    animation-name: noiri-reveal;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    opacity: var(--noiri-to-opacity, 1) !important;
    transform: var(--noiri-to-transform, none) !important;
    will-change: opacity, transform;
  }
}

.noiri-service-panel[hidden] {
  display: none !important;
}

[data-noiri-service-row] {
  outline: none;
}

[data-noiri-service-row]:focus-visible {
  box-shadow: 0 0 0 1px rgba(248, 248, 248, 0.35);
}

.noiri-service-list {
  list-style: none;
}

.noiri-service-list-item {
  color: var(--token-43d9b09c-4aaa-49ce-8e2e-f50a4e46d8e9, #f8f8f8);
  display: flex;
  font-family: "General Sans", "General Sans Placeholder", sans-serif;
  font-size: 16px;
  gap: 12px;
  line-height: 1.5;
}

.noiri-service-list-bullet {
  flex: none;
  min-width: 18px;
}

.noiri-service-cta {
  color: var(--token-43d9b09c-4aaa-49ce-8e2e-f50a4e46d8e9, #f8f8f8);
  display: inline-block;
  font-family: "General Sans", "General Sans Placeholder", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.5;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.noiri-service-cta:hover {
  color: var(--token-43d9b09c-4aaa-49ce-8e2e-f50a4e46d8e9, #f8f8f8);
}

.noiri-process-ready [data-framer-name="First Image"] {
  opacity: 0 !important;
  pointer-events: none;
}

.noiri-process-stage {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  pointer-events: none;
  position: absolute;
  z-index: 3;
}

.noiri-process-shell {
  height: 250px;
  perspective: 1600px;
  transform: translateZ(0);
  transform-origin: center center;
  width: 200px;
  will-change: height, width;
}

.noiri-process-card {
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.56s cubic-bezier(0.22, 1, 0.36, 1);
  width: 100%;
  will-change: transform;
}

.noiri-process-stage.is-flipping .noiri-process-card {
  transform: rotateY(180deg);
}

.noiri-process-stage.noiri-process-no-transition .noiri-process-card {
  transition: none;
}

.noiri-process-face {
  backface-visibility: hidden;
  inset: 0;
  overflow: hidden;
  position: absolute;
}

.noiri-process-face-back {
  transform: rotateY(180deg);
}

.noiri-process-face-image {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

@media (prefers-reduced-motion: no-preference) {
  .noiri-process-shell {
    transition:
      height 0.5s cubic-bezier(0.22, 1, 0.36, 1),
      width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  }
}
