/* input(568,1): run-time error CSS1019: Unexpected token, found '}' */
@font-face {
    font-family: 'Helvetica Neue Custom';
    src: url('/fonts/HelveticaNeue-Roman.woff2?v=Oq1SVcIsBaiDdwp36Ul8igoI0a8') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue Custom';
    src: url('/fonts/HelveticaNeue-Light.woff2?v=r3IEka6xIvvOgKstn47PqyMeHPA') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue Custom';
    src: url('/fonts/HelveticaNeue-Medium.woff2?v=jVrEXkIkPPPZXPcUc8i0Shi7RHE') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue Custom';
    src: url('/fonts/HelveticaNeue-Bold.woff2?v=cgpLUmq0BZcglByT8jE0NJnnN74') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Helvetica Neue Custom';
    src: url('/fonts/HelveticaNeue-Thin.woff2?v=DFXAOrxf6T9k_O63PP3DGzflUMk') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}


.middle-content {
    max-width: 1640px;
    margin: 0 auto;
}

.boxed-content {
    max-width: 1440px;
    margin: 0 auto;
}

.min-width-content {
    max-width: 1080px;
    margin: 0 auto;
}

.min-width-content-markdown {
    max-width: 1080px;
    margin: 0 auto;
}


.max-width-content {
    width: 100%;
    max-width: none;
    margin: 0;
}

.hide-footer{
    display: none;
}

html, body, a {
    scroll-behavior: smooth;
    scroll-padding-top: 64px;
    text-decoration: none;
    color: inherit;
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --body-font--helvetica-neue: 'Helvetica Neue Custom', sans-serif;
    --body-font--helvetica-neue-light: 'Helvetica Neue Custom', sans-serif;
    --body-font--helvetica-neue-medium: 'Helvetica Neue Custom', sans-serif;
    --body-font--helvetica-neue-bold: 'Helvetica Neue Custom', sans-serif;
    --body-font--helvetica-neue-thin: 'Helvetica Neue Custom', sans-serif;
    --blue: #512CDE;
    --cyan: #5EBCCB;
    --cyan-logo-nti: #0095DD;
    --blue-ibmi: #66C6E2;
    --black: #000000;
    --light-black: #1D1D1F;
    --video-intro: #040B10;
    --white: #fff;
    --lawngreen: #7cfc00;
    --cornflowerblue: #6495ed;
    --light-grey: rgb(243 247 249 / 37%);
    --light-grey-hover: rgb(206 225 235 / 17%);
    --price-cards: rgb(243 243 243 / 85%);
    --grey-home-button: #b1b1b1;
    --news-category-btn: rgba(89, 74, 226, 0.058823529411764705);
    --dotnet: #63217A;
    --grey: #f5f5f7;
    --ancre: #06c;
    --font-grey: rgb(255, 255, 255);
    --title-grey: #747474;
    --font-dark-grey: #493f3f;
    --font-grey-p: #6e6e73;
    --font-dark-parallax: #969697;
    --font-cards-product: #2c2c2c;
    --border-faq: #d2d2d7;
    --nav-grey: rgba(245,245,247,.8);
    --pastel-blue: #E8F2F8;
    --pastel-purple: #4C5C84;
    --pastel-green: #d3ffd1;
    --text: #212121;
    --base-font: 16px;
}

.vbp-header-menu-button__svg {
    width: 24px;
    height: 24px;
    cursor: pointer;
    transform: scaleX(-1);
}

.vbp-header-menu-button__svg line {
    stroke: var(--black);
    stroke-dasharray: 100%;
    stroke-dashoffset: 0%;
    transition: transform 0.3s, stroke-dashoffset .4s;
    transform-origin: center;
    stroke-width: 3px;
}

.vbp-header-menu-button__svg .top {
    transform: translateY(-35%);
    -webkit-transform: translateY(-35%);
    -moz-transform: translateY(35%);
    -ms-transform: translateY(35%);
    -o-transform: translateY(35%);
}

.vbp-header-menu-button__svg .middle {
    transform: scaleX(1);
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
    transition: opacity .3s, transform .3s;
    -webkit-transition: opacity .3s, transform .3s;
    -moz-transition: opacity .3s, transform .3s;
    -o-transition: opacity .3s, transform .3s;
}

.vbp-header-menu-button__svg .bottom {
    transform: translateY(33%);
    -webkit-transform: translateY(33%);
    -moz-transform: translateY(33%);
    -ms-transform: translateY(33%);
    -o-transform: translateY(33%);
}

body.menu-open .vbp-header-menu-button__svg .top {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    stroke-linecap: round;
}

body.menu-open .vbp-header-menu-button__svg .middle {
    transform: scaleX(0.1);
    -webkit-transform: scaleX(0.1);
    -moz-transform: scaleX(0.1);
    -ms-transform: scaleX(0.1);
    -o-transform: scaleX(0.1);
    opacity: 0;
}

body.menu-open .vbp-header-menu-button__svg line.bottom {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    stroke-linecap: round;
}

body.menu-open .vbp-header-menu-button__svg .bottom {
    stroke-dashoffset: 0%;
}

body.menu-open .vbp-header-menu-button__svg .top {
    stroke-dashoffset: 0%;
}

header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: var(--nav-grey);
    backdrop-filter: blur(6px);
    transition: box-shadow 0.5s ease, filter 0.3s ease;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1440px;
    min-height: 48px;
    margin: 0 auto;
    padding: 0 24px;
    top: 0;
}

.nav-mobile-menu {
    display: flex;
    justify-content: space-between;
    flex: 4;
    justify-content: center;
}

.brand-link {
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: var(--body-font--helvetica-neue-thin);
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 3px;
    text-decoration: none;
    color: var(--black);
}

.brand-link img {
    width: 28px;
    height: 28px;
}

.home-link-mobile {
    display: none;
}

.nav-items-center a:not(.brand-link) {
    font-family: var(--body-font--helvetica-neue-thin);
    border-radius: 50px;
    padding: 5px 10px;
    transition: background-color 0.5s ease;
    color: var(--black);
    font-size: 14px;
    position: relative;
    letter-spacing: -0.01em;
    line-height: 1;
    font-weight: 300;
}

.nav-items-center .nav-link-center {
    position: relative;
}

.active-header {
    color: var(--blue) !important;
    font-weight: 500;
}

.mobile-menu {
    display: none;
    width: 100%;
    flex-direction: column;
}

.nav-items-center {
    display: flex;
    justify-content: center;
    gap: 55px;
    align-items: center;
}

.nav-item-burger {
    display: none;
    top: 41px;
    right: 41px;
    position: absolute;
    cursor: pointer;
    overflow: hidden;
    width: 30px;
    height: 30px;
}

.nav-container.fade-in {
    opacity: 1;
    transition: opacity 0.4s ease-in-out;
}

