/* DrTerp custom styles - extracted from index.html */

/* Main logo (header + footer) */
.nav_logo {
  display: block;
  height: 2.25rem;
  width: auto !important;
  object-fit: cover;
}
.nav_main-icon-wrapper {
  flex-shrink: 0;
}
.text-urgent-left {
text-align: left !important;
}
.custom-hero-settings {
  align-items: flex-start !important;
}
.custom-cta-demo-wrapper {
  background-color: var(--neo-accent-highlight) !important;
}
body{
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }
      .w-slider-dot{
        background: teal;
      }
      .w-slider-dot.w-active{
        background: aqua;
      }
    
      .preloader {display: flex;}

/* --- */

.w-embed::before,
      .w-embed::after,
      .w-richtext::before,
      .w-richtext::after
      {
        display: none;
      }
    
      .site-scrollbar a[href="#"] {
        outline: 3px solid red;
        outline-offset: 5px;
      }
    
      .form-error-icon {
        visibility: hidden
      }
    
      .form-input.is-icon-input.input-error ~ .form-error-icon {
        visibility: visible
      }
    
      .form-input.is-icon-input.input-error ~ .field-error-text {
        display: block
      }
    
    
      
      body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
      }
    
      
      *[tabindex]:focus-visible,
      input[type="file"]:focus-visible {
        outline: 0.125rem solid #4d65ff;
        outline-offset: 0.125rem;
      }
    
      
      .w-richtext > :not(div):first-child, 
      .w-richtext > div:first-child > :first-child
      {
        margin-top: 0 !important;
      }
    
      
      .w-richtext>:last-child,
      .w-richtext ol li:last-child, 
      .w-richtext ul li:last-child
      {
        margin-bottom: 0 !important;
      }
    
      
      .pointer-events-off {
        pointer-events: none;
      }
    
      
      .pointer-events-on {
        pointer-events: auto;
      }
    
      
      .div-square::after {
        content: "";
        display: block;
        padding-bottom: 100%;
      }
    
      
      .container-medium,.container-small, .container-large {
        margin-right: auto !important;
        margin-left: auto !important;
      }
    
      
      
    
      
      .text-style-3lines {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
      }
    
      
      .text-style-5lines {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 5;
        -webkit-box-orient: vertical;
      }
    
      
      .text-style-2lines {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
      }
    
      
      .text-style-1line {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
      }
    
      
      .display-inlineflex {
        display: inline-flex;
      }
    
      
      .hide {
        display: none !important;
      }

      .home-v2_ab-test-2_image-1, .home-v2_ab-test-2_image-3 {
        height: 450px;
      }
    
