html {
    height: auto;
  }
  
  .w-webflow-badge {
    display: none !important;
  }
  
  @media (min-width: 990px) {
    :root {
      --size: 1500;
    }
  
    html {
      height: auto !important;
      -ms-overflow-style: none;
      scrollbar-width: none;
      font-size: calc(13.85 * 100vw / var(--size));
      -webkit-text-size-adjust: none;
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
  
    .footer_background-shape {
      margin-right: 6rem;
    }
  }
  
  :root {
    --all-transitions: all 400ms cubic-bezier(0.77, 0, 0.175, 1);
    --fast-transitions: 250ms cubic-bezier(0.77, 0, 0.175, 1);
    --transform-transitions: transform 400ms cubic-bezier(0.77, 0, 0.175, 1);
    --transform-bounce: all 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --ease-transitions: all 200ms ease;
    --parallax-strength: 10%;
    --parallax-height: 4%;
    --text-indent-large: 12.5rem;
    --text-indent-small: 9.25rem;
    --radius--button: 5rem;
    --elastic-global-ease-out: linear(
      0,
      0.5737 7.6%,
      0.8382 11.87%,
      0.9463 14.19%,
      1.0292 16.54%,
      1.0886 18.97%,
      1.1258 21.53%,
      1.137 22.97%,
      1.1424 24.48%,
      1.1423 26.1%,
      1.1366 27.86%,
      1.1165 31.01%,
      1.0507 38.62%,
      1.0219 42.57%,
      0.9995 46.99%,
      0.9872 51.63%,
      0.9842 58.77%,
      1.0011 81.26%,
      1
    );
  }
  
  /* -- Media -- */
  
  @media only screen and (max-width: 1900px) {
  }
  
  @media only screen and (max-width: 1440px) {
  }
  
  @media only screen and (max-width: 991px) {
    [data-nav-menu="on-hover"] [data-nav-trigger-number] {
      display: none !important;
    }
  
    .marquee-line.is--partners {
      animation: marquee 30s linear infinite !important;
    }
  
    [data-video-player="unactive"]::before {
      content: "";
  
      width: 4.25rem !important;
      height: 4.25rem !important;
    }
  }
  
  @media only screen and (max-width: 767px) {
  }
  
  @media only screen and (max-width: 479px) {
  }
  
  /* -- Keyframe Animations -- */
  
  @keyframes marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-100%);
    }
  }
  @keyframes marqueeY {
    0% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(-100%);
    }
  }
  @keyframes marqueeRev {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(100%);
    }
  }
  
  .faq_mockups-list {
    animation: marqueeY 30s linear infinite !important;
  }
  
  @keyframes wiggle {
    0% {
      transform: rotate(2deg);
    }
    100% {
      transform: rotate(-2deg);
    }
  }
  
  @media only screen and (max-width: 991px) {
  }
  
  .swiper-pagination-bullet {
    cursor: pointer;
    transition: var(--all-transitions);
  }
  
  .swiper-pagination-bullet-active {
  }
  
  /* -- Card Hover On Animations -- */
  
  /* -- Scrollbar Styling -- */
  
  html::-webkit-scrollbar,
  .class::-webkit-scrollbar {
    display: none;
  }
  
  .labels-group::-webkit-scrollbar {
    display: none;
  }
  
  /* -- Card & Mobile Menu Conditions -- */
  
  /* .cart-active {
          overflow: hidden;
        }
        
        .menu-active {
          overflow: hidden;
        } */
  
  /* -- Marquee Animatios -- */
  
  .marquee.is--partners::before {
    content: "";
    /* left: 50%;
    transform: translateX(-50%); */
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 6.125rem;
    top: auto;
    height: 100%;
    bottom: 0;
    left: 0;
    border-radius: 0rem;
    background: linear-gradient(270deg, rgba(16, 16, 20, 0) 0%, #101014 100%);
  }
  
  .marquee.is--partners::after {
    content: "";
    /* left: 50%;
    transform: translateX(-50%); */
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 6.125rem;
    top: auto;
    height: 100%;
    bottom: 0;
    right: 0;
    border-radius: 0rem;
    background: linear-gradient(90deg, rgba(16, 16, 20, 0) 0%, #101014 100%);
  }
  
  .marquee-line.is--partners {
    animation: marquee 30s linear infinite !important;
  }
  
  /* -- Nav Items -- */
  
  /* .nav_menu-link {
            position: relative;
            transition: var(--all-transitions);
          }
          
          .nav_menu-link::before {
            content: "";
            position: absolute;
            bottom: -0.075em;
            left: 0;
            width: 100%;
            height: 0.0675em;
            background-color: currentColor;
            transition: var(--all-transitions);
            transform-origin: center;
            transform: scaleX(0) rotate(0.001deg);
          }
          
          .nav_menu-link:hover::before {
            transform-origin: center;
            transform: scaleX(1) rotate(0.001deg);
          } */
  
  /* -- Parallax Animations -- */
  
  [data-parallax-strength] [data-parallax-target] {
    position: relative;
    height: calc(100% + (var(--parallax-height)));
    max-height: calc(100% + (var(--parallax-height)));
    top: calc(var(--parallax-height) * -1);
    will-change: transform;
    -webkit-transform: translate3d(0, 0, 0);
    z-index: 0;
    rotate: 0.001deg;
  }
  
  @media (min-width: 990px) {
    [parallax-target] {
      position: sticky;
      top: calc(6.3875rem + 0rem);
    }
    .action-info {
      position: sticky;
      top: calc(6.3875rem + 2rem);
    }
  }
  
  /* -- Split Lines Styling -- */
  
  [text-indent][data-split-full="is-split"] > .single-line:first-child {
    /* text-indent: var(--text-indent-large); */
    margin-left: var(--text-indent-large);
  }
  
  [text-indent-small][data-split-full="is-split"] > .single-line:first-child {
    /* text-indent: var(--text-indent-large); */
    margin-left: var(--text-indent-small);
  }
  
  .single-line {
    overflow: hidden;
  }
  
  /* -- Header Theme -- */
  
  /* -- About Swiper Gallery -- */
  
  /**/
  
  .is--arrow,
  .is--arrowx {
    cursor: pointer;
    transition: all var(--fast-transitions);
  }
  
  .is--arrow:hover,
  .is--arrowx:hover {
    scale: 1.05;
  }
  
  .is--disabled {
    pointer-events: none;
    opacity: 0.5;
  }
  
  /**/
  
  .swiper-slide.is--reviews_slider {
    max-width: auto;
  }
  
  /**/
  
  /**/
  
  .line-wrapper {
    overflow: hidden;
  }
  
  .w-select {
    -webkit-appearance: none;
    -moz-appearance: none;
  }
  
  select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='9' viewBox='0 0 13 9' fill='none'%3E%3Cpath d='M11.8307 1L6.41537 8L1.00005 1' stroke='%23171E2A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 0.825rem 0.6rem;
  }
  
  .bento-cover select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6' viewBox='0 0 11 6' fill='none'%3E%3Cpath d='M0.75 0.75L5.25 5.25L9.75 0.75' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0px top 4px;
    padding-right: 20px;
  }
  
  /* -- Accordions -- */
  
  [fs-accordion-element="accordion"] svg {
    transition: var(--transform-bounce);
  }
  
  [fs-accordion-element="accordion"].is-active-accordion svg {
    /* transform: rotate(-180deg); */
  }
  
  /* -- Safari Target -- */
  
  .marquee-item img,
  .partner-logo img,
  .subtitle.is--glass img {
    width: unset !important;
  }
  
  .marquee-item.is--int_card img {
    width: 100% !important;
  }
  
  /*  -- Tabs -- */
  
  [tabs="content"] {
  }
  
  [tabs="content"] [tab-pane] {
    display: none;
  }
  
  [tabs="content"] [tab-pane].is--active {
    display: block;
  }
  
  @media only screen and (max-width: 991px) {
    [tabs-breakpoints="lg,xl"] [tabs="content"] [tab-pane] {
      display: block;
    }
  }
  
  /* -- -- */
  
  [data-controller-close] {
    display: none;
  }
  
  [data-controller-open] {
    display: block;
  }
  
  [data-header-controller].active [data-controller-close] {
    display: block;
  }
  
  [data-header-controller].active [data-controller-open] {
    display: none !important;
  }
  
  [data-header-controller].active [data-controller-logo] {
    display: none !important;
  }
  
  /* -- -- */
  
  [data-button-fill="from-right"] {
    position: relative;
    transition: transform 0.45s var(--elastic-global-ease-out),
      color 0.35s ease 0.15s !important;
    overflow: hidden;
  }
  
  [data-button-fill="from-right"] [data-nav-menu-dot],
  .footer_nav-dot {
    transition: all 0.35s ease 0.15s !important;
  }
  
  [data-button-fill="from-right"]::after {
    content: "";
    z-index: 0;
    border-bottom-left-radius: var(--radius--button);
    border-top-left-radius: var(--radius--button);
    background-color: var(--300);
    transform-origin: 100% 50%; /* Changed from 50% 100% to right center */
    height: 100%;
    transition: transform 0.375s cubic-bezier(0.77, 0, 0.175, 1);
    position: absolute;
    inset: auto 0% 0%;
    transform: scale(0, 1);
    right: -0.125rem;
  }
  
  [data-button-fill="from-right"]:hover::after {
    transform: scale(1.2, 1.4);
  }
  
  [data-button-fill="from-right"] [data-nav-menu-text],
  [data-button-fill="from-right"] [data-nav-menu-dot],
  [data-button-fill="from-right"] [data-button-name],
  .footer_nav-dot {
    z-index: 2;
  }
  
  [data-button-fill="from-right"]:hover {
    color: var(--100) !important;
  }
  
  [data-button-fill="from-right"]:hover [data-nav-menu-dot] {
    background-color: var(--100) !important;
  }
  
  [data-footer-nav-style="blue"][data-button-fill="from-right"]::after {
    content: "";
    z-index: 0;
    border-bottom-left-radius: var(--radius--button);
    border-top-left-radius: var(--radius--button);
    background-color: var(--100) !important;
    transform-origin: 100% 50%; /* Changed from 50% 100% to right center */
    height: 100%;
    transition: transform 0.375s cubic-bezier(0.77, 0, 0.175, 1);
    position: absolute;
    inset: auto 0% 0%;
    transform: scale(0, 1);
    right: -0.125rem;
  }
  
  [data-footer-nav-style="blue"][data-button-fill="from-right"]:hover {
    color: var(--300) !important;
  }
  
  [data-button-fill="from-right"]:hover .footer_nav-dot {
    background-color: var(--100) !important;
  }
  
  [data-footer-nav-style="blue"][data-button-fill="from-right"]:hover::after {
    transform: scale(1.2, 1.4) !important;
  }
  
  /* -- -- */
  
  [data-nav-target] {
    transition: all 0.45s;
  }
  
  /* -- -- */
  
  [data-case-slide] [data-case-slide-inner] {
    opacity: 55%;
    transition: all 0.45s;
  }
  
  [data-case-slide] .imdb-link {
    opacity: 0%;
    transition: all 0.45s;
  }
  
  [data-case-slide] [data-case-content] {
    opacity: 0% !important;
    pointer-events: none !important;
    transition: all 0.45s;
  }
  
  [data-case-slide].is--active [data-case-slide-inner] {
    opacity: 100%;
  }
  
  [data-case-slide].is--active [data-case-content] {
    opacity: 100% !important;
    pointer-events: auto !important;
  }
  
  [data-case-slide].is--active .imdb-link {
    opacity: 100%;
  }
  
  /* -- -- */
  
  [data-button-stagger="crop"],
  .button_arrow-group {
    overflow: hidden !important;
    position: relative;
  }
  
  [data-button-arrow="background"] {
    transform: rotate(0deg);
    transition-property: all;
    transition-duration: 600ms;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  }
  
  [data-button-arrow] {
    transition-property: all;
    transition-duration: 600ms;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  }
  
  [data-button-arrow="first"] {
    transform: translateX(-200%);
  }
  
  [data-button-arrow="last"] {
  }
  
  [data-button-stagger="text"] {
    z-index: 1;
    text-shadow: 0 1.25em 0 currentColor;
    position: relative;
    transition-property: all;
    transition-duration: 600ms;
    transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
  }
  
  /* -- -Hover- -- */
  
  .button:hover [data-button-stagger="text"] {
    transform: translateY(-1.25em);
  }
  
  .button:hover [data-button-arrow="background"] {
    transform: rotate(90deg);
  }
  
  .button:hover [data-button-arrow="first"] {
    transform: translateX(0%);
  }
  
  .button:hover [data-button-arrow="last"] {
    transform: translateX(200%);
  }
  
  /* -- -- */
  
  /* [data-magnetic-container] {
      }
      
      [data-magnetic-label] {
        opacity: 0;
        transition: opacity 400ms ease;
      }
      
      [data-magnetic-container]:hover [data-magnetic-label] {
        opacity: 1;
      } */
  
  /* -- -- */
  
  .w-dyn-empty {
    display: none !important;
  }
  
  [data-magnetic-label] {
    pointer-events: none; /* Allows mouse to pass through to the container */
  }
  
  /* -- -- */
  
  [data-nav-trigger-number] {
    display: none;
  }
  
  [data-nav-menu="on-hover"] [data-nav-media] {
    position: absolute;
    width: 100%;
    height: 100%;
  }
  
  [data-nav-menu="on-hover"] [data-nav-trigger-number] {
    display: block;
  }
  
  /* -- -- */
  
  .custom-cursor {
    --tw-translate-y: -50%;
    z-index: 50;
    top: 0;
    left: 0;
    position: fixed;
    pointer-events: none;
    margin: 0;
    padding: 0;
    border: 0;
    display: block;
    font: inherit;
    vertical-align: baseline;
  }
  
  .js-cursor-inner {
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    border-radius: 9999px;
    text-transform: lowercase;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity));
    width: 100%;
    height: 100%;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 0.9;
    letter-spacing: -0.02em;
    margin: 0;
    padding: 0;
    font: inherit;
    vertical-align: baseline;
  }
  
  .ll-balloon {
    --tw-bg-opacity: 1;
    background-color: var(--400);
    color: var(--200);
    transition-property: color, background-color, border-color,
      text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 0.5s;
    left: -0.5rem;
    flex-shrink: 0;
    border-radius: 9999px;
    position: absolute;
    font: inherit;
    vertical-align: baseline;
    margin: 0;
    display: inline-block;
    padding: 0rem;
    top: -8px;
    white-space: nowrap;
    overflow: hidden; /* ADD THIS */
  }
  
  .ll-balloon__text-container {
    display: block;
    white-space: nowrap;
    position: relative; /* ADD THIS */
    z-index: 1; /* ADD THIS */
  }
  
  .ll-balloon__spacer {
    display: inline-block;
    transition: width 0.3s ease-out;
    width: 0px;
    height: 0px; /* ADD THIS - minimal height */
    position: absolute; /* ADD THIS - remove from flow */
    visibility: hidden; /* ADD THIS - hide it */
  }
  
  .ll-balloon__letter {
    display: inline-block;
    white-space: pre;
  }
  
  /* -- -- */
  
  .marquee-line.is--logos {
    animation: marquee 20s linear infinite !important;
  }
  
  @media (min-width: 990px) {
    .marquee-line.is--integrations {
      animation: marquee 20s linear infinite !important;
    }
  
    .marquee_platforms-box.is--inner {
      animation: marquee 20s linear infinite !important;
    }
  }
  
  /* -- -- */
  @media (min-width: 990px) {
    [data-process-track] {
      position: relative;
      height: 250vh;
    }
  
    [data-process-sticky] {
      position: sticky;
      top: 6.75rem;
    }
  }
  
  /* -- -- */
  /* [data-testimonials-component] {
    height: 47.5rem;
    overflow: hidden !important;
  } */
  
  .description-group.is--testimonial {
    display: block !important;
  }
  
  /* -- -- */
  
  @media (min-width: 990px) {
    [data-floating-section] {
      /* position: sticky;
      top: 0; */
      background: var(--1100);
    }
  }
  
  /* -- -- */
  
  /* CONTAINER */
  [data-swiper-wrapper],
  [data-swiper-container] {
    position: relative;
    /* User sets width/height */
  }
  
  /* SLIDE BASE */
  [data-swiper-slide] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  
    opacity: 0;
    display: block;
  
    transition: transform 1000ms cubic-bezier(0.6, 0, 0.2, 1),
      opacity 1000ms cubic-bezier(0.6, 0, 0.2, 1);
    will-change: transform, opacity;
  }
  
  /* --- STACKING LOGIC --- */
  
  /* 1. FRONT CARD (Top) */
  /* Clean, straight, full size */
  [data-swiper-slide]:nth-last-child(1) {
    opacity: 1;
    transform: rotate(0deg) scale(1);
    z-index: 10;
  }
  
  /* 2. SECOND CARD */
  /* Slight rotation, slight shrink */
  [data-swiper-slide]:nth-last-child(2) {
    opacity: 0.9;
    transform: rotate(4deg) scale(0.95);
    z-index: 9;
  }
  
  /* 3. THIRD CARD */
  /* More rotation, more shrink */
  [data-swiper-slide]:nth-last-child(3) {
    opacity: 0.8;
    transform: rotate(8deg) scale(0.9);
    z-index: 8;
  }
  
  /* 4. FOURTH CARD */
  /* Most rotation, smallest visible */
  [data-swiper-slide]:nth-last-child(4) {
    opacity: 0.7;
    transform: rotate(12deg) scale(0.85);
    z-index: 7;
  }
  
  /* 5. HIDDEN STACK */
  [data-swiper-slide]:nth-last-child(n + 5) {
    opacity: 0;
    transform: rotate(12deg) scale(0.85);
    z-index: 1;
  }
  
  /* --- ANIMATIONS --- */
  
  [data-swiper-slide][data-status="drop"] {
    animation: drop-vertical 800ms forwards;
    transition: opacity 300ms 500ms linear,
      transform 1000ms cubic-bezier(0.6, 0, 0.2, 1);
  }
  
  [data-swiper-slide][data-status="appear"] {
    animation: appear-vertical 800ms forwards;
  }
  
  @keyframes drop-vertical {
    0% {
      opacity: 1;
      transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
      z-index: 20;
    }
  
    40% {
      opacity: 1;
      transform: translate3d(0, 110%, 0) rotate(-5deg) scale(0.95);
      z-index: 20;
    }
  
    100% {
      opacity: 0;
      transform: translate3d(0, 0, 0) rotate(12deg) scale(0.85);
      z-index: 1;
    }
  }
  
  @keyframes appear-vertical {
    0% {
      opacity: 0;
      transform: translate3d(0, 110%, 0) rotate(-5deg) scale(0.95);
      z-index: 20;
    }
    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
      z-index: 20;
    }
  }
  
  /* --- MOBILE: HORIZONTAL ANIMATIONS --- */
  
  @media (max-width: 768px) {
    [data-swiper-slide][data-status="drop"] {
      animation: drop-horizontal 800ms forwards;
    }
  
    [data-swiper-slide][data-status="appear"] {
      animation: appear-horizontal 800ms forwards;
    }
  
    @keyframes drop-horizontal {
      0% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
        z-index: 20;
      }
  
      40% {
        opacity: 1;
        transform: translate3d(110%, 0, 0) rotate(-5deg) scale(0.95);
        z-index: 20;
      }
  
      100% {
        opacity: 0;
        transform: translate3d(0, 0, 0) rotate(12deg) scale(0.85);
        z-index: 1;
      }
    }
  
    @keyframes appear-horizontal {
      0% {
        opacity: 0;
        transform: translate3d(110%, 0, 0) rotate(-5deg) scale(0.95);
        z-index: 20;
      }
      100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
        z-index: 20;
      }
    }
  }
  
  /* -- -- */
  @media (min-width: 990px) {
    /* Wrapper - must be positioned */
    [data-card-stack] {
      height: 100vh;
      position: relative;
      overflow: hidden;
    }
  
    /* Text (optional) */
    [data-card-stack-text] {
      position: absolute;
      top: 15%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 10;
    }
  
    /* Container */
    [data-card-stack-container] {
      position: relative;
      width: 100%;
      height: 100%;
    }
  
    /* Cards - must be positioned absolute */
    [data-card-stack-card] {
      width: 100%;
      position: absolute;
      will-change: transform;
      transform: translateZ(0);
      backface-visibility: hidden;
    }
  
    /* Overlays (auto-created if not present) */
    [data-card-stack-overlay] {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
    }
  
    [data-card-stack-overlay] {
      background-color: var(--1100) !important;
    }
  }
  /* -- -- */
  
  /* -- -- */
  
  .bento-cover.is--locale.is--munic .location_card-media_item {
    border-top-left-radius: 0rem;
  }
  
  /* -- -- */
  
  .heading-flag {
    background-image: url(url("https://cdn.prod.website-files.com/697a990826073f725f924b5b/6986892c4611966af27235e4_german-icon.png"));
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 2.05rem 2.05rem;
  }
  
  @media only screen and (max-width: 479px) {
    .heading-flag {
      background-image: url(url("https://cdn.prod.website-files.com/697a990826073f725f924b5b/6986892c4611966af27235e4_german-icon.png"));
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: 1.25rem 1.25rem;
    }
  }
  
  /* -- -- */
  
  [data-testimonials-wrapper].is--active .testimonials-controller {
    opacity: 0;
    pointer-events: none;
  }
  
  /* -- -- */
  
  .locations-section .padding-global::before {
    content: "";
    z-index: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(
      90deg,
      #101014 7.52%,
      rgba(16, 16, 20, 0) 38.24%,
      rgba(11, 11, 15, 0) 100%
    );
  }
  
  .locations-section .padding-global::after {
    content: "";
    z-index: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(
      0deg,
      #101014 0%,
      rgba(11, 1, 1, 0) 32.64%,
      rgba(16, 16, 20, 0) 78.05%,
      #101014 94.93%
    );
  }
  
  /* -- -- */
  @media (min-width: 990px) {
    .tech-section .padding-section.is--full {
      padding-top: 8rem;
      padding-bottom: 6rem;
    }
  }
  
  /* -- -- */
  
  .testimonials-component::after {
    content: "";
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 100vw;
    top: auto;
    transition: all 250ms ease;
    height: 11.25rem;
    bottom: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(16, 16, 20, 0) 0%, #101014 70%);
  }
  
  .testimonials-component.is--active::after {
    content: "";
    opacity: 0;
  }
  
  /* -- -- */
  .button {
    position: relative;
    overflow: hidden; /* clips the pseudo-element as it slides in/out */
  }
  
  .button::before {
    content: "";
    position: absolute;
    inset: 0;
  
    background-image: url("https://cdn.prod.website-files.com/697a990826073f725f924b5b/699645f3063cd28f87198956_border-gradient.png");
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: auto 100%;
  
    animation: slide 4s linear infinite;
  }
  
  @keyframes slide {
    from {
      transform: translateX(-100%);
    }
    to {
      transform: translateX(100%);
    }
  }
  
  /* -- -- */
  
  .faq-section .background::before {
    content: "";
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 100vw;
    transform: translateX(-50%);
    top: auto;
    height: 7rem;
    top: 0;
    left: 50%;
    background: linear-gradient(0deg, rgba(16, 16, 20, 0) 0%, #101014 100%);
  }
  
  .faq-section .background::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    width: 100vw;
    transform: translateX(-50%);
    top: auto;
    height: 7rem;
    bottom: 0;
    left: 50%;
    background: linear-gradient(180deg, rgba(16, 16, 20, 0) 0%, #101014 100%);
  }
  
  .partners-track::after {
    content: "";
    position: absolute;
    z-index: 2;
    pointer-events: none;
    width: 100vw;
    transform: translateX(-50%);
    top: auto;
    height: 10rem;
    bottom: 0;
    left: 50%;
    background: linear-gradient(180deg, rgba(16, 16, 20, 0) 0%, #101014 100%);
  }
  
  /* -- -- */
  [data-mockup-wrapper] {
    overflow: hidden;
    line-height: 0;
  }
  
  [data-perspective-layer] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform-origin: 0 0;
    pointer-events: none;
    will-change: transform;
    z-index: 2;
  }
  
  [data-video-screen] {
    pointer-events: auto;
    background: #000;
    overflow: hidden;
    border-radius: 15px 15px 0 0;
  
    /* width: 1280px !important;
    height: 720px !important; */
    width: 1280px;
    height: 720px;
  
    transform-origin: 0% 0%;
    transform: matrix3d(
      1.5836632559,
      -0.1416656974,
      0,
      0.0000566545,
      0.1378382915,
      1.8832550107,
      0,
      0.0000026224,
      0,
      0,
      1,
      0,
      30,
      206,
      0,
      1
    );
  }
  
  [data-video-screen] video {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  /**/
  
  [data-lab-contact-window] {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1000;
  }
  
  [data-lab-contact-window].is-open {
    opacity: 1;
  }
  
  [data-lab-contact-form] {
    transform: scale(0.9);
    transition: transform 0.3s ease;
  }
  
  [data-lab-contact-window].is-open [data-lab-contact-form] {
    transform: scale(1);
  }
  
  /* -- Premium Filter Styles -- */
  
  [data-filter-item] {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    /* PERF (Safari): removed permanent `will-change: opacity, transform`.
       A filter grid can hold many cards; a persistent will-change forces the
       browser to keep a compositor layer alive for EACH one forever, which is
       a well-known memory/compositing sink in Safari/WebKit. The browser
       promotes on-demand during the 0.3s transition anyway, so the animation
       is unchanged — only the idle cost goes away. */
  }
  
  [data-filter-input] {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  [data-filter-input]:focus {
    outline: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
  }
  
  /* No Results Message */
  .no-results-message {
    grid-column: 1 / -1;
    text-align: center;
    padding: 4rem 2rem;
    transition: opacity 0.3s ease;
  }
  
  .no-results-content {
    max-width: 400px;
    margin: 0 auto;
  }
  
  .no-results-text {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--200);
    margin-bottom: 0.5rem;
  }
  
  .no-results-hint {
    font-size: 0.95rem;
    color: #666;
    opacity: 0.7;
  }
  
  /* Hover Effect Enhancement */
  [data-filter-item] a {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
      box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  [data-filter-item] a:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  }
  
  /* Sort Item Styles */
  [data-sort-item] {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    /* PERF (Safari): removed permanent `will-change` — same reasoning as
       [data-filter-item] above. Idle sort cards no longer each hold a
       persistent GPU layer; the transition still promotes on demand. */
  }
  
  [data-sort-item] a {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
      box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  [data-sort-item] a:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  }
  
  /* -- Sort Button Styles -- */
  
  [data-sort-button],
  [tab-link] {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
  }
  
  [data-sort-button]:hover {
  }
  
  [data-sort-button].is-active {
  }
  
  [data-sort-button]:active {
    transform: translateY(0);
  }
  
  [data-sort-button]::after {
  }
  
  [data-sort-button]:active::after {
  }
  
  [data-sort-button].is-active::after {
  }
  
  /* -- -- */
  
  .hero-section .background::after {
    content: "";
    position: absolute;
    z-index: 2 !important;
    pointer-events: none;
    width: 100%;
    bottom: 0;
    /* height: 23.875rem;  */
    height: 11.875rem !important;
    left: auto;
    right: 0;
    background: linear-gradient(180deg, rgba(16, 16, 20, 0) 0%, #101014 57.44%);
  }
  
  .hero-section.is--projects .background::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    width: 100%;
    bottom: -3.875rem;
    height: 14.5rem !important;
    left: auto;
    right: 0;
    background: linear-gradient(
      180deg,
      rgba(16, 16, 20, 0) 0%,
      rgba(16, 16, 20, 0.9) 32.7%,
      rgba(16, 16, 20, 0.99) 64.85%
    );
  }
  
  .hero-section.is--culture .background::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    width: 100%;
    bottom: -0.0125rem;
    height: 12.875rem !important;
    left: auto;
    right: 0;
    background: linear-gradient(
      180deg,
      rgba(16, 16, 20, 0) 0%,
      rgba(16, 16, 20, 0.76) 56.14%,
      rgba(16, 16, 20, 0.9) 74.43%,
      #101014 100%
    );
  }
  
  @media only screen and (max-width: 767px) {
    .hero-section .background::after {
      content: "";
      position: absolute;
      z-index: 2 !important;
      pointer-events: none;
      width: 100%;
      bottom: 0;
      /* height: 20rem !important; */
      height: 10rem !important;
      left: auto;
      right: 0;
      background: linear-gradient(180deg, rgba(16, 16, 20, 0) 0%, #101014 57.44%);
    }
  
    .hero-section.is--projects .background::after {
      content: "";
      position: absolute;
      z-index: 0;
      pointer-events: none;
      width: 100%;
      bottom: -0.25rem;
      height: 13.75rem !important;
      left: auto;
      right: 0;
      background: linear-gradient(
        180deg,
        rgba(16, 16, 20, 0) 0%,
        rgba(16, 16, 20, 0.9) 32.7%,
        rgba(16, 16, 20, 0.99) 80.8%
      );
    }
  
    .hero-section.is--culture .background::after {
      content: "";
      position: absolute;
      z-index: 0;
      pointer-events: none;
      width: 100%;
      bottom: -0.125rem;
      height: 8.5rem !important;
      left: auto;
      right: 0;
      background: linear-gradient(
        180deg,
        rgba(16, 16, 20, 0) 0%,
        rgba(16, 16, 20, 0.76) 56.14%,
        rgba(16, 16, 20, 0.9) 74.43%,
        #101014 100%
      );
    }
  }
  
  /* -- -- */
  
  .media_office-tag::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 0rem;
    height: 0rem;
    border-radius: 100%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background-color: var(--200);
  }
  
  .media_office-tag.is--active::after {
    content: "";
    width: 0.375rem;
    height: 0.375rem;
  }
  
  @media only screen and (max-width: 767px) {
    .media_office-tag::after {
      content: "";
      left: 0.875rem;
    }
  }
  
  /* -- -- */
  
  [data-smooter-transition-section-below] [data-section-background]::after {
    content: "";
    position: absolute;
    z-index: 0;
    pointer-events: none;
    width: 100vw;
    bottom: -0.25rem;
    height: 5rem !important;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(180deg, rgba(16, 16, 20, 0) 0%, #101014 100%);
  }
  
  [data-smooter-transition-section-above] [data-section-background]::before {
    content: "";
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 100vw;
    top: -0.25rem;
    height: 5rem !important;
    left: auto;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(0deg, rgba(16, 16, 20, 0) 0%, #101014 100%);
  }
  
  /* -- -- */
  
  .bento_card-gallery_box {
    transition: transform 350ms ease, top 350ms ease, right 350ms ease,
      bottom 350ms ease, left 350ms ease;
  }
  
  .bento_card-gallery_box:nth-child(1) {
    z-index: 1;
    inset: 0%;
    left: auto;
    right: -20.15%;
    transform: rotate(10deg);
  }
  
  .bento_card-gallery_box:nth-child(2) {
    z-index: 2;
    transform: rotate(-11deg);
    inset: 0%;
  }
  
  .bento_card-gallery_box:nth-child(3) {
    z-index: 3;
    transform: none;
    inset: 0%;
  }
  
  .bento_card-gallery_box[data-drop="true"] {
    animation: flyOutAndUnder 1s ease forwards;
    z-index: 4 !important;
  }
  
  @keyframes flyOutAndUnder {
    0% {
      transform: rotate(0deg) translate(0, 0);
    }
    40% {
      transform: rotate(-15deg) translate(-100%, -10%);
    }
    60% {
      transform: rotate(-15deg) translate(-100%, -10%);
    }
    100% {
      transform: rotate(10deg) translate(20.15%, -3.5%);
    }
  }
  
  /* -- -- */
  
  .control-play {
    display: block;
  }
  
  .control-pause {
    display: none;
  }
  
  .video-play.is--playing .control-play {
    display: none;
  }
  
  .video-play.is--playing .control-pause {
    display: block;
  }
  
  @media (min-width: 990px) {
    [data-video-enlarge-parent] {
      height: 150vh;
      max-height: 100rem;
    }
  }
  
  [data-video-enlarge-target] {
    position: sticky;
    top: 5rem;
  }
  
  [data-sticky-top] {
    position: sticky;
    top: 0rem;
  }
  
  .overview_tab-link::before {
    content: "";
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 0.375rem;
    height: 0.375rem;
    top: 50%;
    border-radius: 100%;
    scale: 0;
    opacity: 0;
    left: 0%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    right: auto;
    transform: translateY(-50%);
    background: #fff;
  }
  
  .overview_tab-link.is--active::before {
    content: "";
    opacity: 1;
    scale: 1;
  }
  
  [data-gallery-rotator] {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute !important;
    transition: transform 1000ms cubic-bezier(0.6, 0, 0.2, 1),
      opacity 400ms linear;
    will-change: transform, opacity;
    transform-origin: center center;
  }
  
  [data-video-box="member"] {
    position: absolute !important;
    transition: transform 1000ms cubic-bezier(0.6, 0, 0.2, 1),
      opacity 400ms linear;
    will-change: transform, opacity;
    transform-origin: center center;
  }
  
  [data-video-box="member"]:nth-last-child(3) {
    z-index: 1;
    opacity: 0.8;
    transform: rotate(14deg) translate(8%, 8%);
  }
  
  [data-video-box="member"]:nth-last-child(2) {
    z-index: 2;
    opacity: 1;
    transform: rotate(9deg) translate(6%, 6%);
  }
  
  [data-video-box="member"]:nth-last-child(1) {
    z-index: 3;
    opacity: 1;
    transform: rotate(0deg) translate(0, 0);
  }
  
  [data-video-box="member"][data-drop="true"] {
    animation: flyOutAndUnder 1000ms cubic-bezier(0.6, 0, 0.2, 1) forwards !important;
  }
  
  @keyframes flyOutAndUnder {
    0% {
      opacity: 1;
      z-index: 10;
      transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    49% {
      z-index: 10;
    }
    50% {
      opacity: 0.8;
      z-index: 0;
      transform: translate3d(-100%, -5%, 0) rotate(-5deg) scale(1);
    }
    100% {
      opacity: 0.8;
      z-index: 0;
      transform: translate3d(0, 0, 0) rotate(14deg) translate(8%, 8%) scale(1);
    }
  }
  
  .career-wrapper.w-embed.w-script .markup {
    text-align: center;
  }
  
  .career-wrapper.w-embed.w-script .wrapper-jAIu2l {
    padding: 0rem !important;
  }
  
  @media (max-width: 989px) {
    @supports (-webkit-touch-callout: none) {
      .back_gallery-media {
        aspect-ratio: unset !important;
      }
    }
    .back_gallery-media {
      aspect-ratio: unset !important;
    }
  }
  
  @media (min-width: 990px) {
    /* .mm_hero-section .background.is--mw90rem::before {
      content: "";
      position: absolute;
      z-index: 1;
      pointer-events: none;
      width: 5%;
      top: 0;
      height: 100%;
      left: 0;
      right: auto;
      background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, #000 100%);
    }
  
    .mm_hero-section .background.is--mw90rem::after {
      content: "";
      position: absolute;
      z-index: 1;
      pointer-events: none;
      width: 5%;
      top: 0;
      height: 100%;
      left: auto;
      right: 0;
      background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, #000 100%);
    } */
  
    .mm_hero-section::after {
      content: "";
      position: absolute;
      z-index: 0;
      pointer-events: none;
      width: 100%;
      bottom: 0;
      height: 79.5%;
      left: auto;
      right: 0;
      background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 28.42%,
        rgba(0, 0, 0, 0.63) 82.11%,
        #000 100%
      );
    }
  }
  
  @media only screen and (max-width: 990px) {
    .mm_hero-section .background::before {
      content: "";
      position: absolute;
      z-index: 1;
      pointer-events: none;
      opacity: 0.75;
      width: 100%;
      top: 0;
      height: 17.5%;
      left: auto;
      right: 0;
      background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0) 100%);
    }
  
    .mm_hero-section .background::after {
      content: "";
      position: absolute;
      z-index: 0;
      pointer-events: none;
      width: 100%;
      bottom: 0;
      height: 79.5%;
      left: auto;
      right: 0;
      background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 74.3%,
        rgba(0, 0, 0, 0.63) 83.63%,
        #000 100%
      );
    }
  }
  
  .mm_hero-section .marquee.is--partners::before {
    content: "";
    /* left: 50%;
    transform: translateX(-50%); */
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 6.125rem;
    top: auto;
    height: 100%;
    bottom: 0;
    left: 0;
    border-radius: 0rem;
    background: linear-gradient(
      270deg,
      rgba(0, 0, 0, 0) 0%,
      #000000 100%
    ) !important;
  }
  
  .mm_hero-section .marquee.is--partners::after {
    content: "";
    /* left: 50%;
    transform: translateX(-50%); */
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: 6.125rem;
    top: auto;
    height: 100%;
    bottom: 0;
    right: 0;
    border-radius: 0rem;
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0) 0%,
      #000000 100%
    ) !important;
  }

  /* -- PERF: Reduced-motion — stop always-on decorative animations -- */
  /* These CSS animations run `infinite`, i.e. forever, even while off-screen,
     each keeping a compositor layer busy (a real cost in Safari). When a user
     enables "Reduce Motion" (System/Accessibility on macOS + iOS, also flipped
     on by some battery-saver setups), pause them for a calmer, cheaper page.
     Default users are completely unaffected — appearance is unchanged for
     everyone who hasn't opted in. */
  @media (prefers-reduced-motion: reduce) {
    .button::before,
    .marquee-line.is--partners,
    .faq_mockups-list {
      animation: none !important;
    }
  }

  /* -- PERF: freeze always-on animations while off-screen -- */
  /* The `data-anim-offscreen` attribute is toggled by OffscreenAnimationPause
     in the JS via an IntersectionObserver. `animation-play-state: paused`
     freezes (does not restart) the animation, so it resumes seamlessly the
     moment the element scrolls back into view — with zero compositor cost
     while it's out of sight. Big win on Safari for the button shimmer, which
     otherwise runs on every button sitewide simultaneously, forever. */
  .button[data-anim-offscreen]::before {
    animation-play-state: paused;
  }
  .marquee-line.is--partners[data-anim-offscreen],
  .faq_mockups-list[data-anim-offscreen] {
    animation-play-state: paused !important;
  }