.nav-container.fade-out {
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

.nav-items-center .nav-link-center-action {
    background-color: var(--blue);
    font-family: var(--body-font--helvetica-neue);
    color: var(--white) !important;
    border: none;
    box-sizing: border-box;
    border-radius: 999px;
    padding: 12px 24px;
    text-decoration: none;
    display: inline-block;
    font-weight: 500;
}

.site-footer {
    width: 100%;
    background: var(--grey);
    margin: 0 auto;
    padding: 0 16px;
}

.footer-top {
  padding: 40px 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
    align-items: start;
    padding-top: 30px;
}

.footer-accordion {
    width: 100%;
    padding-bottom: 10px;
    background: none;
    border: 0;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-family: var(--body-font--helvetica-neue);
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
    color: var(--black);
    cursor: pointer;
}

.footer-acc-icon {
    transition: transform .2s ease;
}

.footer-col h3 {
  font-family: var(--body-font--helvetica-neue);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
  color: var(--black);
  margin: 0 0 12px 0;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-col a {
  display: inline-block;
  font-family: var(--body-font--helvetica-neue);
  font-size: 17px;
  line-height: 1.47;
  font-weight: 400;
  letter-spacing: -0.022em;
  color: var(--title-grey);
  text-decoration: none;
  padding-bottom: 4px; 
  position: relative;
  transition: color .25s ease;
}

.footer-col a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 4px; 
  width: 0;
  height: 1px;
  background: currentColor;
  transition: width .25s ease;
}
.footer-col a:hover {
  color: var(--ancre, #0a66c2);
}
.footer-col a:hover::after { width: 100%; }

.footer-bottom {
  text-align: center;
  padding: 0 0 40px 0;
}

.footer-bottom p {
  margin: 0;
  font-family: var(--body-font--helvetica-neue);
  font-size: 15px;
  color: var(--title-grey);
}

@media ( max-width: 1440px) {
    footer {
        padding: 20px 20px;
    }
}

@media (max-width: 1050px) {
    .nav-link-center {
        display: none;
    }

    .nav-items-center .brand-text {
        display: none;
    }
    .nav-items-center .brand-link img {
        display: block;
        width: 28px;
        height: 28px;
    }

    .nav-items-center {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 0;
        padding-top: 0;
        width: 100%;
        will-change: transform, opacity;
    }

    .nav-container {
        padding: 0px 20px;
    }

    .nav-item-burger {
        border: none;
        background: transparent;
        display: block;
        top: 11px;
        right: 10px;
    }

    .nav-mobile-menu {
        flex-direction: column;
        padding-top: 0 !important;
    }

    .nav-items-center a:not(.brand-link){
        display: none;
        padding: 0;
    }

    body.menu-open .nav-items-center {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        padding-top: 10px;
    }

    body.menu-open .nav-items-center .nav-link-center, .nav-link-center-action {
        display: block;
        font-size: 28px;
        line-height: 1.1428571429;
        font-weight: 600;
        letter-spacing: .007em;
        animation: menuSlideDown .30s ease-out both;
    }
        
    body .menu-closing .nav-items-center .nav-link-center {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
        padding-top: 10px;
    }

    body.menu-closing .nav-items-center .nav-link-center, .nav-link-center-action {
        display: block;
        font-size: 28px;
        line-height: 1.1428571429;
        font-weight: 600;
        letter-spacing: .007em;
        width: 100%;
        padding: 0;
        animation: menuSlideUp .24s ease-in both;
    }

    body.menu-open .nav-items-center .nav-link-center-action,
    body.menu-closing .nav-items-center .nav-link-center-action {
        display: inline-block;
        width: auto;
        padding: 0;
        font-size: 28px;
        line-height: 1.3;
        font-weight: 600;
        color: var(--blue) !important;
        animation: menuSlideDown .30s ease-out both;
        background-color: transparent;
    }

    @keyframes menuSlideDown {
        from {
            transform: translateY(-14px);
            opacity: 0;
        }

        to {
            transform: translateY(0);
            opacity: 1;
        }
    }

    @keyframes menuSlideUp {
        from {
            transform: translateY(0);
            opacity: 1;
        }

        to {
            transform: translateY(-14px);
            opacity: 0;
        }
    }

    .home-link-mobile {
        display: block;
    }

    .mobile-menu-overlay {
        display: none !important;
    }

    .footer-top {
        padding: 32px 0;
    }

    .footer-col h3 {
        font-size: 22px;
    }

    .footer-col a {
        font-size: 16px;
    }

    .footer-bottom {
        padding: 0 0 32px 0;
    }
}

@media (min-width: 736px) {
    .footer-accordion {
        pointer-events: none;
    }

    .footer-acc-icon {
        display: none;
    }
    .footer-col ul {
        display: block !important;
        height: auto !important;
    }
}

@media (max-width: 735px) {
  .site-footer {
    padding: 0 14px;
  }

  .footer-grid {
      grid-template-columns: 1fr;
      gap: 18px;
  }
  
  .footer-col ul {
      display: none;
      padding-top: 0;
  }
  
  .footer-accordion[aria-expanded="true"] + ul {
      display: block;
      padding-left: 0;
  }
  
  .footer-accordion[aria-expanded="true"] .footer-acc-icon {
      transform: rotate(180deg);
  
  }
    .footer-col a::after {
        content: none;
    }
  .footer-top {
    padding: 24px 0;
  }

  .footer-col h3 {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .footer-col a {
    font-size: 16px;
  }

  .footer-bottom {
    padding: 0 0 50px 0;
  }

  .footer-bottom p {
    font-size: 14px;
  }
}

.home-mea {
    height: 25vh;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    z-index: 2;
    position: relative;
    min-height: 185px;
}

.home-mea-inner {
    width: 100%;
    max-width: var(--max-width-content); 
    display: flex;
    justify-content: center;
}

.home-mea-container {
    display: flex;
    justify-content: space-between;
    align-items: baseline; 
    width: 100%;
    height: auto;
}


.home-mea-container H1{
    font-family: var(--body-font--helvetica-neue);
    font-size: 65px;
    line-height: 1.05;
    font-weight: 600;
    letter-spacing: -0.015em;
}

.home-mea-container H1 span{
    color: var(--title-grey);
    font-weight: 500;
    font-size: 55px;
}

.home-mea-container H2{
    font-family: var(--body-font--helvetica-neue);
    font-size: 24px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--title-grey);
    text-align: right;
}

.home-mea-video-text p {
    font-size: 22px;
    font-family: var(--body-font--helvetica-neue);
    font-weight: 400;
    line-height: 1.14286;
    letter-spacing: .007em;
    color: var(--white);
    opacity: 0.9;
    margin-right: 15%;
    margin-left: 15%;
    word-break: break-word;
    flex-wrap: wrap;
}

.home-about {
    position: relative;
    height: 70vh;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: var(--black);
}

.home-about-video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.home-about-video-wrapper::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 160px; 
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, #000000 100%);
    pointer-events: none;
    z-index: 2;
}

.home-about-video-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.home-about-container {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 2rem;
    padding: 0 2rem;
}

.home-about-block {
    width: 100%;
    text-align: center;
}

.home-about-title h2 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 48px;
    font-weight: 600;
    line-height: 1.08;
    color: var(--white);
}

.home-about-block h2 span:first-child {
    background: linear-gradient(#3ed0de, #4494fa);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.home-about-block h2 span:last-child {
    background: linear-gradient(#2a39d0, #9c3def);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.home-about-text p span{
    font-weight: 900;
}


.home-about-text p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.19048;
    letter-spacing: .011em;
    font-weight: 300;
    color: var(--white);
}


.home-about-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-top: 10px;
    font-weight: 500;
}