@media screen and (max-width: 991px) {
  .hide,
  .hide-tablet {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .hide-mobile-landscape{
          display: none !important;
  }
}

/* Hero image full width on small screens - no gap on right */
@media screen and (max-width: 991px) {
  .section_home-hero .show-tablet {
    width: 100vw;
    max-width: 100vw;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .section_home-hero .show-tablet img.home-v2_ab-test-2_image-2 {
    width: 100%;
    max-width: 100%;
    display: block;
    object-fit: cover;
    height: auto;
    min-height: 200px;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 479px) {
  .hide-mobile{
          display: none !important;
      }
      }
    
      .margin-0 {
        margin: 0rem !important;
      }
    
      .padding-0 {
        padding: 0rem !important;
      }
    
      .spacing-clean {
        padding: 0rem !important;
        margin: 0rem !important;
      }
    
      .margin-top {
        margin-right: 0rem !important;
        margin-bottom: 0rem !important;
        margin-left: 0rem !important;
      }
    
      .padding-top {
        padding-right: 0rem !important;
        padding-bottom: 0rem !important;
        padding-left: 0rem !important;
      }
    
      .margin-right {
        margin-top: 0rem !important;
        margin-bottom: 0rem !important;
        margin-left: 0rem !important;
      }
    
      .padding-right {
        padding-top: 0rem !important;
        padding-bottom: 0rem !important;
        padding-left: 0rem !important;
      }
    
      .margin-bottom {
        margin-top: 0rem !important;
        margin-right: 0rem !important;
        margin-left: 0rem !important;
      }
    
      .padding-bottom {
        padding-top: 0rem !important;
        padding-right: 0rem !important;
        padding-left: 0rem !important;
      }
    
      .margin-left {
        margin-top: 0rem !important;
        margin-right: 0rem !important;
        margin-bottom: 0rem !important;
      }
    
      .padding-left {
        padding-top: 0rem !important;
        padding-right: 0rem !important;
        padding-bottom: 0rem !important;
      }
    
      .margin-horizontal {
        margin-top: 0rem !important;
        margin-bottom: 0rem !important;
      }
    
      .padding-horizontal {
        padding-top: 0rem !important;
        padding-bottom: 0rem !important;
      }
    
      .margin-vertical {
        margin-right: 0rem !important;
        margin-left: 0rem !important;
      }
    
      .padding-vertical {
        padding-right: 0rem !important;
        padding-left: 0rem !important;
      }
    
      .setting_detail-grid.is-blocked {
        pointer-events: none;
        opacity: 40%;
      }
    
      .setting_detail.is-link.is-blocked {
        pointer-events: none;
        opacity: 40%;
      }
    
    
      
      
    
      .nav_component.scrolling {
        border-bottom-color: #f2f4f7;
      }
    
      
      .truncate {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
      }
    
      .gradient-background {
        background: linear-gradient(99deg,#ff6635,#ffc393,#35a9b0);
        background-size: 180% 180%;
        animation: gradient-animation 10s ease infinite;
      }
    
      @keyframes gradient-animation {
        0% {
          background-position: 0% 50%;
        }
        50% {
          background-position: 100% 50%;
        }
        100% {
          background-position: 0% 50%;
        }
      }
    
      .filters-bar_radio-wrapper:hover .filters-bar_radio-text,
      .filters-bar_radio-wrapper.radio-active .filters-bar_radio-text {
        font-weight: 600; 
        color: var(--2nd-primary--500); 
        
    
      }
      .gradient-background .lp_checkbox {
        background: var(--text--100);
      }
    
      .blog_rich-text .button {
        text-decoration: none;
      }
    
      
      .benefits_dropdown-rich-text::before,
      .benefits_dropdown-rich-text::after,
      .benefits_dropdown-rich-text figcaption {
        display: none !important;
      }
    
      .benefits_dropdown-rich-text .w-richtext-figure-type-image {
        margin-left: 0 !important;
      }
    
      .background-color-off-white .arrow_wrapper {
        background : #E4E9D3;
      }
    
      
      .blog_rich-text [fs-richtext-component="cta"] h2,
      .blog_rich-text [fs-richtext-component="cta"] img,
      .blog_rich-text [fs-richtext-component="cta"] p,
      .blog_rich-text [fs-richtext-component="testimonial"] h2,
      .blog_rich-text [fs-richtext-component="testimonial"] img,
      .blog_rich-text [fs-richtext-component="testimonial"] p,
      .country-guide_rich-text  [fs-richtext-component="table"] img,
      .country-guide_rich-text  [fs-richtext-component="table"] p
      {
        margin-top: 0rem !important;
        margin-bottom: 0rem !important;
      }
    
      
      .blog_rich-text .w-richtext-align-center.w-richtext-figure-type-image,
      .blog_rich-text .w-richtext-figure-type-video
      {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: 0;
        margin-right: 0;
      }
    
      .blog_rich-text .w-richtext-figure-type-video,
      .country-guide_rich-text .w-richtext-figure-type-video {
        margin: 2rem 0;
        padding-bottom: 56.206088992974244%;
      }
    
      .blog_rich-text .w-embed.w-iframe iframe {
        margin: auto;
      }
    
      .w-dropdown-btn, .w-dropdown-toggle, .w-dropdown-link {
        color: inherit;
      }
    
      
      
      .hubspot-form[success="hide"] .submitted-message {
        display: none !important;
      }
    
      .hubspot-form[layout="1line"] .hs-form {
        flex-flow: row;
        column-gap: 1rem;
        row-gap: 0.5rem;
        text-align: left;
      }
      .hubspot-form[layout="1line"] .hs-form .hs-button {
        width: auto;
      }
    
      .hubspot-form[layout="1line"] .hs-form-field {
        flex-grow: 1;
        margin-bottom: 0;
      }
    
      .hubspot-form[layout="1line"] .hs-input,
      .hubspot-form[layout="1line"] .input {
        height: 50px;
        flex-grow: 1;
        width: 100%;
      }
    
      .hubspot-form[layout="1line"] .hs-error-msgs {
      }
    
      .hubspot-form[layout="1line"] .hs-submit {
        flex: none;
      }
    
      .hubspot-form[layout="1line"] label {
        display: none;  
      }
    
      .hubspot-form[layout="1line"] .hs-button {
        padding: .75rem 1.25rem;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.5;
        height: 50px;
      }
    
      
      .hubspot-form[button-size="small"] .hs-button {
        padding: .75rem 1.25rem;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.5;
        height: 50px;
      }
    
      .hubspot-form[button-width="max-content"] .hs-button {
        max-width: max-content;
      }
    
      .hubspot-form[button-align="center"] .hs-button {
        margin: auto;
      }
    
      .hubspot-form[button-color="orange"] .hs-button {
        background-color: var(--primary--600);
        border-color: var(--primary--600);
      }
    
      .hubspot-form[button-color="orange"] .hs-button:hover {
        color: white;
      }
    
    
      .hubspot-form[button-color="white"] .hs-button {
        border: 1px solid var(--text--400);
        color: var(--text--900);
        background-color: #fff;
      }
    
      .hubspot-form[button-color="white"] .hs-button:hover {
        border-style: solid;
        border-color: var(--base--off-white);
        background-color: var(--text--100);
        box-shadow: none;
      }
    
      .hubspot-form[button-color="text-400"] .hs-button {
        border-color: var(--text--400);
        background-color: var(--text--400);
        color: var(--text--900);
      }
    
      .hubspot-form[button-color="text-400"] .hs-button:hover {
        border-color: var(--text--200);
        background-color: var(--text--200);
        box-shadow: none;
      }
    
      .reviews__list.swiper-wrapper {
        -webkit-transition-timing-function: linear !important;
        transition-timing-function: linear !important;
      }
    
      .reviews-wrapper:active {
        cursor: grabbing;
      }
    
      .blog_title {
        color: var(--text--900) !important;
      }
    
      .ben-calc-check.open .calculator_checkbox-label {
        color: var(--2nd-primary--500);
      }
    
      .blog_item-link:hover .blog_title {
        color: var(--2nd-primary--500) !important;
      }
    
      [data-hero-form="decor"] {
        position: relative;
      }
    
      [data-hero-form="decor"]::after {
        content: '';
        position: absolute;
        height: 100%;
        width: 100vh;
        right: 0;
        top: 0;
        background-color: var(--text--800);
      }
    
      @media (max-width: 480px) {
      }
    
      @media screen and (max-width: 374px) {
        .features-card {
          width: auto;
        }
      }
    
      @media (max-width: 992px) {
        .hubspot-form .hs-input,
        .hubspot-form .input, 
        .hubspot-form[button-size="small"] .hs-button {
          height: auto !important;
        }
        .hubspot-form[layout="1line"] .hs-form {
          flex-flow: column;
        }
        .hubspot-form[layout="1line"] .hs-form .hs-button {
          width: 100%;
        }
      }

/* --- */

.hubspot-form .hs-input[type="checkbox"] {
        border-color: var(--text--400) !important;
        border-radius: 0.25rem !important;
        flex: none !important;
        width: 1rem !important;
        height: 1rem !important;
        margin-top: 0 !important;
        margin-left: -3px !important;
      }
      .hs-form .hs-form-field label,
      .label_hubspot
      {
        color: var(--text--900) !important;
        margin-bottom: .375rem !important;
        font-size: .875rem !important;
        font-weight: 500 !important;
        line-height: 1.25rem !important;
      }
      .hs-error-msg, .hs-error-msgs.inputs-list {
        margin-top: 0.125rem !important;
      }
      .hubspot-form[background="dark"] .hs-error-msg {
        color: var(--primary--600) !important;
      }
      
      .form-columns-1, .form-columns-2 {
        max-width: 100% !important;
      }
      .form-columns-1 .input {
        margin-right: 0 !important;
      }
      .form-columns-2 {
        display: flex !important;
        gap: 1rem !important;
      }
      .form-columns-2 .hs-form-field {
        float: none !important;
        width: 100% !important;
        margin-bottom: 1rem !important;
      }
      .form-columns-2 .hs-form-field .input {
        margin-right: 0 !important;
        margin-left: 0 !important;
      }
      @media (max-width: 992px) {
        .form-columns-2 {
          flex-direction: column !important;
          gap: 0 !important;
        }
      }
      .hs-input {
        width: 100% !important;
        border: 1px solid var(--neutral--700) !important;
        color: var(--text--900) !important;
        text-align: left !important;
        border-radius: .5rem !important;
        flex: 1 !important;
        min-height: 2.9rem !important;
        margin: 0 !important;
        padding: .62rem .85rem !important;
        font-size: 1rem !important;
        line-height: 1.5rem !important;
      }
      .hs-form-field .inputs-list {
        list-style-type: none !important;
        padding-left: 0px !important;
      }
      .hs-form-checkbox label,
      .hs-form-booleancheckbox label,
      .hs-form-radio label {
        display: flex !important;
        gap: 0.5rem !important;
        align-items: center !important;
      }
      .hs-form-checkbox .hs-input,
      .hs-form-booleancheckbox .hs-input,
      .hs-form-radio .hs-input {
        width: auto !important;
        flex: 0 !important;
        min-height: auto !important;
      }
      .hs-form .hs-form-field label.hs-error-msg {
        font-size: 0.75rem !important;
        color: var(--error--500) !important;
        font-weight: 600 !important;
        font-style: italic !important;
        display: block !important;
      }
      .hs_error_rollup {
        display: none !important;
      }
      
      .hs-fieldtype-intl-phone.hs-input select {
        width: 34% !important;
      }
      .hs-fieldtype-intl-phone.hs-input input {
        width: 64% !important;
      }
      @media (max-width: 600px) {
        .hs-fieldtype-intl-phone.hs-input {
          display: flex !important;
          flex-direction: column !important;
          gap: 8px !important;
        }
        .hs-fieldtype-intl-phone.hs-input select {
          width: 100% !important;
        }
        .hs-fieldtype-intl-phone.hs-input input {
          width: 100% !important;
        }
      }
    
      .hs-fieldtype-intl-phone.hs-input {
        padding: 0 !important;
        background: none;
        border: none !important;
        height: auto;
      }
    
      .hs-form-field {
        margin-bottom: 1rem !important;
      }
    
      .hs-form .hs-form-field legend {
        color: var(--text--900) !important;
        margin-bottom: .375rem !important;
        font-size: .75rem !important;
      }

/* --- */

[component-gap="8"]
      {
        gap: 0.5rem;
      }
      [component-gap="16"]
      {
        gap: 1rem;
      }
      [component-gap="24"]
      {
        gap: 1.5rem;
      }
      [component-gap="32"]
      {
        gap: 2rem;
      }
      [component-gap="40"]
      {
        gap: 2.5rem;
      }
    
      
      [component-max-width="64"]
      {
        max-width: 64rem;
        margin: auto;
      }
      [component-max-width="48"]
      {
        max-width: 48rem;
        margin: auto;
      }
      [component-max-width="32"]
      {
        max-width: 32rem;
        margin: auto;
      }
    
      
      [component-text-align="left"]
      {
        text-align: left;
      }
      [component-text-align="center"]
      {
        text-align: center;
      }

/* --- */

[data-wf-bgvideo-fallback-img] {
        display: none;
      }
      @media (prefers-reduced-motion: reduce) {
        [data-wf-bgvideo-fallback-img] {
          position: absolute;
          z-index: -100;
          display: inline-block;
          height: 100%;
          width: 100%;
          object-fit: cover;
        }
      }

/* --- */

.form-navigation {
        display: flex !important;
        gap: 10px !important;
      }
      .form-navigation button,
      .form-navigation .hs_submit.hs-submit {
        flex-grow: 1 !important;
      }
      .hubspot-lp_error-message {
        color: var(--error--500) !important;
        font-size: 0.875rem !important;
        font-weight: 500 !important;
        margin-top: 0.5rem !important;
        text-align: center !important;
      }
      
      .hs-where_are_your_employees_based__.hs-fieldtype-checkbox > label,
      .hs-where_are_your_employees_based__.hs-fieldtype-checkbox ul.inputs-list.multi-container {
        border: 1px solid var(--neutral--700) !important;
        color: var(--text--900) !important;
        text-align: left !important;
        border-radius: .5rem !important;
        flex: 1 !important;
        min-height: 2.9rem !important;
        margin: 0 !important;
        padding: .62rem .85rem !important;
        font-size: 1rem !important;
        line-height: 1.5rem !important;
        width: 100% !important;
      }
      .hs-where_are_your_employees_based__.hs-fieldtype-checkbox > label {
        padding-right: 1.5rem !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        font-weight: 400 !important;
        position: relative !important;
      }
      .hs-where_are_your_employees_based__.hs-fieldtype-checkbox > label::after {
        content: '' !important;
        position: absolute !important;
        right: 1rem !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 24px !important;
        height: 24px !important;
        background-image: url('assets/images/6540cf257cea53a471aad784-671665af4b33367b1ea156c8_keyboard_arrow_down_24dp_5F6368_FILL0_wght400_GRAD0_opsz24.svg') !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        pointer-events: none !important;
      }
      .hs-where_are_your_employees_based__.hs-fieldtype-checkbox {
        position: relative !important;
        width: 100% !important;
      }
      .hs-where_are_your_employees_based__.hs-fieldtype-checkbox ul.inputs-list.multi-container {
        position: absolute !important;
        background-color: white !important;
        z-index: 100 !important;
        overflow: auto !important;
        max-height: 300px !important;
        width: 100% !important;
        top: calc(100% + .25rem) !important;
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        padding: 1rem .85rem .25rem .85rem !important;
      }
      .hs-form-checkbox label {
        display: flex !important;
        position: relative !important;
        align-items: center !important;
        margin-bottom: 0 !important;
        padding-bottom: 0.5rem !important;
      }
      .hs-form-checkbox label span {
        
      }
      .hs-form-checkbox label input {
        width: 1rem !important;
        margin-left: 0px !important;
      }
      
      @media (max-width: 768px) {
        .next-step::after {
          content: attr(data-step) !important;
          margin-left: 0.5rem !important;
        }
        .form-navigation {
          flex-direction: column !important;
        }
        
        .form-navigation button,
        .form-navigation .hs_submit,
        .form-navigation .hs_submit .hs-button {
          width: 100% !important;
        }
        .hs-where_are_your_employees_based__.hs-fieldtype-checkbox ul.inputs-list.multi-container {
          max-height: 240px !important;
        }
      }


/* custom css */

.rounded-borders-top {
  border-radius: 10px 10px 0 0;
}

/* Reach out image block + overlay + modal */
.reach-out-image-block {
  position: relative;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 18px rgba(26, 19, 72, 0.15);
}
.reach-out-slideshow {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: #1a1348;
}
.reach-out-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}
.reach-out-slide-active {
  opacity: 1;
  z-index: 0;
}
.reach-out-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(26, 19, 72, 0.25) 0%, rgba(26, 19, 72, 0.5) 100%);
  pointer-events: none;
}
.reach-out-card {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: calc(100% - 2rem);
  max-width: 380px;
  padding: 1.5rem 1.25rem;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 10px;
  box-shadow: 0 0 24px rgba(26, 19, 72, 0.2);
  border: 1px solid rgba(63, 95, 172, 0.2);
  box-sizing: border-box;
}
.reach-out-card-title {
  margin: 0 0 0.5rem 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a1348;
}
.reach-out-card-desc {
  margin: 0 0 1rem 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #1a1348;
  opacity: 0.9;
}
.reach-out-card-cta {
  display: inline-block;
}

/* CTA form modal (Get in Touch / Reach out) */
.cta-form-modal {
  max-width: min(96vw, 640px);
  padding: 0;
  border: 1px solid rgba(63, 95, 172, 0.35);
  border-radius: 12px;
  box-shadow: 0 0 24px rgba(26, 19, 72, 0.2);
  box-sizing: border-box;
}
.cta-form-modal::backdrop {
  background: rgba(26, 19, 72, 0.5);
  backdrop-filter: blur(4px);
}
.cta-form-modal-inner {
  padding: 1.25rem 1.25rem 1.5rem;
  position: relative;
}
.cta-form-modal-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: #1a1348;
  opacity: 0.7;
}
.cta-form-modal-close:hover,
.cta-form-modal-close:focus-visible {
  opacity: 1;
}
.cta-form-modal-title {
  margin: 0 0 0.25rem 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a1348;
}
.cta-form-modal-desc {
  margin: 0 0 1rem 0;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: #1a1348;
  opacity: 0.9;
}
.cta-form-modal-frame-wrap {
  position: relative;
  width: 100%;
  min-height: 420px;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f7;
}
.cta-form-modal-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: none;
}

