/* Native document scrolling and the original service-navigation artwork. */
html.fd-menu-open { overflow: hidden; }
.mxd-page-transition { pointer-events: none; }
#services, #portfolio, #overview { scroll-margin-top: clamp(6.4rem, 8vh, 10rem); }

html.fd-service-navigation .mxd-loader {
  display: flex !important;
  background: #101010;
  pointer-events: none;
}
.fd-service-navigation .mxd-loader__images { clip-path: none !important; }
.fd-service-navigation .mxd-loader__top,
.fd-service-navigation .mxd-loader__bottom { opacity: 1 !important; }
.fd-service-navigation .mxd-loader__count { visibility: hidden; }
.mxd-loader__images { overflow: hidden; }
.mxd-loader__images .fd-loader-strip {
  inset: 0 auto auto 0;
  width: 900%;
  height: 100%;
  max-width: none;
  object-fit: fill;
  opacity: 1;
}
@media (prefers-reduced-motion: no-preference) {
  .mxd-loader__images .fd-loader-strip { animation: fd-loading-sequence 1.26s steps(9, end) infinite; }
}
@keyframes fd-loading-sequence {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-100%, 0, 0); }
}

.fd-service-carousel {
  width: min(100%, 70rem);
  min-width: 0;
  align-self: center;
  display: flex;
  align-items: center;
  gap: .65rem;
}
.fd-service-carousel .mxd-socials-line {
  display: flex;
  flex-flow: row nowrap;
  flex: 1 1 auto;
  min-width: 0;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(1.8rem, 2vw, 3rem);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding: .3rem;
}
.fd-service-carousel .mxd-socials-line::-webkit-scrollbar { display: none; }
.fd-service-carousel .mxd-socials-line li {
  flex: none;
  scroll-snap-align: start;
}
.fd-service-carousel a {
  display: inline-flex;
  align-items: center;
  min-height: 4.4rem;
  white-space: nowrap;
}
.fd-service-carousel button:not([hidden]) {
  display: grid;
  place-items: center;
  flex: 0 0 4.4rem;
  height: 4.4rem;
  padding: 0;
  font: 400 3rem/1 system-ui, sans-serif;
  color: var(--fd-theme-fg);
  background: none;
  border: 1px solid var(--fd-theme-line, currentColor);
}
.fd-service-carousel button:disabled { opacity: .32; }
.fd-service-carousel :is(a, button):focus-visible {
  outline: .2rem solid currentColor;
  outline-offset: -.2rem;
}
.findigital-footer__gravity.is-animated .object {
  touch-action: pan-y pinch-zoom;
  cursor: grab;
}
.findigital-footer__gravity.is-dragging .object { cursor: grabbing; }

@media (max-width: 767.98px) {
  .findigital-software-hero .mxd-hero-03 {
    display: grid;
    grid-template: "left right" auto "media media" minmax(min-content, 1fr) "bottom bottom" auto / 1fr 1fr;
    align-items: center;
    min-height: 100svh;
    padding-top: clamp(8rem, 13svh, 11rem);
  }
  .findigital-software-hero .mxd-hero-03__control-left,
  .findigital-software-hero .mxd-hero-03__control-right {
    position: static;
    padding: 0 .5rem;
    width: auto;
    height: auto;
  }
  .findigital-software-hero .mxd-hero-03__control-left { grid-area: left; }
  .findigital-software-hero .mxd-hero-03__control-right { grid-area: right; }
  .findigital-software-hero .mxd-hero-03__control-left a,
  .findigital-software-hero .mxd-hero-03__control-right a,
  .findigital-software-hero .mxd-hero-03__controls a { min-height: 4.4rem; }
  .findigital-software-hero .mxd-hero-03__headline {
    grid-area: media;
    width: 100%;
    min-height: max(56.25vw, 16rem);
    padding-inline: 1.6rem;
  }
  .findigital-software-hero .mxd-hero-03__headline h1 {
    font-size: clamp(3.06rem, 10.66vw, 4.93rem);
  }
  .findigital-software-hero .mxd-hero-media__small { width: 100%; }
  .findigital-software-hero .mxd-hero-media { display: none; }
  .findigital-software-hero .mxd-hero-03__bottom {
    grid-area: bottom;
    position: static;
    padding: 1.4rem 0 max(2rem, env(safe-area-inset-bottom));
  }
  .findigital-software-hero .mxd-hero-03__dataline { gap: .8rem; }
  .fd-service-carousel { padding-inline: 1.6rem; }
  .findigital-footer__wordmark {
    font-size: min(12.6vw, 9.6rem);
    letter-spacing: .055em;
    column-gap: .035em;
    margin-top: 4rem;
    padding-inline-end: .08em;
  }
  .findigital-footer__wordmark-light { letter-spacing: .055em; }
  .findigital-footer__legal-inner {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
    gap: .7rem 1.6rem;
    padding: 1.6rem 2.4rem max(2rem, env(safe-area-inset-bottom));
    padding-right: 8rem;
    text-align: left;
    font-size: 1.3rem;
  }
  .findigital-footer__legal-inner .fd-consent-legal-links { align-items: flex-start; }
  .findigital-footer__legal-inner .findigital-footer__sede { width: 3.6rem; height: 3.6rem; }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .findigital-software-hero .mxd-hero-media { display: none; }
}