.fade-section .home-about-block {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.6s ease-out, transform 1.6s ease-out;
}

.fade-section.visible .home-about-block {
    opacity: 1;
    transform: translateY(0);
}

.fade-section.visible .home-about-block:nth-child(1) {
    transition-delay: 0.2s;
}
.fade-section.visible .home-about-block:nth-child(2) {
    transition-delay: 0.5s;
}
.fade-section.visible .home-about-block:nth-child(3) {
    transition-delay: 0.8s;
}


.home-about-buttons a.btn-primary {
    background-color: var(--blue);
    font-family: var(--body-font--helvetica-neue);
    color: var(--white);
    border: none;
    border: 2px solid transparent;
    box-sizing: border-box;
    border-radius: 999px;
    padding: 12px 15px;
    text-decoration: none;
    display: inline-block;
    font-weight: 500;
}

.home-about-buttons a.btn-secondary {
    font-family: var(--body-font--helvetica-neue);
    background-color: var(--black);
    color: var(--cyan-logo-nti);
    border: 2px solid var(--cyan-logo-nti);
    border-radius: 999px;
    padding: 12px 24px;
    text-decoration: none;
    display: inline-block;
    font-weight: 500;
}

.home-about-animation {
    width: 100%;
    background-color: var(--black);
    padding-bottom: 150px;
}
.home-about-keywords {
    display: flex;
    justify-content: center;
    text-align: center;
    flex-wrap: wrap;
}

.home-about-keyword {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 120px;
    width: 100px;
}

.keyword-img {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.keyword-img img {
    width: 70px;
    height: 70px;
    object-fit: contain;
}

.keyword-kwd {
    min-height: 48px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-top: 12px;
}

.keyword-kwd .keyword {
    font-family: var(--body-font--helvetica-neue);
    font-size: 17px;
    line-height: 1.47059;
    font-weight: 300;
    color: white;
    line-height: 1.3;
}

.animate-stagger {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.animate-stagger.visible {
    opacity: 1;
    transform: translateY(0);
}

.home-product {
    height: auto;
    padding-bottom: 100px;
}

.home-product-header {
    background: var(--white);
    padding: 100px 20px;
}

.home-product-header-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.home-product-header-container {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
    height: auto;
}

.home-product-header-container h2 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 48px;
    font-weight: 600;
    line-height: 1.05;
    color: var(--black);
}

.home-product-header-container p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 24px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--title-grey);
    text-align: right;
}

.home-product .slider {
    position: relative;
    width: 100%;
    height: 450px;
    margin: 0 auto;
    overflow: hidden;
}

.home-product .slider-inner {
    position: relative;
    width: 100%;
    height: 100%;
}

.home-product .slider-image {
    position: absolute;
    top: 50%;
    width: 100%;
    max-width: 650px;
    transform: translateY(-50%);
    transition:
        left 0.6s cubic-bezier(.68,-0.55,.27,1.55),
        transform 0.6s cubic-bezier(.68,-0.55,.27,1.55),
        opacity 0.3s ease,
        filter 0.3s ease;
}

.home-product .slider-image-1 {
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    z-index: 30;
    opacity: 1;
    filter: none;
}

.home-product .slider-image-2 {
    left: 30%;
    transform: translate(-50%, -50%) scale(0.8);
    z-index: 20;
    opacity: 0.6;
    filter: blur(5px);
}

.home-product .slider-image-3 {
    left: 70%;
    transform: translate(-50%, -50%) scale(0.8);
    z-index: 20;
    opacity: 0.6;
    filter: blur(5px);
}

.slider-action {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}

.slider-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background: rgba(0,0,0,0.5);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 50%;
    z-index: 100;
    pointer-events: all;
    transition: background 0.2s ease;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,0.5));
}

.slider-button:hover {
    background: rgba(0,0,0,0.8);
}

.slider-button-prev {
    left: 10px;
}

.slider-button-next {
    right: 10px;
}

.slider-button i {
    font-size: 16px;
    line-height: 1;
}

.home-product .slider-image{
    height: 350px;
}

.home-product-card-logo,
.home-product-card-header,
.home-product-card-nuget,
.home-product-card-body,
.home-product-card-buttons {
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
}

.home-product-card-content {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    height: 100%;
    padding: 24px;
    box-sizing: border-box;
    border-radius: 16px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
}

.home-product-card-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 4;
}

.home-product-card-logo img {
    width: 50px;
    height: auto;
}

.home-product-card .home-product-card-header h3 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 40px;
    line-height: 1.1;
    font-weight: 600;
}

.home-product-card-nuget {
    text-align: center;
}

.home-product-card-nuget a {
    text-decoration: none;
}

.home-product-card-nuget code {
    background-color: var(--white) !important;
    color: var(--font-cards-product);
    border-radius: 6px;
    padding: 6px 10px;
    font-family: Consolas, monospace;
    font-size: 14px;
    display: inline-block;
    white-space: nowrap;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.home-product-card-nuget code:hover {
    background-color: var(--font-dark-grey) !important;
    color: var(--white);
}

.home-product-card .home-product-card-body p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 16px;
    margin-inline: 5%;
    line-height: 1.21053;
    letter-spacing: .012em;
    font-weight: 500;
    text-align: center;
    color: var(--font-cards-product);
}

.home-product-card-buttons a.btn-primary {
    background-color: var(--blue);
    font-family: var(--body-font--helvetica-neue);
    color: var(--white);
    border: none;
    border: 2px solid transparent;
    box-sizing: border-box;
    border-radius: 999px;
    padding: 6px 12px;
    text-decoration: none;
    display: inline-block;
    font-weight: 300;
}

.home-parallax-section {
    background-color: var(--black);
}

.home-parallax-title{
    padding-top: 100px;
    padding-bottom: 30px;
}

.home-parallax-title h2 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 56px;
    font-weight: 600;
    line-height: 1.08;
    margin-top: 10px;
    color: var(--white);
    padding-left: 54px;
}

.home-parallax-title span {
    font-family: var(--body-font--helvetica-neue);
    font-size: 56px;
    font-weight: 800;
    line-height: 1.08;
    margin-top: 10px;
    color: var(--cyan-logo-nti);
}

.home-parallax-container {
    display: flex;
    position: relative;
    min-height: 100vh !important;
}

.home-parallax-indicator {
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-right: 50px;
    z-index: 10;
    min-width: 4px;
}

.indicator-segment {
    height: 40px;
    margin: 5px 0;
    background: var(--grey);
    transition: background .3s;
}

.indicator-segment.active {
    background: var(--blue);
}

.indicator-segment.active {
    background: var(--blue);
}

.parallax-mobile-media{
    display: none !important;
}

.home-parallax-content {
    width: 55%;
    overflow-y: auto;
}

.home-parallax-content > .home-parallax-nti,
.home-parallax-content > .home-parallax-efcore,
.home-parallax-content > .home-parallax-toolbox {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.home-parallax-content .home-parallax-nti .home-parallax-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
}


.home-parallax-content div:last-child {
    border-bottom: none;
}