/* One-pager footer: logo + 2 link sections + copyright/social */
.footer-new {
  background-color: #002924 !important;
}
.footer-onepager .footer-onepager_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem 2rem;
}
.footer-onepager .footer-new_logo-wrapper {
  flex-shrink: 0;
}
.footer-onepager .footer-onepager_links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 10rem;
  flex: 1;
  justify-content: flex-start;
  min-width: 0;
}
.footer-onepager .footer-new_links-column {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.footer-onepager .footer-new_links-column .footer-new_header {
  margin-bottom: 0;
}
.footer-onepager .footer-new_social-copywright-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .footer-onepager .footer-onepager_inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-onepager .footer-onepager_links {
    flex-direction: column;
    width: 100%;
  }
  .footer-onepager .footer-new_social-copywright-wrapper {
    justify-content: flex-start;
  }
}

/* Benefits section – icons on left of each bento card (prominent, high contrast) */
.reba_bento-top-wrap--with-icon {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
.reba_bento-icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.reba_bento-icon svg {
  display: block;
}
/* Kaki: dark stone on solid light warm gray – contrast ≥ 4.5:1 */
.reba_bento-icon--kaki {
  box-shadow: none;
  color: #292524;
}
/* Blue: dark blue on solid light blue – contrast ≥ 4.5:1 */
.reba_bento-icon--blue {
  box-shadow: none;
  color: #1e3a8a;
}
/* Orange: dark orange on solid light orange – contrast ≥ 4.5:1 */
.reba_bento-icon--orange {
  box-shadow: none;
  color: #9a3412;
}
.reba_bento-top-content {
  min-width: 0;
}
.reba_bento-top-content h3 {
  margin-top: 0;
}
.reba_bento-top-content h3:first-child {
  margin-top: 0;
}

/* ===== You Pay a Fraction – theme-aligned (site primary purple/blue) ===== */
.fraction-section {
  position: relative;
  overflow: hidden;
}
.fraction-section_bg {
  position: absolute;
  inset: 0;
  background: #f5f5f7;
  pointer-events: none;
}
.fraction-section_inner {
  position: relative;
  z-index: 1;
}

/* Revamp: header */
.fraction-section--revamp .fraction-revamp_label {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #3f5fac;
  margin-bottom: 0.75rem;
}
.fraction-section--revamp .fraction-revamp_title {
  font-size: clamp(2rem, 4.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #1a1348;
  margin: 0 0 0.75rem;
}
.fraction-section--revamp .fraction-revamp_number {
  color: #3f5fac;
  display: inline-block;
}
.fraction-section--revamp .fraction-revamp_sub {
  font-size: 1.0625rem;
  font-weight: 500;
  color: #5c5c6a;
  line-height: 1.5;
  margin: 0;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

/* Revamp: main visual block */
.fraction-revamp_visual {
  max-width: 720px;
  margin: 0 auto;
  padding: 2.5rem 2rem;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(63, 95, 172, 0.2);
  box-shadow: 0 0 24px rgba(26, 19, 72, 0.12);
}
@media (max-width: 767px) {
  .fraction-revamp_visual {
    padding: 1.75rem 1.25rem;
  }
}

/* Big savings hero number */
.fraction-revamp_savings-hero {
  text-align: center;
  margin-bottom: 2.5rem;
}
.fraction-revamp_big-number {
  display: inline-block;
  font-size: clamp(4rem, 12vw, 7rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #1a1348;
  text-shadow: none;
}
.fraction-revamp_big-unit {
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 800;
  color: #3f5fac;
  margin-left: 2px;
}
.fraction-revamp_big-label {
  font-size: 1.125rem;
  font-weight: 600;
  color: #5c5c6a;
  margin: 0.5rem 0 0;
  letter-spacing: 0.02em;
}

/* Comparison bars – prominent card-style With / Without */
.fraction-revamp_bars {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.fraction-revamp_bar-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) minmax(120px, 1.4fr) 56px;
  align-items: center;
  gap: 1rem 1.25rem;
  padding: 1.25rem 1.5rem;
  border-radius: 16px;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.fraction-revamp_bar-row--without {
  background: rgba(220, 38, 38, 0.06);
  border: 1px solid rgba(220, 38, 38, 0.18);
  margin-bottom: 0.5rem;
}
.fraction-revamp_bar-row--with {
  background: rgba(63, 95, 172, 0.08);
  border: 1px solid rgba(63, 95, 172, 0.25);
  box-shadow: 0 4px 20px rgba(26, 19, 72, 0.08);
}
.fraction-revamp_bar-vs {
  text-align: center;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #5c5c6a;
  padding: 0.5rem 0;
  opacity: 0.9;
}
.fraction-revamp_bar-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: rgba(220, 38, 38, 0.12);
  color: #b91c1c;
}
.fraction-revamp_bar-icon--with {
  background: rgba(63, 95, 172, 0.18);
  color: #3f5fac;
}
.fraction-revamp_bar-label {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.fraction-revamp_bar-title {
  font-size: 1.0625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #1a1348;
}
.fraction-revamp_bar-row--without .fraction-revamp_bar-title {
  color: #991b1b;
}
.fraction-revamp_bar-row--with .fraction-revamp_bar-title {
  color: #1a1348;
}
.fraction-revamp_bar-cost {
  font-size: 0.8125rem;
  font-weight: 500;
  color: #5c5c6a;
  line-height: 1.35;
}
.fraction-revamp_bar-row--without .fraction-revamp_bar-cost {
  color: #b91c1c;
  opacity: 0.95;
}
.fraction-revamp_bar-row--with .fraction-revamp_bar-cost {
  color: #3f5fac;
  font-weight: 600;
}
.fraction-revamp_bar {
  height: 40px;
  border-radius: 12px;
  background: rgba(26, 19, 72, 0.08);
  overflow: hidden;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
}
.fraction-revamp_bar-row--without .fraction-revamp_bar {
  background: rgba(220, 38, 38, 0.1);
}
.fraction-revamp_bar-row--with .fraction-revamp_bar {
  background: rgba(63, 95, 172, 0.1);
}
.fraction-revamp_bar-fill {
  display: block;
  height: 100%;
  border-radius: 12px;
  transition: width 1s cubic-bezier(0.22, 1, 0.36, 1);
}
.fraction-revamp_bar--full .fraction-revamp_bar-fill {
  background: linear-gradient(90deg, #dc2626, #b91c1c);
  box-shadow: 0 2px 8px rgba(185, 28, 28, 0.35);
  width: 100%;
}
.fraction-revamp_bar--drterp .fraction-revamp_bar-fill {
  background: linear-gradient(90deg, #3f5fac, #1a1348);
  box-shadow: 0 2px 12px rgba(26, 19, 72, 0.25);
  width: 0;
}
.fraction-revamp_bar-fill--savings {
  width: 0;
}
.fraction-revamp_bar-pct {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #5c5c6a;
  text-align: right;
}
.fraction-revamp_bar-row--without .fraction-revamp_bar-pct {
  color: #b91c1c;
}
.fraction-revamp_bar-pct--low {
  color: #3f5fac;
}
@media (max-width: 700px) {
  .fraction-revamp_bar-row {
    grid-template-columns: 40px 1fr 48px;
    grid-template-rows: auto auto;
    gap: 0.5rem 0.75rem;
    padding: 1rem 1.25rem;
  }
  .fraction-revamp_bar-icon {
    grid-row: 1 / 3;
    align-self: center;
    width: 40px;
    height: 40px;
  }
  .fraction-revamp_bar-label {
    grid-column: 2;
    grid-row: 1;
  }
  .fraction-revamp_bar-pct {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }
  .fraction-revamp_bar {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 36px;
  }
}

/* Savings strip callout */
.fraction-revamp_savings-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
  padding: 1rem 1.25rem;
  border-radius: 12px;
  background: rgba(63, 95, 172, 0.1);
  border: 1px solid rgba(63, 95, 172, 0.2);
}
.fraction-revamp_savings-strip_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3f5fac;
  flex-shrink: 0;
}
.fraction-revamp_savings-strip_text {
  font-size: 1rem;
  font-weight: 600;
  color: #1a1348;
}
.fraction-revamp_savings-strip_text strong {
  color: #3f5fac;
}

/* CTA */
.fraction-revamp_cta {
  margin-top: 0.5rem;
}
.fraction-revamp_cta .fraction-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}
.fraction-revamp_cta .fraction-cta:hover {
  transform: translateY(-2px);
}

/* Get in Touch heading – icon above title, full white, modern */
.getintouch-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.875rem;
}
.getintouch-heading_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  color: #333;
  flex-shrink: 0;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.getintouch-heading_icon svg {
  stroke: #333;
  filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.08));
}
.getintouch-heading .heading-style-h1 {
  margin: 0;
}

/* Dataque marketing sections (fallbacks; CI tokens apply under body.neo-ds) */
.neo-trust-line {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #6b7280;
  margin-top: 0.75rem;
}
.neo-value-line {
  font-size: 1.0625rem;
  font-weight: 600;
  color: #0f172a;
  margin-top: 1rem;
}
.neo-flow {
  margin-top: 1.75rem;
  display: flex;
  justify-content: center;
}
.neo-flow-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  min-width: 7.5rem;
  color: #33537d;
}
.neo-flow-arrow {
  color: rgba(91, 125, 170, 0.7);
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 1;
}
.neo-flow-board {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0.625rem;
  padding: clamp(1rem, 2.3vw, 1.45rem) clamp(0.9rem, 2vw, 1.75rem);
  border-radius: 1.75rem;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.98) 0%, rgba(236, 244, 253, 0.94) 48%, rgba(245, 248, 252, 0.97) 100%);
  border: 1px solid rgba(188, 208, 234, 0.65);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 28px 60px rgba(97, 126, 168, 0.18);
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.neo-flow-icon {
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5d83b2;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.98) 0%, rgba(225, 237, 250, 0.92) 100%);
  border: 1px solid rgba(191, 214, 242, 0.7);
}
.neo-flow-label {
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 600;
  color: #2f4666;
}
@media screen and (max-width: 767px) {
  .neo-flow-board {
    border-radius: 1.2rem;
    gap: 0.45rem;
    padding: 0.9rem 0.75rem;
    justify-content: flex-start;
  }

  .neo-flow-step {
    min-width: 6rem;
  }

  .neo-flow-icon {
    width: 2.5rem;
    height: 2.5rem;
  }

  .neo-flow-label {
    font-size: 0.88rem;
  }

  .neo-flow-arrow {
    font-size: 1.25rem;
  }
}
.neo-kpi-list {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 1rem 0 0;
  text-align: left;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}
.neo-kpi-list li {
  margin-bottom: 0.5rem;
}
.neo-cap-list {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 1rem 0 0;
  text-align: left;
}
/* Standalone legal pages */
.legal-page {
  min-height: 100vh;
  padding: 6rem 1.5rem 4rem;
  max-width: 42rem;
  margin: 0 auto;
  color: #0f172a;
}
.legal-page:not(.legal-page--neo-template) h1 {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}
.legal-page:not(.legal-page--neo-template) h2 {
  font-size: 1.125rem;
  margin: 2rem 0 0.5rem;
}
.legal-page p,
.legal-page li {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0.5rem 0;
}
.legal-page ol,
.legal-page ul {
  padding-left: 1.25rem;
  margin: 0.75rem 0;
}
.legal-page .legal-back {
  display: inline-block;
  margin-bottom: 2rem;
  font-weight: 600;
  color: #3f5fac;
}
.legal-page .legal-back:hover {
  text-decoration: underline;
}

/* Legal pages (imprint, terms, privacy) — neo CI card layout */
.legal-page--neo-template {
  max-width: none;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  color: var(--neo-text);
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  );
}

.legal-neo-wrap {
  max-width: 38rem;
  margin: 0 auto;
  padding: clamp(2.25rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 2rem) clamp(3rem, 6vw, 5rem);
}

.legal-neo-header {
  margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

body.neo-ds .legal-page--neo-template .legal-neo-back.legal-back {
  margin-bottom: 1.75rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #3f5fac !important;
  letter-spacing: 0.01em;
}

body.neo-ds .legal-page--neo-template .legal-neo-back.legal-back:hover {
  color: #33537d !important;
  text-decoration: underline;
  opacity: 1;
}

.legal-neo-kicker {
  margin: 0 0 0.5rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--neo-text-muted);
}

.legal-neo-title {
  margin: 0 0 0.75rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--neo-text);
}

.legal-neo-lead {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--neo-text-muted);
  max-width: 34em;
}

.legal-neo-card {
  margin-bottom: 1rem;
  padding: 1.35rem 1.35rem 1.35rem 1.25rem;
  background: rgba(255, 255, 255, 0.88);
  border-radius: var(--neo-radius-sm);
  border: 1px solid rgba(191, 214, 242, 0.65);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 8px 28px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(8px);
  border-left: 4px solid #3f5fac;
}

.legal-neo-card-title {
  margin: 0 0 0.85rem;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--neo-text);
}

.legal-neo-card p,
.legal-neo-lines p {
  margin: 0.45rem 0;
  font-size: 0.96875rem;
  line-height: 1.65;
  color: var(--neo-text);
}

.legal-neo-card > p:first-of-type {
  margin-top: 0;
}

.legal-neo-lines p:first-child {
  margin-top: 0;
}

.legal-neo-lines p:last-child {
  margin-bottom: 0;
}

.legal-neo-card ul,
.legal-neo-card ol {
  margin: 0.35rem 0 0;
  padding-left: 1.25rem;
}

.legal-neo-card li {
  margin: 0.35rem 0;
  font-size: 0.96875rem;
  line-height: 1.65;
  color: var(--neo-text);
}

.legal-neo-card--prose .legal-neo-subtitle {
  margin: 1.35rem 0 0.4rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--neo-text-muted);
  letter-spacing: 0.02em;
}

.legal-neo-card--prose .legal-neo-subtitle:first-of-type {
  margin-top: 0.25rem;
}

.legal-neo-card a {
  color: #3f5fac;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.legal-neo-card a:hover {
  color: #33537d;
}

body.neo-ds .legal-page--neo-template {
  color: var(--neo-text);
}

/* ========== Dataque CI (design team) ==========
   Color: #FFFFFF bg · #F5F7FA surfaces · #DCE8F5 / #BFD6F2 accents · #0F172A / #6B7280 text
   Rule: ~80% white · ~15% light grey · ~5% blue
   Type: Inter · H1 600–700 · H2 minimal · body 400–500 · generous line-height
   Space: section ≥120px (desktop) · element gaps 24–40px
   UI: radius 12–16px · very soft shadow · optional subtle border · glass / low contrast */

body.neo-ds {
  --neo-bg: #ffffff;
  --neo-surface: #f5f7fa;
  --neo-accent-highlight: #dce8f5;
  --neo-accent-ui: #bfd6f2;
  --neo-accent-1: #dce8f5;
  --neo-accent-2: #bfd6f2;
  --neo-text: #0f172a;
  --neo-text-muted: #6b7280;
  --neo-radius: 16px;
  --neo-radius-sm: 12px;
  --neo-section-y: clamp(3rem, 8vw, 5.5rem);
  --neo-element-gap: clamp(1.25rem, 2vw, 2.5rem);
  --neo-gap-el: clamp(1.5rem, 2.2vw, 2.5rem);
  --neo-shadow-panel: 0 32px 100px rgba(15, 23, 42, 0.07), 0 0 0 1px rgba(255, 255, 255, 0.7) inset;
  --neo-shadow-card: 0 20px 56px rgba(15, 23, 42, 0.06);
  --neo-shadow-float: 0 12px 40px rgba(15, 23, 42, 0.05);
  --neo-border-subtle: 1px solid rgba(15, 23, 42, 0.06);
  --neo-border-hairline: 1px solid rgba(15, 23, 42, 0.08);
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-weight: 400;
  line-height: 1.65;
  color: var(--neo-text);
  background-color: var(--neo-bg);
  -webkit-font-smoothing: antialiased;
}

@media screen and (min-width: 992px) {
  body.neo-ds {
    --neo-section-y: max(7.5rem, 5vw);
  }
}

body.neo-ds .page-wrapper,
body.neo-ds .main-wrapper {
  background-color: var(--neo-bg);
}