.home-parallax-content h2 {
    font-family: var( --body-font--helvetica-neue);
    font-size: 40px;
    font-weight: 600;
    line-height: 1.1;
    color: var(--white);
    margin-bottom: 45px;
}

    .home-parallax-content div p {
        font-family: var( --body-font--helvetica-neue);
        font-size: 19px;
        line-height: 1.1904761905;
        font-weight: 600;
        letter-spacing: .011em;
        color: var(--white);
        margin-bottom: 25px;
    }

.nti-features, .efcore-features, .toolbox-features {
    font-family: var( --body-font--helvetica-neue);
    color: var(--white);
    font-size: 19px;
    line-height: 1.1904761905;
    font-weight: 700;
    letter-spacing: .011em;
    list-style: none;
}

.nti-features li, .efcore-features li, .toolbox-features li{
    position: relative;
    padding-left: 28px;
    margin-bottom: 6px;
    font-size: 17px;
    line-height: 1.1904761905;
    font-weight: 500;
    color: var(--white);
    letter-spacing: .011em;
}

#link-nti > span, #home-parallax-efcore > div.home-parallax-card > p:nth-child(2) > span, #home-parallax-toolbox > div.home-parallax-card > p:nth-child(2) > span {
    color: var(--white);
    font-weight: 900;
}

.nti-features li span, .efcore-features li span, .toolbox-features li span{
    font-weight: 900;
}

.nti-features li::before, .efcore-features li::before, .toolbox-features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); 
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.nti-features li::before{
    background: linear-gradient( to right, var(--cyan-logo-nti), var( --grey)); 
}

.efcore-features li::before{
    background: linear-gradient(to right, #7F3FBF, #B793E6);
}

.toolbox-features li::before{
     background: linear-gradient(to right, #2C8F54, var(--lawngreen));
} 


.home-parallax-content div p span{
    font-weight: 900;
}

p.gradient-text-nti {
    background: linear-gradient( to right, var(--cyan-logo-nti), var( --grey));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    color: transparent;
    font-weight: 800 !important;
    font-size: 25px !important;
}

p.gradient-text-ef-core {
    background: linear-gradient(to right, #7F3FBF, #B793E6);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-weight: 800 !important;
    font-size: 25px !important;
}

p.gradient-text-toolbox {
    background: linear-gradient(to right, #2C8F54, var(--lawngreen));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-weight: 800 !important;
    font-size: 25px !important;
}

.home-parallax-images {
    width: 45%;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--black);
    pointer-events: none;
}

#parallax-media {
    width: 100%;
    max-width: 1800px;
    max-height: 1200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#parallax-media video, #parallax-media img {
        max-width: 80%;
        object-fit: contain;
        transition: opacity 0.4s ease;
        opacity: 0;
        display: block;
}

.home-about-partner {
    background-color: var(--white);
    width: 100%;
    overflow: hidden;
    position: relative;
}

.home-about-partner-container {
    width: 100%;
    max-width: 100%;
    padding: 100px 0;
}

.partner-marquee-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 15%, black 85%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0%, black 15%, black 85%, transparent 100%);
}


.partner-marquee {
    white-space: nowrap;
    overflow: hidden;
}

.partner-marquee-track {
    display: flex;
    align-items: center;
    gap: 80px;
    animation: scrollLeft 40s linear infinite;
    width: calc((150px + 80px) * 18);
}

.partner-marquee-track img {
    height: 100px;
    width: 150px;
    object-fit: contain;
    filter: grayscale(0);
    transition: transform 0.3s;
    padding: 10px;
    border-radius: 10px;
}

.partner-logo {
    height: 100px;
    width: 150px;
    object-fit: contain;
    padding: 10px;
    border-radius: 10px;
    transition: transform 0.3s;
}

@keyframes scrollLeft {
  0%   { transform: translateX(0); }
  100% { transform: translateX(calc(-1 * ((150px + 80px) * 9))); }
}
.partner-fade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 60px;
    pointer-events: none;
    z-index: 2;
}

.partner-logo[alt="RheinMetal"] {
    width: 300px; 
    height: auto;
}

.home-usecase-showcase {
    padding: 0 20px 100px 20px;
}

.usecase-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.usecase-item {
    display: flex;
    flex-direction: column;
    min-height: 700px;
    box-sizing: border-box;
    overflow: hidden;
}

.usecase-item .card-overlay-1 {
    background: url('/images/home/usecase-1.webp?v=j9u5B4ZzxpHV04OfEMJBHlaRD8g') center center / cover no-repeat;
    border-radius: 16px;
}

.usecase-item .card-overlay-2 {
    background: url('/images/home/usecase-2.webp?v=oqFfAJKkHbr-SHJri5yjcjBrhCc') center center / cover no-repeat;
    border-radius: 16px;
}

.usecase-item .card-overlay-3 {
    background: url('/images/home/usecase-3.webp?v=uspW-5fDkWTEzhzPCsaMAAXmVuc') center center / cover no-repeat;
    border-radius: 16px;
}

.usecase-item .card-overlay-4 {
    background: url('/images/home/usecase-4.webp?v=z47uIRPi7FbZXCB1r2MHnvAfi90') center center / cover no-repeat;
    border-radius: 16px;
}
.usecase-text {
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    overflow: hidden;
    color: white;
}

.usecase-title {
    display: flex;
    flex-direction: column;
    flex: 0 0 20%;
    justify-content: center;
    gap: 15px;
    padding: 40px 20% 40px 40px;
    margin-right: 8%;
}

.usecase-title,
.usecase-body {
    width: 100%;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
    box-sizing: border-box;
}

.usecase-icon {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.usecase-body {
    flex: 0 0 80%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 10px 40px 0 40px;
    margin-right: 7%;
    box-sizing: border-box;
    overflow: hidden;
}

.usecase-text h3 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 48px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0em;
}

.usecase-text p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.381002381;
    font-weight: 500;
    letter-spacing: .011em;
    color: var( --white);
    margin-bottom: 20px;
    margin-right: 3%;
}

.home-product-possibilities {
    color: var(--white);
    padding: 0 20px 130px 20px;
}

.home-product-possibilities-header {
    background: var(--white);
}

.home-product-possibilities-inner {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.home-product-possibilities-container {
    display: flex;
    justify-content: space-between;
    align-items: end;
    align-items: baseline;
    width: 100%;
    height: auto;
}

    .home-product-possibilities-container h2 {
        font-family: var(--body-font--helvetica-neue);
        font-size: 48px;
        font-weight: 600;
        line-height: 1.05;
        color: var(--black);
    }

    .home-product-possibilities-container p {
        font-family: var(--body-font--helvetica-neue);
        font-size: 24px;
        line-height: 1.2;
        font-weight: 400;
        color: var(--title-grey);
        text-align: right;
    }

.home-product-possibilities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    margin: 0 auto;
    padding-top: 100px;
}

.product-possibility-card {
    padding: 30px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 420px;
    height: 100%;
    transition: background 0.3s;
    border-radius: 34px;
}

.possibility-title, .possibility-description {
    flex-shrink: 0;
}

.possibility-title {
    flex: 0 0 40%;
    display: flex;
    flex-direction: column;
}

    .possibility-title img {
        width: 42px;
        height: 42px;
        margin-bottom: 10px;
    }