body.neo-ds *[tabindex]:focus-visible,
body.neo-ds input[type="file"]:focus-visible {
  outline: 2px solid var(--neo-accent-2);
  outline-offset: 2px;
}

body.neo-ds .neo-trust-line {
  color: var(--neo-text-muted);
  font-weight: 500;
}

body.neo-ds .neo-value-line {
  color: var(--neo-text);
}

body.neo-ds .neo-flow {
  color: var(--neo-text);
}
body.neo-ds .neo-flow-step {
  color: #33537d;
}

body.neo-ds .neo-flow-arrow {
  color: rgba(91, 125, 170, 0.7);
}

body.neo-ds .section_benefits .padding-section-xlarge,
body.neo-ds #solution .padding-section-large,
body.neo-ds #platform .padding-section-xlarge,
body.neo-ds #flow .padding-section-large,
body.neo-ds #payment .padding-section-xlarge,
body.neo-ds #attribution .padding-section-xlarge,
body.neo-ds #final-cta .padding-section-xlarge {
  padding-top: var(--neo-section-y) !important;
  padding-bottom: var(--neo-section-y) !important;
}

body.neo-ds .section_new-testimonials .padding-section-xlarge {
  padding-top: var(--neo-section-y) !important;
  padding-bottom: var(--neo-section-y) !important;
}

body.neo-ds .fraction-section--revamp .padding-section-xlarge {
  padding-top: var(--neo-section-y) !important;
  padding-bottom: var(--neo-section-y) !important;
}

body.neo-ds #contact .padding-section-medium {
  padding-top: var(--neo-section-y) !important;
  padding-bottom: var(--neo-section-y) !important;
}

/* Hero: product visualization + atmosphere */
body.neo-ds .section_home-hero.neo-hero-ds {
  background: var(--neo-bg) !important;
}

.neo-hero-ds {
  position: relative;
  background: var(--neo-bg);
  overflow: clip;
  min-height: min(92vh, 920px);
}

.neo-hero-atmosphere {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.neo-hero-gradient {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 70% 18%, rgba(191, 214, 242, 0.28) 0%, transparent 55%),
    radial-gradient(ellipse 55% 45% at 15% 85%, rgba(220, 232, 245, 0.4) 0%, transparent 52%),
    linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);
}

.neo-hero-system-lines {
  position: absolute;
  bottom: 6%;
  left: 0;
  width: 100%;
  height: 48%;
  opacity: 0.85;
}

.neo-hero-grid-floor {
  position: absolute;
  bottom: 0;
  left: -10%;
  right: -10%;
  height: 38%;
  background-image:
    linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent 88%);
  -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent 88%);
  transform: perspective(520px) rotateX(62deg) scale(1.2);
  transform-origin: center bottom;
  opacity: 0.55;
}

.neo-hero-z {
  position: relative;
  z-index: 1;
}

.neo-hero-pad {
  padding-top: clamp(2rem, 4vw, 3.5rem) !important;
  padding-bottom: var(--neo-section-y) !important;
}

.neo-hero-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--neo-element-gap);
  align-items: center;
}

@media screen and (min-width: 992px) {
  .neo-hero-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: center;
  }
}

.neo-hero-h1 {
  color: var(--neo-text) !important;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.08;
}

.neo-hero-lead {
  color: var(--neo-text);
  line-height: 1.65;
}

.neo-hero-trust {
  color: var(--neo-text-muted) !important;
}

.neo-hero-visual {
  position: relative;
  width: 100%;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 992px) {
  .neo-hero-visual {
    margin-right: 0;
    max-width: none;
  }
}

.neo-hero-stage {
  position: relative;
  perspective: 1600px;
  transform-style: preserve-3d;
}

.neo-hero-glass-frame {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: clamp(8px, 1.2vw, 12px);
  border-radius: var(--neo-radius);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.75) 0%, rgba(245, 247, 250, 0.48) 100%);
  backdrop-filter: blur(20px) saturate(1.15);
  -webkit-backdrop-filter: blur(20px) saturate(1.15);
  box-shadow: var(--neo-shadow-panel);
  border: 1px solid rgba(255, 255, 255, 0.88);
  transform: rotateX(5deg) rotateY(-7deg) translateZ(0);
  transform-origin: center bottom;
  transition: transform 0.45s ease;
}

@media (hover: hover) {
  .neo-hero-stage:hover .neo-hero-glass-frame {
    transform: rotateX(4deg) rotateY(-5deg) translateY(-3px) translateZ(0);
  }
}

.neo-hero-product-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--neo-radius-sm);
  vertical-align: middle;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
}

.neo-hero-platform {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin-top: -0.35rem;
  padding-bottom: 0.25rem;
  position: relative;
  z-index: 1;
}

.neo-hero-slab {
  display: block;
  border-radius: var(--neo-radius-sm);
  background: linear-gradient(180deg, #ffffff 0%, var(--neo-surface) 100%);
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.05);
}

.neo-hero-slab--1 {
  width: 52%;
  height: 10px;
  margin-top: -4px;
}

.neo-hero-slab--2 {
  width: 66%;
  height: 12px;
  margin-top: -6px;
  opacity: 0.98;
}

.neo-hero-slab--3 {
  width: 80%;
  height: 14px;
  margin-top: 0;
  opacity: 0.95;
}

@media screen and (max-width: 991px) {
  .neo-hero-ds {
    min-height: 0;
  }

  .neo-hero-glass-frame {
    transform: none;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .neo-hero-grid-floor {
    opacity: 0.3;
  }
}

/* ----- CI: typography (main content; excludes dark form shell) ----- */
body.neo-ds .main-wrapper {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial,
    sans-serif;
}

body.neo-ds .main-wrapper h1,
body.neo-ds .main-wrapper .heading-style-h1-xlbigger,
body.neo-ds .main-wrapper .heading-style-h1 {
  color: var(--neo-text) !important;
  font-family: inherit;
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.1;
}

body.neo-ds .main-wrapper h2,
body.neo-ds .main-wrapper .heading-style-h2 {
  color: var(--neo-text) !important;
  font-family: inherit;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

body.neo-ds .main-wrapper h3 {
  color: var(--neo-text) !important;
  font-family: inherit;
  font-weight: 600;
  line-height: 1.3;
}

body.neo-ds .main-wrapper p,
body.neo-ds .main-wrapper .text-size-xmedium,
body.neo-ds .main-wrapper .text-size-medium,
body.neo-ds .main-wrapper .text-size-large {
  font-family: inherit;
  font-weight: 400;
  line-height: 1.65;
  color: var(--neo-text) !important;
}

body.neo-ds .main-wrapper .text-weight-medium {
  font-weight: 500;
}

body.neo-ds .main-wrapper .text-weight-semibold,
body.neo-ds .main-wrapper .text-weight-bold {
  font-weight: 600;
}

body.neo-ds .main-wrapper .text-color-600 {
  color: var(--neo-text-muted) !important;
}

/* ----- CI: nav (white-first, subtle border) ----- */
body.neo-ds .nav_component {
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(16px) saturate(1.1);
  -webkit-backdrop-filter: blur(16px) saturate(1.1);
  border-bottom: var(--neo-border-subtle);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

body.neo-ds .nav_link,
body.neo-ds .nav_extra-link {
  color: var(--neo-text) !important;
  font-weight: 500;
}

body.neo-ds .nav_extra-link:hover,
body.neo-ds .nav_link:hover {
  color: var(--neo-text-muted) !important;
}

body.neo-ds .nav_announcement-wrapper {
  background: var(--neo-accent-highlight) !important;
  border-bottom: var(--neo-border-subtle);
}

body.neo-ds .nav_announcement-link {
  color: var(--neo-text) !important;
  font-weight: 500;
}

/* ----- CI: footer (surface, not dark brand green) ----- */
body.neo-ds .footer-new {
  background-color: var(--neo-surface) !important;
  border-top: var(--neo-border-subtle);
}

body.neo-ds .footer-new .footer-new_header,
body.neo-ds .footer-new .footer-new_link,
body.neo-ds .footer-new .footer-new_copywright-text,
body.neo-ds .footer-new .footer_disclaimer-text,
body.neo-ds .footer-new .footer_impressum-text {
  color: var(--neo-text-muted) !important;
}

body.neo-ds .footer-new .footer-new_link:hover {
  color: var(--neo-text) !important;
}

body.neo-ds .footer_link-social {
  color: var(--neo-text-muted) !important;
}

/* ----- CI: cards / bento (radius, soft shadow, glass-adjacent) ----- */
body.neo-ds .reba_bento-item {
  border-radius: var(--neo-radius) !important;
  box-shadow: var(--neo-shadow-card) !important;
  border: var(--neo-border-subtle) !important;
  background: var(--neo-bg) !important;
}

body.neo-ds .reba_bento-top-content h3 {
  color: var(--neo-text) !important;
  font-weight: 600;
}

body.neo-ds .reba_bento-top-content .text-size-xmedium {
  color: var(--neo-text-muted) !important;
  font-weight: 400;
  line-height: 1.65;
}

body.neo-ds .reba_bento-icon {
  border-radius: var(--neo-radius-sm);
  box-shadow: none;
}

body.neo-ds .reba_bento-icon--kaki {
  background: var(--neo-accent-highlight) !important;
  color: var(--neo-text) !important;
}

body.neo-ds .reba_bento-icon--blue {
  background: rgba(191, 214, 242, 0.55) !important;
  color: var(--neo-text) !important;
}

body.neo-ds .reba_bento-icon--orange {
  background: linear-gradient(135deg, var(--neo-accent-highlight), var(--neo-accent-ui)) !important;
  color: var(--neo-text) !important;
}

/* ----- CI: FAQ / accordion ----- */
body.neo-ds .pricing_faq-toogle .text-size-large {
  color: var(--neo-text) !important;
  font-weight: 600 !important;
}

body.neo-ds .faq_rich-text,
body.neo-ds .faq_rich-text p {
  color: var(--neo-text-muted) !important;
  font-weight: 400;
  line-height: 1.65;
}

body.neo-ds .pricing_faq-wrapper {
  border-color: rgba(15, 23, 42, 0.08) !important;
}

/* ----- CI: testimonials ----- */
body.neo-ds .reviews-card {
  border-radius: var(--neo-radius) !important;
  box-shadow: var(--neo-shadow-card) !important;
  border: var(--neo-border-subtle) !important;
  background: var(--neo-bg) !important;
}

body.neo-ds .reviews-card .text-size-xmedium,
body.neo-ds .reviews-card .text-size-small {
  color: var(--neo-text-muted);
}

body.neo-ds .reviews-card .text-weight-semibold {
  color: var(--neo-text);
}

/* ----- CI: savings / fraction block ----- */
body.neo-ds .fraction-section_bg {
  background: var(--neo-surface) !important;
}

body.neo-ds .fraction-section--revamp .fraction-revamp_label {
  color: var(--neo-text-muted) !important;
  font-weight: 600;
}

body.neo-ds .fraction-section--revamp .fraction-revamp_title {
  color: var(--neo-text) !important;
  font-weight: 600 !important;
}

body.neo-ds .fraction-section--revamp .fraction-revamp_number,
body.neo-ds .fraction-revamp_big-unit {
  color: var(--neo-accent-ui) !important;
}

body.neo-ds .fraction-revamp_big-number {
  color: var(--neo-text) !important;
  font-weight: 700 !important;
}

body.neo-ds .fraction-section--revamp .fraction-revamp_sub,
body.neo-ds .fraction-revamp_big-label,
body.neo-ds .fraction-revamp_bar-cost,
body.neo-ds .fraction-revamp_bar-vs,
body.neo-ds .fraction-revamp_bar-pct {
  color: var(--neo-text-muted) !important;
}

body.neo-ds .fraction-revamp_visual {
  border-radius: var(--neo-radius) !important;
  background: var(--neo-bg) !important;
  border: var(--neo-border-subtle) !important;
  box-shadow: var(--neo-shadow-card) !important;
}

body.neo-ds .fraction-revamp_bar-row--without {
  background: rgba(107, 114, 128, 0.06) !important;
  border: var(--neo-border-hairline) !important;
}

body.neo-ds .fraction-revamp_bar-row--with {
  background: rgba(191, 214, 242, 0.22) !important;
  border: 1px solid rgba(191, 214, 242, 0.45) !important;
  box-shadow: var(--neo-shadow-float) !important;
}

body.neo-ds .fraction-revamp_bar-icon {
  background: rgba(107, 114, 128, 0.1) !important;
  color: var(--neo-text-muted) !important;
}

body.neo-ds .fraction-revamp_bar-icon--with {
  background: rgba(191, 214, 242, 0.45) !important;
  color: var(--neo-text) !important;
}

body.neo-ds .fraction-revamp_bar-title,
body.neo-ds .fraction-revamp_bar-row--with .fraction-revamp_bar-title {
  color: var(--neo-text) !important;
  font-weight: 600 !important;
}

body.neo-ds .fraction-revamp_bar-row--without .fraction-revamp_bar-title {
  color: var(--neo-text-muted) !important;
}

body.neo-ds .fraction-revamp_bar-row--without .fraction-revamp_bar-cost {
  color: var(--neo-text-muted) !important;
}

body.neo-ds .fraction-revamp_bar-row--with .fraction-revamp_bar-cost {
  color: var(--neo-text-muted) !important;
  font-weight: 500;
}

body.neo-ds .fraction-revamp_bar {
  background: rgba(15, 23, 42, 0.05) !important;
}

body.neo-ds .fraction-revamp_bar-row--without .fraction-revamp_bar {
  background: rgba(107, 114, 128, 0.08) !important;
}

body.neo-ds .fraction-revamp_bar-row--with .fraction-revamp_bar {
  background: rgba(191, 214, 242, 0.25) !important;
}

body.neo-ds .fraction-revamp_bar--full .fraction-revamp_bar-fill {
  background: linear-gradient(90deg, #94a3b8, #64748b) !important;
  box-shadow: none !important;
}

body.neo-ds .fraction-revamp_bar--drterp .fraction-revamp_bar-fill {
  background: linear-gradient(90deg, var(--neo-accent-ui), #94b4e8) !important;
  box-shadow: 0 2px 12px rgba(191, 214, 242, 0.5) !important;
}

body.neo-ds .fraction-revamp_bar-row--without .fraction-revamp_bar-pct {
  color: var(--neo-text-muted) !important;
}

body.neo-ds .fraction-revamp_bar-pct--low {
  color: var(--neo-text) !important;
}

body.neo-ds .fraction-revamp_savings-strip {
  background: rgba(220, 232, 245, 0.65) !important;
  border: 1px solid rgba(191, 214, 242, 0.5) !important;
  border-radius: var(--neo-radius-sm) !important;
}

body.neo-ds .fraction-revamp_savings-strip_icon,
body.neo-ds .fraction-revamp_savings-strip_text strong {
  color: var(--neo-text) !important;
}

body.neo-ds .fraction-revamp_savings-strip_text {
  color: var(--neo-text) !important;
}

/* ----- CI: primary / secondary buttons ----- */
body.neo-ds .button_content[data-wf--button-style--variant="primary"] {
  background-color: var(--neo-text) !important;
  background-image: none !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow: var(--neo-shadow-float) !important;
  border: var(--neo-border-hairline) !important;
}

body.neo-ds .button_content[data-wf--button-style--variant="primary"] .button_layout,
body.neo-ds .button_content[data-wf--button-style--variant="primary"] strong {
  color: var(--neo-bg) !important;
}

/* Secondary CTAs: frosted fill + depth (not flat outline-only) */
body.neo-ds .button_content[data-wf--button-style--variant="400"],
body.neo-ds .button_content.w-variant-ad10340f-727b-2308-d989-99c63e1ad867 {
  background-color: transparent !important;
  background-image: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  ) !important;
  border-radius: var(--neo-radius-sm) !important;
  border: 1px solid rgba(191, 214, 242, 0.88) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 10px 36px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: blur(12px) saturate(1.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, filter 0.22s ease;
}

body.neo-ds a.button_wrap:hover .button_content[data-wf--button-style--variant="400"],
body.neo-ds a.button_wrap:hover .button_content.w-variant-ad10340f-727b-2308-d989-99c63e1ad867,
body.neo-ds a.button_wrap:focus-visible .button_content[data-wf--button-style--variant="400"],
body.neo-ds a.button_wrap:focus-visible .button_content.w-variant-ad10340f-727b-2308-d989-99c63e1ad867 {
  transform: translateY(-2px);
  border-color: rgba(191, 214, 242, 1) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 16px 44px rgba(15, 23, 42, 0.11),
    0 0 0 1px rgba(191, 214, 242, 0.55) !important;
  filter: saturate(1.05);
}

body.neo-ds a.button_wrap:active .button_content[data-wf--button-style--variant="400"],
body.neo-ds a.button_wrap:active .button_content.w-variant-ad10340f-727b-2308-d989-99c63e1ad867 {
  transform: translateY(0);
  transition-duration: 0.08s;
}

body.neo-ds .button_content[data-wf--button-style--variant="400"] .button_layout,
body.neo-ds .button_content[data-wf--button-style--variant="400"] strong,
body.neo-ds .button_content.w-variant-ad10340f-727b-2308-d989-99c63e1ad867 .button_layout,
body.neo-ds .button_content.w-variant-ad10340f-727b-2308-d989-99c63e1ad867 strong {
  color: var(--neo-text) !important;
}

body.neo-ds .button.is-link {
  color: var(--neo-text) !important;
  font-weight: 500;
}

body.neo-ds .w-button.is-secondary {
  background-color: transparent !important;
  background-image: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  ) !important;
  color: var(--neo-text) !important;
  border: 1px solid rgba(191, 214, 242, 0.85) !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 6px 22px rgba(15, 23, 42, 0.07),
    0 0 0 1px rgba(15, 23, 42, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.neo-ds .w-button.is-secondary:hover {
  transform: translateY(-1px);
  border-color: rgba(191, 214, 242, 1) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 1) inset,
    0 10px 28px rgba(15, 23, 42, 0.1),
    0 0 0 1px rgba(191, 214, 242, 0.45) !important;
}

body.neo-ds .w-button.is-secondary:active {
  transform: translateY(0);
}

body.neo-ds .w-button.is-secondary:focus-visible {
  outline: 2px solid var(--neo-accent-2);
  outline-offset: 2px;
}

body.neo-ds a.button_wrap:focus-visible:has(.button_content[data-wf--button-style--variant="400"]) {
  outline: 2px solid var(--neo-accent-2);
  outline-offset: 3px;
  border-radius: calc(var(--neo-radius-sm) + 2px);
}

body.neo-ds .w-button.is-small:not(.is-secondary) {
  background-color: var(--neo-text) !important;
  color: var(--neo-bg) !important;
  border-radius: var(--neo-radius-sm) !important;
}

/* ----- CI: misc surfaces ----- */
/* Hero-adjacent capability marquee — full-bleed band, prominent tiles (not secondary-CTA style) */
body.neo-ds .neo-capability-section {
  background: transparent;
  overflow-x: hidden;
}

body.neo-ds .neo-capability-intro {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}

body.neo-ds .neo-capability-kicker {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--neo-text);
}

body.neo-ds .neo-capability-slider-hint {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--neo-text-muted);
  line-height: 1.45;
}

body.neo-ds .neo-capability-slider-bleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: clamp(1.25rem, 3vw, 2rem) 0 clamp(1.5rem, 3.5vw, 2.25rem);
  background: transparent;
  border: none;
  box-shadow: none;
}

body.neo-ds .neo-capability-slider-shell {
  position: relative;
  width: 100%;
  padding: 0.25rem clamp(1rem, 4vw, 2.5rem) 0;
  box-sizing: border-box;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 4%,
    #000 96%,
    transparent 100%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    #000 4%,
    #000 96%,
    transparent 100%
  );
}

body.neo-ds .neo-capability-splide {
  cursor: grab;
  touch-action: pan-x pinch-zoom;
  max-width: 100%;
  background: transparent;
}

body.neo-ds .neo-capability-splide .splide__track,
body.neo-ds .neo-capability-splide .splide__list {
  background: transparent;
}

body.neo-ds .neo-capability-splide:active {
  cursor: grabbing;
}

body.neo-ds .neo-capability-splide .splide__track {
  padding: 0.5rem 0 0.85rem;
}

body.neo-ds .neo-capability-splide__list {
  align-items: stretch;
}

body.neo-ds .neo-capability-slide {
  width: auto;
  height: auto;
}

/* Wide feature tiles: solid surface + icon badge (distinct from outline secondary buttons) */
body.neo-ds .neo-capability-slide-card {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.875rem, 1.5vw, 1.25rem);
  min-height: 4.25rem;
  padding: 1.125rem clamp(1.25rem, 2.5vw, 2.25rem);
  border-radius: var(--neo-radius);
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.09);
  box-shadow: none;
  font-size: clamp(1rem, 1.65vw, 1.1875rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--neo-text);
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.neo-ds .neo-capability-slide:hover .neo-capability-slide-card {
  transform: translateY(-2px);
  border-color: rgba(15, 23, 42, 0.12);
  box-shadow:
    0 28px 72px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(255, 255, 255, 1) inset;
}