.possibility-description {
    flex: 0 0 60%;
    display: flex;
    align-items: flex-start;
}

.pastel-grey {
    background-color: var(--grey);
}

.pastel-blue {
    background-color: var(--pastel-blue);
}

.pastel-purple {
    background-color: var(--pastel-purple);
}

.pastel-black {
    background-color: var(--video-intro);
}

.product-possibility-card h3 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 28px;
    line-height: 1.1428571429;
    font-weight: 600;
    letter-spacing: .007em;
    margin-bottom: 10px;
}

.product-possibility-card h4 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 22px;
    line-height: 1.2353641176;
    font-weight: 500;
    letter-spacing: -0.022em;
}

.product-possibility-card p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.3333733333;
    font-weight: 300;
    letter-spacing: -0.01em;
}

.pastel-blue h3, .pastel-grey h3 {
    color: var(--black);
}

.pastel-blue h4, .pastel-grey h4 {
    color: var(--title-grey);
}

.pastel-black h4, .pastel-purple h4 {
    color: var(--dark-grey);
}


.pastel-blue p, .pastel-grey p {
    color: var(--black);
}

.home-pricing {
    color: var(--white);
    padding: 0 20px 100px 20px;
}

.home-pricing-header {
    background: var(--white);
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.home-pricing-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
}

.home-pricing-header h2 {
  font-family: var(--body-font--helvetica-neue);
    font-size: 56px;
    font-weight: 600;
    line-height: 1.05;
    color: var(--black);
    margin-bottom: 60px;
}

.home-pricing-header p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--title-grey);
    text-align: center;
    margin: 0 10% 0 10%;
}

.home-pricing-cards {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 80px;
}

.home-pricing-cards {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
    padding-top: 60px;
}

.pricing-card{
    background: var(--black);
    border-radius: 16px;
    flex: 1 1 220px;
    max-width: 225px;
    height: 220px;
    display: flex;
    flex-direction: column;
    padding: 20px;
    color: var(--white);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
        position: relative;
    overflow: hidden;
}

.pricing-card h3, .card-4 h3{
    font-family: var(--body-font--helvetica-neue);
    color: var(--white);
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 10px;
}

.price {
    font-family: var(--body-font--helvetica-neue);
    font-size: 32px;
    font-weight: 700;
    color: var(--blue-ibmi);
}

.price span {
    font-size: 20px;
    font-weight: 400;
    color: var(--price-cards);
}

.pricing-card .lpar {
    font-family: var(--body-font--helvetica-neue);
    font-size: 17px;
    font-weight: 400;
    color: var(--price-cards);
    margin: 10px 0 0 0;
}

.home-pricing-cards .best-choice {
    background-color: var(--video-intro);
}

.home-pricing-card-4 {
    display: flex;
    justify-content: center;
    padding-top: 60px;
}

.pricing-card.card-4 {
    max-width: 500px;
    height: 220px;
    padding: 30px;
}

.pricing-card.card-4 h3 {
    font-size: 28px;
    margin-bottom: 15px;
    color: var(--white);
}

.card-4-text {
    font-family: var(--body-font--helvetica-neue);
    font-size: 16px;
    font-weight: 400;
    color: var(--price-cards);
    margin-bottom: 20px;
}

.btn-primary {
    width: 100%;
    max-width: 170px;
    font-family: var(--body-font--helvetica-neue);
    background-color: var(--black);
    color: var(--white);
    border: 2px solid var(--blue-ibmi);
    border-radius: 999px;
    padding: 8px 24px;
    text-decoration: none;
    display: inline-block;
    font-weight: 500;
}

.pricing-note {
    font-family: var(--body-font--helvetica-neue);
    font-size: 16px;
    font-weight: bold;
    color: var(--font-grey-p);
    margin-top: 60px;
    text-align: center;
}

.home-install {
    background-color: var(--grey);
}

.home-install-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: var(--title-grey);
    padding-top: 100px;
}

.home-install-header h2 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 56px;
    font-weight: 600;
    line-height: 1.05;
    color: var(--black);
    margin-bottom: 60px;
}

.home-install-header p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--title-grey);
    text-align: center;
    margin: 0 20% 5px 20%;
}

.home-install-video {
    display: flex;
    justify-content: center;
    padding: 80px 0;
}

.home-install-video video {
    max-width: 900px;
    width: 100%;
    height: auto;
    display: block;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.home-install-steps {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    padding-bottom: 50px;
}

.install-step {
    max-width: 270px;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.install-step-icon {
    flex: 0 0 20%;
    margin-bottom: 20px;
}

.install-step-title {
    flex: 0 0 20%;
    margin-bottom: 20px;
}

.install-step-text {
    flex: 0 0 auto;
}

.install-step > div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.install-step-icon {
    flex: 0 0 30%;
}

.install-step-icon img {
    width: 48px;
    height: 48px;
}

.install-step h3 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 36px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 0;
    color: var( --font-dark-grey);
}

.install-step p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 17px;
    line-height: 1.21053;
    letter-spacing: .012em;
    font-weight: 400;
    color: var(--black);
}

.home-start-form{
    padding: 100px 0;
    background-color: var(--grey);
}
.form-container {
    background-color: var(--white);
    border-radius: 16px;
    padding: 40px 0 0 0;
}

.form-header{
    display: flex;
    flex-direction: column;
    text-align: center;
    padding-bottom: 40px;
    padding: 40px 20px 0 20px;
}

.form-header h2 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 56px;
    font-weight: 600;
    line-height: 1.05;
    color: var(--black);
    margin-bottom: 60px;
}

.form-header p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--title-grey);
    margin: 0 15% 0 15%;
    margin-bottom: 5px;
}

.home-start-form-wrapper{
    padding-top: 100px;
}

#sib-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.home-form-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between !important;
}

.home-form-column {
    flex: 1 1 0;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    padding: 40px;
    background-color: var(--white);
}

.home-form-footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: var(--white);
    padding: 20px;
}

.home-form-separator {
    width: 100%;
    height: 1px;
    background-color: #E5EDF6;
    margin: 40px 0;
}

.home-start-form .sib-form .entry__field {
    background-color: var(--grey) !important;
    border-radius: 5px !important;
    border: 1px solid var(--dark-grey) !important;
}

.home-form-footer .sib-form-block .custom-text-form {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    font-weight: 300;
    color: var(--black);
    line-height: 1.21053;
    letter-spacing: 0.012em;
}

.home-form-footer .entry__choice label.div-checkbox {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    column-gap: 12px !important;
}

.home-form-footer .checkbox {
    width: 18px !important;
    height: 18px !important;
    display: inline-block !important;
    margin: 0 !important;
}

.home-form-footer .entry__choice label.div-checkbox span:last-child {
    font-family: var(--body-font--helvetica-neue);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    display: block;
    text-align: left;
}

.home-form-columns .form__label-row{
    margin-bottom: 10px;
}

.checkbox {
    vertical-align: middle
}

.entry__choice {
    text-indent: 0 !important;
}

.sib-form .entry__choice {
    text-indent: 0 !important;
}

.home-form-column .sib-text-form-block p:first-child {
    font-size: 16px;
    text-align: left;
    font-weight: 500;
    font-family: Helvetica, sans-serif;
    margin-bottom: 5px;
}