body.neo-ds .neo-capability-slide-card .neo-capability-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 14px;
  background: var(--neo-accent-highlight);
  border: 1px solid rgba(191, 214, 242, 0.65);
  color: var(--neo-text);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
}

body.neo-ds .neo-capability-slide-card .neo-capability-icon svg {
  display: block;
  width: 26px;
  height: 26px;
}

body.neo-ds .neo-capability-slide-card .neo-capability-label {
  text-align: left;
}

body.neo-ds .line-divider.footer {
  border-color: rgba(15, 23, 42, 0.08) !important;
}

body.neo-ds .reach-out-image-block,
body.neo-ds .reach-out-card {
  border-radius: var(--neo-radius);
}

/* Element rhythm: stacks and button groups */
body.neo-ds .main-wrapper .button-group {
  gap: var(--neo-gap-el);
}

body.neo-ds .flex-ver-2rem {
  gap: var(--neo-gap-el) !important;
}

/* Hero split uses CI gap */
body.neo-ds .neo-hero-split {
  gap: var(--neo-gap-el);
}

@media screen and (min-width: 992px) {
  body.neo-ds .neo-hero-split {
    gap: var(--neo-gap-el);
  }
}

/* Contact form card + controls: Dataque CI (section shell stays Webflow default) */

body.neo-ds #contact .hs-form-main-wrapper {
  background: var(--neo-bg) !important;
  color: var(--neo-text) !important;
  border: 1px solid rgba(191, 214, 242, 0.55) !important;
  box-shadow: var(--neo-shadow-float) !important;
}
body.neo-ds #contact .hero-form-background {
  background-image: none !important;
}

body.neo-ds #contact .hero-form-background .heading-style-h2,
body.neo-ds #contact .hero-form-background h2.heading-style-h2 {
  color: var(--neo-text) !important;
}

body.neo-ds #contact .hero-form-background .text-size-tiny,
body.neo-ds #contact .hero-form-background .demo_legal-text {
  color: var(--neo-text-muted) !important;
}

body.neo-ds #contact .hero-form-background .link-underline {
  color: var(--neo-text) !important;
}

body.neo-ds #contact .timeline-item {
  background-color: rgba(191, 214, 242, 0.55) !important;
}

body.neo-ds #contact .timeline-item.is-active {
  background-color: var(--neo-text) !important;
}

body.neo-ds #contact .timeline-spacer {
  border-bottom-color: rgba(15, 23, 42, 0.2) !important;
  opacity: 1 !important;
}

body.neo-ds #contact .timeline-item .text-color-white.custom {
  color: var(--neo-text) !important;
}

body.neo-ds #contact .timeline-item.is-active .text-color-white.custom {
  color: var(--neo-bg) !important;
}

body.neo-ds #contact .hubspot-form_loader-container {
  color: var(--neo-text-muted) !important;
}

body.neo-ds #contact .hs-form .hs-form-field > label,
body.neo-ds #contact .hs-form .hs-form-field legend {
  color: var(--neo-text) !important;
}

body.neo-ds #contact .hs-form .hs-input,
body.neo-ds #contact .hs-form textarea.hs-input,
body.neo-ds #contact .hs-form select.hs-input {
  background-color: var(--neo-bg) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  color: var(--neo-text) !important;
  border-radius: var(--neo-radius-sm) !important;
}

body.neo-ds #contact .hs-form .hs-button {
  background: var(--neo-text) !important;
  color: var(--neo-bg) !important;
  border: none !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow: var(--neo-shadow-float) !important;
}

body.neo-ds #contact .hs-form .hs-button:hover {
  filter: brightness(1.05);
}

body.neo-ds #contact .form-navigation .button.next-step {
  background: var(--neo-text) !important;
  color: var(--neo-bg) !important;
  border: 1px solid var(--neo-text) !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow: var(--neo-shadow-float) !important;
}

body.neo-ds #contact .form-navigation .button.prev-step {
  background-image: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  ) !important;
  color: var(--neo-text) !important;
  border: 1px solid rgba(191, 214, 242, 0.88) !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 6px 22px rgba(15, 23, 42, 0.07) !important;
}

body.neo-ds #contact .form-navigation .button.prev-step:hover {
  border-color: rgba(191, 214, 242, 1) !important;
}

body.neo-ds #contact .hs-where_are_your_employees_based__.hs-fieldtype-checkbox > label,
body.neo-ds #contact .hs-where_are_your_employees_based__.hs-fieldtype-checkbox ul.inputs-list.multi-container {
  border-color: rgba(15, 23, 42, 0.12) !important;
}

/* Native strategy CTA (replaces HubSpot embed) */
body.neo-ds #contact .strategy-cta-form .hs-form-field {
  margin-bottom: 1rem;
}

body.neo-ds #contact .strategy-cta-form .hs-form-field label {
  display: block;
  margin-bottom: 0.35rem;
  text-align: left;
  font-size: 0.9375rem;
}

body.neo-ds #contact .strategy-req {
  color: var(--neo-text-muted);
}

body.neo-ds #contact .strategy-cta-status {
  color: var(--neo-text) !important;
  text-align: center;
  padding: 0.5rem 0 1rem;
}

.strategy-cta-honey {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Hero-adjacent capability strip: vertical rhythm (first block under hero only) */
body.neo-ds .z-index-2 > section:first-of-type .padding-section-small {
  padding-top: var(--neo-gap-el) !important;
  padding-bottom: 0 !important;
}

/* Modal: CI borders + type */
body.neo-ds .cta-form-modal {
  border: var(--neo-border-hairline) !important;
  border-radius: var(--neo-radius) !important;
  box-shadow: var(--neo-shadow-card) !important;
}

body.neo-ds .cta-form-modal::backdrop {
  background: rgba(15, 23, 42, 0.35) !important;
  backdrop-filter: blur(8px) !important;
}

body.neo-ds .cta-form-modal-title,
body.neo-ds .cta-form-modal-close {
  color: var(--neo-text) !important;
}

body.neo-ds .cta-form-modal-desc {
  color: var(--neo-text-muted) !important;
  opacity: 1 !important;
  line-height: 1.6 !important;
}

body.neo-ds .cta-form-modal-frame-wrap {
  background: var(--neo-surface) !important;
  border-radius: var(--neo-radius-sm) !important;
}

/* Modal: same strategy CTA as #contact (dialog is outside #contact) */
body.neo-ds .cta-form-modal-frame-wrap--native {
  max-height: min(72vh, 580px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.75rem 1rem 1rem;
}

body.neo-ds .cta-form-modal .strategy-cta-form .hs-form-field {
  margin-bottom: 1rem;
}

body.neo-ds .cta-form-modal .strategy-cta-form .hs-form-field label {
  display: block;
  margin-bottom: 0.35rem;
  text-align: left;
  font-size: 0.9375rem;
}

body.neo-ds .strategy-cta-modal-timeline {
  margin-bottom: 0.75rem;
}

body.neo-ds .strategy-cta-modal-timeline .timeline-item {
  background-color: rgba(191, 214, 242, 0.55) !important;
}

body.neo-ds .strategy-cta-modal-timeline .timeline-item.is-active {
  background-color: var(--neo-text) !important;
}

body.neo-ds .strategy-cta-modal-timeline .timeline-spacer {
  border-bottom-color: rgba(15, 23, 42, 0.2) !important;
  opacity: 1 !important;
}

body.neo-ds .strategy-cta-modal-timeline .timeline-item .text-color-white.custom {
  color: var(--neo-text) !important;
}

body.neo-ds .strategy-cta-modal-timeline .timeline-item.is-active .text-color-white.custom {
  color: var(--neo-bg) !important;
}

body.neo-ds .cta-form-modal .strategy-cta-form .hs-form-field > label,
body.neo-ds .cta-form-modal .strategy-cta-form .hs-form-field legend {
  color: var(--neo-text) !important;
}

body.neo-ds .cta-form-modal .strategy-cta-form .hs-input,
body.neo-ds .cta-form-modal .strategy-cta-form textarea.hs-input,
body.neo-ds .cta-form-modal .strategy-cta-form select.hs-input {
  background-color: var(--neo-bg) !important;
  border: 1px solid rgba(15, 23, 42, 0.12) !important;
  color: var(--neo-text) !important;
  border-radius: var(--neo-radius-sm) !important;
}

body.neo-ds .cta-form-modal .strategy-cta-form .hs-button {
  background: var(--neo-text) !important;
  color: var(--neo-bg) !important;
  border: none !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow: var(--neo-shadow-float) !important;
}

body.neo-ds .cta-form-modal .form-navigation .button.next-step {
  background: var(--neo-text) !important;
  color: var(--neo-bg) !important;
  border: 1px solid var(--neo-text) !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow: var(--neo-shadow-float) !important;
}

body.neo-ds .cta-form-modal .form-navigation .button.prev-step {
  background-image: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  ) !important;
  color: var(--neo-text) !important;
  border: 1px solid rgba(191, 214, 242, 0.88) !important;
  border-radius: var(--neo-radius-sm) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 6px 22px rgba(15, 23, 42, 0.07) !important;
}

body.neo-ds .cta-form-modal .strategy-cta-modal-loader {
  color: var(--neo-text-muted) !important;
  text-align: center;
  padding: 1rem;
}

body.neo-ds .cta-form-modal .strategy-cta-modal-legal {
  margin-top: 0.75rem;
}

body.neo-ds .cta-form-modal .strategy-cta-status {
  color: var(--neo-text) !important;
  text-align: center;
  padding: 0.5rem 0 0.75rem;
}

body.neo-ds .pricing_faq-image {
  border-radius: var(--neo-radius-sm) !important;
}

body.neo-ds .legal-page .legal-back {
  color: var(--neo-text) !important;
}

/* ========== Mockup layout (full-page reference: assets/images/mockup.jpg) ========== */

body.neo-ds #pillars .padding-section-xlarge {
  padding-top: var(--neo-section-y) !important;
  padding-bottom: var(--neo-section-y) !important;
}

.neo-mock-band {
  background-color: var(--neo-bg) !important;
}

.neo-mock-band--soft {
  background-color: var(--neo-surface) !important;
}

body.neo-ds .neo-mock-band--soft {
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  ) !important;
}

.neo-mock-heading-block {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto var(--neo-gap-el);
}

.neo-mock-h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.375rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
  color: var(--neo-text);
  margin: 0 0 1rem;
}

.neo-mock-h2--left {
  text-align: left;
  margin-bottom: 1.25rem;
}

.neo-mock-lead {
  color: var(--neo-text-muted);
  line-height: 1.65;
  margin: 0;
}

.neo-mock-3col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--neo-gap-el);
  max-width: 72rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .neo-mock-3col {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--neo-gap-el);
    align-items: stretch;
  }
}

.neo-mock-pillar-card {
  text-align: center;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  background: var(--neo-bg);
  border-radius: var(--neo-radius);
  border: var(--neo-border-subtle);
  box-shadow: var(--neo-shadow-card);
}

.neo-mock-pillar-icon {
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(145deg, rgba(220, 232, 245, 0.9), rgba(191, 214, 242, 0.65));
  color: var(--neo-text);
  box-shadow: var(--neo-shadow-float);
}

.neo-mock-pillar-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--neo-text);
  margin: 0 0 0.75rem;
  line-height: 1.3;
}

.neo-mock-pillar-desc {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.65;
  color: var(--neo-text-muted);
  margin: 0;
}

/* Alternating split sections (text + product UI) */
.neo-mock-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 5vw, 3.5rem);
  align-items: center;
  max-width: 72rem;
  margin: 0 auto;
}

@media screen and (min-width: 992px) {
  .neo-mock-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: clamp(2.5rem, 5vw, 4rem);
  }

  .neo-mock-split--reverse .neo-mock-split__visual {
    order: -1;
  }
}

.neo-mock-split__copy {
  max-width: 32rem;
}

.neo-mock-split__lead {
  margin: 0 0 0.75rem;
  line-height: 1.65;
}

.neo-mock-split__trust {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.neo-mock-split__strong {
  margin: 0 0 1rem;
  line-height: 1.6;
}

.neo-mock-split__link {
  margin-top: 1.25rem;
}

.neo-mock-pullquote {
  margin: 1.25rem 0 1rem;
  line-height: 1.3;
  color: var(--neo-text);
}

.neo-list-mock {
  list-style: none;
  margin: 1rem 0 1.25rem;
  padding: 0;
}

.neo-list-mock li {
  position: relative;
  padding-left: 1.35rem;
  margin-bottom: 0.65rem;
  line-height: 1.6;
  color: var(--neo-text-muted);
}

.neo-list-mock li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--neo-accent-ui);
  box-shadow: 0 0 0 3px rgba(191, 214, 242, 0.35);
}

.neo-mock-figure {
  margin: 0;
  padding: clamp(0.5rem, 1vw, 0.75rem);
  border-radius: var(--neo-radius);
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.9), rgba(245, 247, 250, 0.55));
  border: 1px solid rgba(255, 255, 255, 0.95);
  box-shadow: var(--neo-shadow-card);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.neo-mock-figure-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--neo-radius-sm);
  vertical-align: middle;
}

/* Problem section: full-bleed 2×2 viewport quadrants */
body.neo-ds .neo-mock-problem {
  overflow-x: hidden;
}

body.neo-ds .neo-problem-quad-bleed {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

body.neo-ds .neo-problem-quad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(48vh, auto));
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(130, 158, 200, 0.06);
  border-bottom: 1px solid rgba(130, 158, 200, 0.07);
}

body.neo-ds .neo-problem-quad-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48vh;
  padding: clamp(2rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
  box-sizing: border-box;
  border-right: 1px solid rgba(130, 158, 200, 0.055);
  border-bottom: 1px solid rgba(130, 158, 200, 0.055);
  margin: 0;
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  ) !important;
}

body.neo-ds .neo-problem-quad-cell:nth-child(2n) {
  border-right: none;
}

body.neo-ds .neo-problem-quad-cell:nth-child(n + 3) {
  border-bottom: none;
}

body.neo-ds .neo-problem-quad-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  max-width: 26rem;
  width: 100%;
}

body.neo-ds .neo-problem-quad-title {
  margin: 0;
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--neo-text);
}

body.neo-ds .neo-problem-quad-desc {
  margin: 0;
  color: var(--neo-text-muted);
  line-height: 1.65;
}

body.neo-ds .neo-problem-quad-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  flex-shrink: 0;
  color: var(--neo-text);
  background: linear-gradient(
    155deg,
    rgba(255, 255, 255, 0.97) 0%,
    var(--neo-accent-highlight) 42%,
    var(--neo-surface) 100%
  ) !important;
  border: 1px solid rgba(191, 214, 242, 0.55);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 2px 14px rgba(90, 118, 160, 0.045);
}

body.neo-ds .neo-problem-quad-icon svg {
  display: block;
}

@media screen and (max-width: 767px) {
  body.neo-ds .neo-problem-quad {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  body.neo-ds .neo-problem-quad-cell {
    min-height: min(70vh, 28rem);
    border-right: none;
    border-bottom: 1px solid rgba(130, 158, 200, 0.055);
  }

  body.neo-ds .neo-problem-quad-cell:nth-child(2n) {
    border-right: none;
  }

  body.neo-ds .neo-problem-quad-cell:last-child {
    border-bottom: none;
  }
}

/* Partners intro: centered like mockup */
body.neo-ds .section_new-testimonials .max-width-500 {
  max-width: 40rem !important;
  text-align: center;
}

body.neo-ds .section_new-testimonials .flex-align-center {
  align-items: center;
  text-align: center;
}

body.neo-ds .section_new-testimonials h2 {
  width: 100%;
}

/* Solution row: subtle surface behind FAQ column on large screens */
@media screen and (min-width: 992px) {
  body.neo-ds #solution .grid-2cols.is-hiw {
    gap: clamp(2rem, 4vw, 3rem);
  }
}

/* Final CTA: mockup-style centered band */
body.neo-ds #final-cta .text-align-center {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

body.neo-ds .neo-mock-problem .max-width-768 h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.375rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

body.neo-ds #solution h2:first-of-type {
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.025em;
}
address {
  font-style: initial !important;
}