.home-form-column .sib-text-form-block .custom-text-form {
    font-size: 16px;
    text-align: left;
    font-weight: 500;
    font-family: Helvetica, sans-serif;
    margin-bottom: 0 !important;
}

.form-info-small {
    padding: 20px 16px;
    margin-bottom: 20px;
}

.form__label-row span {
    margin-top: 0 !important;
}

.home-form-footer-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}

.home-form-footer-column {
    flex: 1 1 0;
    min-width: 300px;
    justify-content: center;
    align-content: center;
}

.sib-form .entry__label{
    margin-bottom: 0!important;
}

.home-faq {
    display: flex;
    flex-direction: column;
    padding-top: 80px;
}

.home-faq-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 80px;
}

.home-faq-title h2 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 56px;
    font-weight: 600;
    line-height: 1.05;
    color: var(--black);
    margin-bottom: 60px;
    text-align: center;
}

.home-faq-title p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--title-grey);
    margin-bottom: 3px;
    text-align: center;
    margin: 0 5% 10px 5%;
}

.home-faq-title a{
    color: var(--ancre);
    font-weight: 500;
}

.faq-link-contact {
    color: var(--ancre) !important;
    font-weight: bold;
}

.home-faq-questions {
    background-color: var(--grey);
    padding: 80px 0;
    display: flex;
    justify-content: center;
    border-radius: 34px;
}

.faq-block {
    width: 100%;
}

.faq-item {
    border-bottom: 1px solid var(--border-faq);
    padding: 35px 0;
}

.faq-toggle {
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.faq-item h3 {
    font-family: var(--body-font--helvetica-neue);
    font-size: 22px;
    font-weight: 500;
    color: var(--black);
    margin: 0;
    text-align: left;
}

.toggle-faq {
    transition: transform 0.3s ease;
    width: 24px;
    height: 24px;
    color: var(--border-faq);
}

.faq-item.open .toggle-faq {
    transform: rotate(180deg);
}

.faq-answer {
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: height 0.4s ease, opacity 0.3s ease;
}

.faq-item.open .faq-answer {
    opacity: 1;
    padding: 15px 0px;
    margin-top: 10px;
}

.faq-answer p {
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -0.022em;
    margin: 15px 0 15px 0;
}

.faq-item a{
    color: var(--ancre);
    font-weight: 500;
}

.faq-answer ul {
    padding-left: 20px;
    list-style-type: square;
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -0.022em;
}

.faq-answer ul li{
    padding-left: 20px;
    list-style-type: square;
    font-family: var(--body-font--helvetica-neue);
    font-size: 19px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -0.022em;
}

.faq-answer ul li::marker{
    color: var(--pastel-purple);
}

.home-logo-partner {
    padding: 100px 20px;
    background-color: var(--white);
    text-align: center;
}

.home-logo-partner-container {
    display: flex;
    justify-content: center;
    gap: 100px;
    flex-wrap: wrap;
}

.partner-logo-card {
    width: 180px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.partner-logo-inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .partner-logo-inner img {
        max-height: 100%;
        max-width: 100%;
        object-fit: contain;
        display: block;
    }

@media ( max-width: 1640px) {
    .home-parallax-wrapper, .home-mea-container{
        padding-left: 20px;
        padding-right: 20px;
    }
    .home-faq-questions{
        margin-left: 100px;
        margin-right: 100px;
    }
}

@media ( max-width: 1440px) {
    .home-about-container, .home-about-keywords, .home-about-partner-container, .home-install, .home-product-slide-container, .home-start-form, .home-faq-questions {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media ( max-width: 1350px) {

    .home-product-card .home-product-card-header h3 {
        font-size: 32px;
        line-height: 1.125;
        font-weight: 600;
        letter-spacing: .002em;
    }

    .home-product-card .home-product-card-body p {
        font-size: 16px;
        line-height: 1.21053;
        font-weight: 400;
        letter-spacing: .012em;
    }

    .home-product-card-logo img {
        width: 34px; 
    }
}

@media (max-width: 1300px) {
    .home-product-possibilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media ( max-width: 1050px) {

    .home-mea-container h1 {
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -0.009em;
        padding-right: 0;
        padding-left: 0;
    }

    .home-mea-container H1 span{
        font-size: 40px;
    }

    .home-mea-container h2 {
        font-size: 19px;
        line-height: 1.1666666667;
        letter-spacing: .009em;
        padding-right: 0;
        padding-left: 0;
    }

    .home-about{
        height: auto;
    }

    .home-about-container{
        padding: 60px 20px;
    }

    .home-about-block h2 {
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .004em;
    }

    .home-about-block p {
        margin: 0 8%;
    }

    .home-about-keyword {
        flex: 1 1 100px;
        max-width: 120px;
    }

    .keyword-img img {
        width: 54px;
        height: 54px;
    }

    .keyword {
        font-size: 14px;
    }

    .home-product-header-container{
        flex-direction: column;
    }

    .home-product-header-container H2{
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -.009em;
    }
    
    .home-product-header-container p{
        font-size: 19px;
        line-height: 1.1666666667;
        letter-spacing: .009em;
        margin-top: 10px;
    }


    .home-product .slider {
        height: 380px;
        padding: 0 20px;
    }

    .home-product .slider-image {
        max-width: 75%;
        height: 330px;
    }

    .home-product-card-content {
        padding: 20px;
    }

    .home-product-card .home-product-card-header h3 {
        font-size: 34px;
    }

    .home-product-card .home-product-card-body p {
        font-size: 16px;
        margin-inline: 10%;
    }

    .home-product-card-nuget code {
        font-size: 12px;
        padding: 5px 5px;
    }

    .home-product-card-logo img {
        width: 45px;
    }

    .home-parallax-container {
        flex-direction: column;
        padding-bottom: 0;
    }

    .home-parallax-content {
        width: 100%;
        overflow: visible;
    }

    .home-parallax-content > div {
        padding: 40px 20px; 
    }

    .home-parallax-content .home-parallax-nti .home-parallax-card{
        min-height: auto;
    }

    .parallax-mobile-media {
        display: block !important;
        margin: 30px auto;
        text-align: center;
        min-height: auto !important;
    }

    .parallax-mobile-media video, .parallax-mobile-media img {
        display: block;
        max-width: 100%;
        width: 100%;
        height: auto;
        opacity: 1 !important;
        pointer-events: auto;
    }

    .parallax-mobile-media video {
        background: black;
    }

    .home-parallax-images, .home-parallax-indicator {
        display: none !important;
    }


    .home-parallax-content > div {
        padding: 40px 0px;  
    }

    .home-parallax-content > .home-parallax-nti, .home-parallax-content > .home-parallax-efcore, .home-parallax-content > .home-parallax-toolbox{
        min-height: auto;
    }

    .home-parallax-title h2 {
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -0.009em;
        padding-left: 0;
    }

    .home-parallax-content h2 {
        font-size: 32px;
        line-height: 1.125;
        font-weight: 600;
        letter-spacing: .002em;
        margin-bottom: 30px;
    }

    .home-parallax-content div p {
        font-size: 19px;
        line-height: 1.21053;
        font-weight: 400;
        letter-spacing: .012em;
        margin-bottom: 15px;
    }

    p.gradient-text-nti, p.gradient-text-ef-core2, p.gradient-text-toolbox {
        font-size: 22px !important;
    }

    .partner-marquee-track {
        gap: 40px;
        animation-duration: 35s;
    }

    .usecase-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 30px;
    }
    .usecase-title {
        padding: 20px 30px 20px;
        gap: 5px;
        margin-right: 0;
    }

    .usecase-title h3{
        font-size: 32px;
        line-height: 1.125;
        font-weight: 600;
        letter-spacing: .002em;
        margin-right: 15%;
    }

    .usecase-body {
        flex: 0 0 100%;
        padding: 20px 30px 20px;
    }

    .usecase-body p {
        font-size: 18px;
        line-height: 1.21053;
        font-weight: 400;
        letter-spacing: 0.012em;
    }

        .usecase-title,
    .usecase-body {
        position: relative;
        z-index: 1;
    }

    .usecase-text.card-overlay-3,
    .usecase-text.card-overlay-4 {
        position: relative;
        overflow: hidden;
    }

      .usecase-text.card-overlay-3::after, .usecase-text.card-overlay-4::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
      180deg,
      rgba(0,0,0,0.14) 0%,
      rgba(0,0,0,0.40) 40%,
      rgba(0,0,0,0.70) 100%
    );
    pointer-events: none;
    z-index: 0;
  }

    .usecase-image {
        flex: 0 0 30%;
    }

    .home-pricing-cards {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        max-width: calc((180px * 2) + 20px);
        margin: 0 auto;
    }
    .pricing-card, .pricing-card.card-4 {
        flex: 0 0 180px;
        max-width: 180px;
        height: 180px;
    }

  .pricing-card h3, .pricing-card.card-4 h3 {
      font-size: 32px;
      margin-bottom: 6px;
  }

    .pricing-card.card-4 {
        padding: 20px;
    }

    .pricing-card.card-4 h3{
        font-size: 21px;
        margin-bottom: 33px;
    }

    .price {
        font-size: 24px;
    }

  .price span { 
      font-size: 16px; 

  }
  .pricing-card .lpar { 
      font-size: 15px; 
  }

  .card-4-text{
      display: none;
  }

  .card-4-text { 
      font-size: 15px;
 }

    .pricing-card .btn-primary {
        font-size: 12px;
    }

    .home-product-possibilities-container {
        flex-direction: column;
    }


    .home-product-possibilities-container h2 {
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -.009em;
    }

    .home-product-possibilities-container p{
        font-size: 19px;
        line-height: 1.1666666667;
        letter-spacing: .009em;
        padding-top: 10px;
        text-align: left;
        padding: 10px 0 0 0;
    }

    .home-pricing-header h2 {
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -.009em;
    }

    .home-pricing-header p {
        margin: 0 5% 5px 5%;
        font-size: 17px;
        line-height: 1.3333733333;
        font-weight: 400;
        letter-spacing: -0.01em;
    }

    .pricing-card, .pricing-card.card-4 {
        flex: 0 0 150px;
        max-width: 150px;
        height: 150px;
    }

    .pricing-card .btn-primary{
        padding: 6px 8px;
    }
    .price{
        font-size: 21px;
    }
    .pricing-card h3, .pricing-card.card-4 h3 {
        font-size: 28px;
        margin-bottom: 16px;
    }

    .pricing-note {
        font-size: 14px;
        margin-top: 30px;
        text-align: center;
    }

    .form-container {
        padding: 40px 20px 40px 20px;
    }

    .home-install-header h2 {
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -.009em;
    }

    .home-install-header p {
        margin: 0 10% 5px 10px;
    }

    .install-step-title h3 {
        font-size: 24px;
        line-height: 1;
        font-weight: 700;
    }

    .install-step-text p {
        font-size: 17px;
        line-height: 1.21053;
        font-weight: 400;
        letter-spacing: .012em;
    }

    .home-install-header p {
        font-family: var(--body-font--helvetica-neue);
        font-size: 19px;
        line-height: 1.1666666667;
        letter-spacing: .009em;
    }

    .home-start-form h2 {
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -.009em;
    }

    .home-form-columns{
        flex-direction: column;
    }

    .home-form-column, .home-form-footer {
        gap: 10px;
        padding: 20px;
    }

    .home-form-column .sib-form-block p:first-child{
        font-size: 24px;
        margin-bottom: 15px;
    }

    .home-form-footer-columns {
        flex-direction: column;
        gap: 15px;
    }

    .home-form-footer {
        gap: 15px !important;
    }

    #sib-form > div.home-form-footer > div.home-form-footer-columns > div:nth-child(1) > div > div.sib-text-form-block.custom-text-form > p {
        font-size: 17px;
        margin-top: 5px;
        margin-bottom: 15px;
    }

    .entry__choice label.div-checkbox span:last-child{
        font-size: 14px !important;
        margin-top: 20px !important;
    }


    .home-logo-partner-container {
        gap: 60px;
    }

    .partner-logo-card {
        width: 140px;
        height: 70px;
    }

    .home-faq-title h2 {
        font-size: 45px;
        line-height: 1.0625;
        letter-spacing: -.009em;
    }

    .home-faq-questions {
        margin-left: 50px;
        margin-right: 50px;
        padding: 30px;
    }

    .faq-item h3 {
        font-size: 19px;
        line-height: 1.2105263158;
        font-weight: 600;
        letter-spacing: .012em;
        margin-right: 5%;
    }

}

@media ( max-width: 735px) {

    .home-mea-container {
        flex-direction: column;
        padding: 120px 20px;
    }
     .home-mea-container h1 {
        font-size: 45px;
        line-height: 1.0834933333;
        letter-spacing: -0.003em;
        padding-bottom: 0;
    }

    .home-mea-container h2 {
        line-height: 1.1904761905;
        font-weight: 400;
        letter-spacing: .011em;
        padding-top: 10px;
        text-align: left;
    }

     .home-mea-container h1, .home-mea-container h2 {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }

    .home-about-block{
        text-align: left;
    }

    .home-about-block h2 {
        font-size: 28px;
        line-height: 1.125;
        letter-spacing: 0.004em;
    }

    .home-about-block p {
        font-size: 17px;
        line-height: 1.21053;
        font-weight: 300;
        letter-spacing: .012em;
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 5px;
    }

    .home-about-buttons a.btn-primary {
        border: 0;
        padding: 13px 18px;
        font-weight: 400;
        text-align: center;
    }

    .home-about-buttons {
        flex-wrap: wrap;
        gap: 15px;
    }

    .home-about-animation {
        padding-bottom: 70px;
    }

    .home-about-keywords {
        justify-content: center;
    }

    .home-about-keyword {
        flex: 1 1 calc(50% - 40px);
        max-width: none;
    }

    .home-about-keyword:nth-child(1) {
        order: 5;
    }
    .home-about-keyword:nth-child(4) {
        order: 6;
    }
    .home-about-keyword:nth-child(7) {
        order: 7;
    }
    .home-product {
        padding-bottom: 50px;
    }

    .home-product-header {
        padding: 80px 20px 40px 20px;
    }

    .home-product-header-container H2 {
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .004em;
    }

    .home-product-header-container p {
        font-size: 19px;
        line-height: 1.1904761905;
        font-weight: 400;
        letter-spacing: .011em;
        margin-top: 10px;
        text-align: left;
    }

    .home-product-card-logo img {
        width: 24px;
    }

    .home-product-card-content {
        padding: 10px 20px;
    }
    .home-product-slide-container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .slider-button-prev {
        left: 0;
    }
    .slider-button-next {
        right: 0;
    }
    .home-product-card .home-product-card-header h3 {
        font-size: 21px;
    }

    .home-product-card-nuget code {
        white-space: normal;
        word-break: break-word;
        display: block;
        font-size: 10px;
    }

    .home-product-card-buttons a.btn-primary {
        padding: 6px 8px;
        border: 1px solid transparent;
        font-size: 12px;
    }

    .home-product-card .home-product-card-body p {
        font-size: 14px;
        margin: 0;
        text-align: center;
    }

    .home-product .slider-image {
        max-width: 80%;
        height: 290px;
    }

    .home-parallax-title {
        padding-top: 60px;
    }

    .home-parallax-card {
        padding: 25px 0;
        border-radius: 16px;
    }

    p.gradient-text-nti, p.gradient-text-ef-core, p.gradient-text-toolbox {
        background: none !important;
        -webkit-background-clip: initial !important;
        background-clip: initial !important;
        -webkit-text-fill-color: initial !important;
        color: #fff !important;
        font-weight: bold !important;
        margin: 10px 0 20px 0;
    }

    .nti-features li, .efcore-features li, .toolbox-features li {
        font-size: 14px;
    }

    .home-parallax-title h2 {
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .004em;
        margin-top: 0;
    }

    .home-parallax-content h2 {
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .002em;
    }

    .home-parallax-content div p {
        font-size: 17px;
        line-height: 1.21053;
        font-weight: 300;
        letter-spacing: .012em;
    }

    .partner-marquee-track {
        gap: 5px;
        animation-duration: 30s;
    }

    .partner-marquee-track img {
         height: 100px;
         width: 150px;
         object-fit: contain;
         filter: grayscale(0);
         transition: transform 0.3s;
         padding: 10px;
    }

    .home-usecase-showcase {
        padding: 0 20px 80px 20px;
    }

    .usecase-grid {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .usecase-item {
        min-height: 600px;
        height: auto;
    }

    .usecase-text {
        height: 100%;
        justify-content: space-between;
    }

    .usecase-title {
        flex: 0 0 20%;
        padding: 40px 30px 30px;
    }


    .usecase-body {
        flex: 0 0 80%;
        padding-top: 5px;
    }

    .usecase-image {
        flex: 0 0 auto;
        padding: 10px;
    }

    .usecase-text h3 {
        font-size: 32px;
        line-height: 1.125;
        font-weight: 600;
        letter-spacing: .002em;
        margin-left: 0;
        margin-right: 0;
    }

    .usecase-text p {
        font-size: 17px;
        line-height: 1.21053;
        font-weight: 400;
        letter-spacing: .012em;
    }

    .home-product-possibilities {
        padding: 0 20px 80px 20px;
    }

    .home-product-possibilities-grid {
        grid-template-columns: 1fr;
        padding-top: 60px;
    }

    .home-product-possibilities-container {
        flex-direction: column;
    }

    .possibility-title {
        flex: 0 0 30%;
    }

    .home-product-possibilities-container h2, .home-install-header h2 {
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .004em;
    }

    .home-product-possibilities-container p {
        line-height: 1.1904761905;
        font-weight: 400;
        letter-spacing: .011em;
        padding-top: 10px;
    }

    .product-possibility-card {
        min-height: 380px;
    }

    .product-possibility-card p {
        font-size: 17px;
    }

    .home-pricing {
        padding: 0 20px 60px 20px
    }

    .home-pricing-header {
        margin-bottom: 20px;
        align-items: start;
    }

    .home-pricing-header h2{
         font-size: 32px;
        line-height: 1.125;
        letter-spacing: .002em;
         margin-bottom: 10px;
    }

    .home-pricing-header p {
        margin: 0 ;
        font-size: 17px;
        text-align: left;
    }

    .price {
        font-size: 19px;
    }

    .home-install-steps {
        padding-bottom: 0;
    }

    .form-container {
        padding: 0;
    }

    .home-install-header {
        align-items: start;
        padding-top: 60px;
        text-align: left;
    }

    .home-install-video {
        padding: 40px 0;
    }

    .home-install-header h2 {
        margin-bottom: 10px;
    }

    .home-install-header p {
        text-align: justify;
        margin: 0;
        font-size: 17px;
        line-height: 1.3333733333;
        font-weight: 400;
        letter-spacing: -0.01em;
    }

    .install-step-icon, .install-step-title {
        margin-bottom: 10px;
    }

    .install-step-icon img{
        width: 40px;
        height: 40px;
    }

    .sib-form {
        padding: 32px 0px 32px !important;
    }

    .home-start-form h2 {
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .004em;
        text-align: left;
        margin-bottom: 10px;
    }

    .form-column-contact {
        margin-top: 40px !important;
    }

    .home-start-form-wrapper .sib-form {
        padding: 0 0 0 !important;
    }

    .form-header p {
        text-align: justify;
        margin: 0 0 5px 0;
        font-size: 17px;
        line-height: 1.3333733333;
        font-weight: 400;
        letter-spacing: -0.01em;
    }

    .home-start-form {
        padding: 80px 20px;
    }

    #sib-form > div.home-form-footer > div:nth-child(6) > div > div:nth-child(2) {
        margin: 25px 0% 0 0% !important;
        text-align: left !important;
    }

    .home-form-footer {
        gap: 0 !important;
    }

    .home-form-column, .home-form-footer {
        gap: 0;
        padding: 0;
    }

    .entry__choice label.div-checkbox span:last-child {
        font-size: 11px !important;
    }

    #success-message, #error-message {
        padding: 0 20px !important;
        font-size: 12px !important;
    }

    .sib-form-message-panel__inner-text{
        text-align: left !important;
    }

    .home-logo-partner {
        padding: 80px 0px;
    }
    
    .home-logo-partner-container {
        gap: 20px;
    }

    .partner-logo-card {
        width: 110px;
        height: 60px;
    }

    .partner-logo-inner img.logo-bc {
        max-height: 48px; 
    }

    .home-faq {
        padding-top: 60px;
    }

    .home-faq-title {
        margin-bottom: 60px;
    }

    .home-faq-questions {
        margin-left: 20px;
        margin-right: 20px;
        padding: 30px 20px 30px 20px;
    }

    .home-faq-title h2 {
        font-size: 32px;
        line-height: 1.125;
        letter-spacing: .004em;
    }

    .faq-item h3 {
        font-size: 17px;
        line-height: 1.2105263158;
        font-weight: 600;
        letter-spacing: .012em;
    }

    .home-faq-title > p {
        font-size: 17px;
        line-height: 1.1904761905;
        font-weight: 400;
        letter-spacing: .011em;
        text-align: justify;
    }

    .faq-answer p, .faq-answer ul li{
        font-size: 17px;
        line-height: 1.33337;
        font-weight: 300;
        letter-spacing: -0.01em;
    }
}

