/* Solutions Widget */

/* CSS Variables */
#solutions {
  --color-red-500: oklch(.637 .237 25.331);
  --color-orange-500: oklch(.705 .213 47.604);
  --color-yellow-500: oklch(.795 .184 86.047);
  --color-green-500: oklch(.723 .219 149.579);
  --color-teal-500: oklch(.704 .14 182.503);
  --color-cyan-500: oklch(.715 .143 215.221);
  --color-blue-50: oklch(.97 .014 254.604);
  --color-blue-200: oklch(.882 .059 254.128);
  --color-blue-400: oklch(.707 .165 254.624);
  --color-blue-500: oklch(.623 .214 259.815);
  --color-blue-600: oklch(.546 .245 262.881);
  --color-blue-700: oklch(.488 .243 264.376);
  --color-blue-800: oklch(.424 .199 265.638);
  --color-blue-900: oklch(.379 .146 265.522);
  --color-purple-50: oklch(.977 .014 308.299);
  --color-purple-200: oklch(.902 .063 306.703);
  --color-purple-400: oklch(.714 .203 305.504);
  --color-purple-500: oklch(.627 .265 303.9);
  --color-purple-600: oklch(.558 .288 302.321);
  --color-purple-900: oklch(.381 .176 304.987);
  --color-gray-50: oklch(.985 .002 247.839);
  --color-gray-100: oklch(.967 .003 264.542);
  --color-gray-200: oklch(.928 .006 264.531);
  --color-gray-300: oklch(.872 .01 258.338);
  --color-gray-400: oklch(.707 .022 261.325);
  --color-gray-500: oklch(.551 .027 264.364);
  --color-gray-600: oklch(.446 .03 256.802);
  --color-gray-700: oklch(.373 .034 259.733);
  --color-gray-800: oklch(.278 .033 256.848);
  --color-gray-900: oklch(.21 .034 264.665);
  --color-black: #000;
  --color-white: #fff;
  --spacing: .25rem;
  --container-6xl: 72rem;
  --text-xs: .75rem;
  --text-xs--line-height: calc(1 / .75);
  --text-sm: .875rem;
  --text-sm--line-height: calc(1.25 / .875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-xl: 1.25rem;
  --text-xl--line-height: calc(1.75 / 1.25);
  --text-2xl: 1.5rem;
  --text-2xl--line-height: calc(2 / 1.5);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --leading-relaxed: 1.625;
  --radius-2xl: 1rem;
  --default-transition-duration: .15s;
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  --ring: oklch(.708 0 0);
  --destructive: #d4183d;
  --tw-inset-shadow: 0 0 #0000;
  --tw-inset-ring-shadow: 0 0 #0000;
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
}

#solutions a {
    color: inherit;
    text-decoration: inherit;
}
#solutions a:visited {
    color: inherit;
}
#solutions h3 a {
    color: var(--color-gray-900);
}
@media (hover: hover) {
    #solutions .group:hover h3 a {
        color: var(--color-blue-600);
    }
}

/* Utility classes */
#solutions.bg-gray-50 {
  background-color: transparent;
}

#solutions .bg-white {
  background-color: var(--color-white);
}

#solutions .bg-black {
  background-color: var(--color-black);
}

#solutions .bg-gray-700 {
  background-color: var(--color-gray-700);
}

#solutions .bg-gray-800 {
  background-color: var(--color-gray-800);
}

/* Text sizes */
#solutions .text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}

#solutions .text-4xl {
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
}

#solutions .text-5xl {
  font-size: var(--text-5xl);
  line-height: var(--tw-leading, var(--text-5xl--line-height));
}

#solutions .text-6xl {
  font-size: var(--text-6xl);
  line-height: var(--tw-leading, var(--text-6xl--line-height));
}

#solutions .text-xl {
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
}

#solutions .text-2xl {
  font-size: var(--text-2xl);
  line-height: var(--tw-leading, var(--text-2xl--line-height));
}

#solutions .text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}

#solutions .text-lg {
  font-size: var(--text-lg);
  line-height: var(--tw-leading, var(--text-lg--line-height));
}

#solutions .text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}

/* Text colors */
#solutions .text-gray-900 {
  color: var(--color-gray-900);
}

#solutions .text-gray-600 {
  color: var(--color-gray-600);
}

#solutions .text-gray-700 {
  color: var(--color-gray-700);
}

#solutions .text-blue-600 {
  color: var(--color-blue-600);
}

#solutions .text-white {
  color: var(--color-white);
}

/* Font weights */
#solutions .font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}

#solutions .font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}

/* Margins */
#solutions .mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}

#solutions .mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}

#solutions .mb-12 {
  margin-bottom: calc(var(--spacing) * 12);
}

#solutions .mb-16 {
  margin-bottom: calc(var(--spacing) * 16);
}

#solutions .mb-20 {
  margin-bottom: calc(var(--spacing) * 20);
}

#solutions .mb-3 {
  margin-bottom: calc(var(--spacing) * 3);
}

#solutions .mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}

#solutions .mb-32 {
  margin-bottom: calc(var(--spacing) * 32);
}

#solutions .mb-48 {
  margin-bottom: calc(var(--spacing) * 48);
}

#solutions .mb-96 {
  margin-bottom: calc(var(--spacing) * 96);
}

#solutions .py-8 {
  padding-block: calc(var(--spacing) * 8);
}

#solutions .py-16 {
  padding-block: calc(var(--spacing) * 16);
}

#solutions .mt-auto {
  margin-top: auto;
}

/* Padding */
#solutions .px-4 {
  padding-inline: calc(var(--spacing) * 4);
}

#solutions .px-6 {
  padding-inline: calc(var(--spacing) * 6);
}

#solutions .px-8 {
  padding-inline: calc(var(--spacing) * 8);
}

#solutions .px-10 {
  padding-inline: calc(var(--spacing) * 10);
}

#solutions .px-0 {
  padding-inline: calc(var(--spacing) * 0);
}

#solutions .px-5 {
  padding-inline: calc(var(--spacing) * 5);
}

#solutions .py-16 {
  padding-block: calc(var(--spacing) * 16);
}

#solutions .py-32 {
  padding-block: calc(var(--spacing) * 32);
}

#solutions .py-40 {
  padding-block: calc(var(--spacing) * 40);
}

#solutions .py-48 {
  padding-block: calc(var(--spacing) * 48);
}

#solutions .py-64 {
  padding-block: calc(var(--spacing) * 64);
}

#solutions .py-40 {
  padding-block: calc(var(--spacing) * 40);
}

#solutions .py-56 {
  padding-block: calc(var(--spacing) * 56);
}

#solutions .py-72 {
  padding-block: calc(var(--spacing) * 72);
}

#solutions .py-20 {
  padding-block: calc(var(--spacing) * 20);
}

#solutions .py-24 {
  padding-block: calc(var(--spacing) * 24);
}

#solutions .py-32 {
  padding-block: calc(var(--spacing) * 32);
}

#solutions .py-2 {
  padding-block: calc(var(--spacing) * 2);
}

#solutions .p-6 {
  padding: calc(var(--spacing) * 6);
}

#solutions .p-8 {
  padding: calc(var(--spacing) * 8);
}

#solutions .p-10 {
  padding: calc(var(--spacing) * 10);
}

#solutions .p-12 {
  padding: calc(var(--spacing) * 12);
}

/* Border radius */
#solutions .rounded-2xl {
  border-radius: var(--radius-2xl);
}

#solutions .bg-gradient-to-br {
  border-radius: inherit;
}

#solutions .rounded-full {
  border-radius: 3.40282e38px;
}

/* Shadows */
#solutions .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

#solutions .shadow-xl {
  --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

/* Transitions */
#solutions .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
}

#solutions .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
}

#solutions .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
}

#solutions .duration-300 {
  --tw-duration: .3s;
  transition-duration: .3s;
}

#solutions .duration-500 {
  --tw-duration: .5s;
  transition-duration: .5s;
}

/* Layout */
#solutions .relative {
  position: relative;
}

#solutions .absolute {
  position: absolute;
}

#solutions .inset-0 {
  inset: calc(var(--spacing) * 0);
}

#solutions .z-10 {
  z-index: 10;
}

#solutions .flex {
  display: flex;
}

#solutions .flex-col {
  flex-direction: column;
}

#solutions .h-full {
  height: 100%;
}

#solutions .min-h-80 {
  min-height: calc(var(--spacing) * 80);
}

#solutions .flex-grow {
  flex-grow: 1;
}

#solutions .items-center {
  align-items: center;
}

#solutions .justify-center {
  justify-content: center;
}

#solutions .text-center {
  text-align: center;
}

#solutions .gap-2 {
  gap: calc(var(--spacing) * 2);
}

#solutions .gap-6 {
  gap: calc(var(--spacing) * 6);
}

#solutions .gap-8 {
  gap: calc(var(--spacing) * 8);
}

#solutions .gap-10 {
  gap: calc(var(--spacing) * 10);
}

#solutions .grid {
  display: grid;
}

#solutions .grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

#solutions .max-w-6xl {
  max-width: var(--container-6xl);
}

#solutions .mx-auto {
  margin-inline: auto;
}

#solutions .overflow-hidden {
  overflow: hidden;
}

#solutions .overflow-visible {
  overflow: visible;
}

/* Gradients */
#solutions .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
}

#solutions .from-blue-50 {
    --tw-gradient-from: var(--color-blue-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}

#solutions .to-purple-50 {
    --tw-gradient-to: var(--color-purple-50);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}

#solutions .from-blue-400 {
    --tw-gradient-from: var(--color-blue-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}

#solutions .to-purple-400 {
    --tw-gradient-to: var(--color-purple-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}

/* Opacity */
#solutions .opacity-0 {
  opacity: 0;
}

#solutions .opacity-100 {
  opacity: 1;
}

#solutions .opacity-20 {
  opacity: .2;
}

/* Text and sizing */
#solutions .leading-relaxed {
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}

#solutions .whitespace-nowrap {
  white-space: nowrap;
}

#solutions .h-9 {
  height: calc(var(--spacing) * 9);
}

#solutions .w-full {
  width: 100%;
}

#solutions .w-auto {
  width: auto;
}

#solutions .-top-2 {
  top: calc(var(--spacing) * -2);
}

#solutions .-right-2 {
  right: calc(var(--spacing) * -2);
}

#solutions .w-6 {
  width: calc(var(--spacing) * 6);
}

#solutions .h-6 {
  height: calc(var(--spacing) * 6);
}

#solutions .w-8 {
  width: calc(var(--spacing) * 8);
}

#solutions .h-8 {
  height: calc(var(--spacing) * 8);
}

/* Decorative corner element */
#solutions .-top-2 {
  top: calc(var(--spacing) * -2);
}

#solutions .-right-2 {
  right: calc(var(--spacing) * -2);
}

/* Circle decorative element */
#solutions .absolute.-top-2.-right-2 {
  position: absolute;
  top: calc(var(--spacing) * -2);
  right: calc(var(--spacing) * -2);
  width: calc(var(--spacing) * 6);
  height: calc(var(--spacing) * 6);
  border-radius: 50%;
  background: linear-gradient(to bottom right, var(--color-blue-400), var(--color-purple-400));
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 10;
}

@media (width >= 40rem) {
  #solutions .absolute.-top-2.-right-2 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
}

/* Button specific styles */
#solutions .inline-flex {
  display: inline-flex;
}

/* Button overlay inherits border radius */
#solutions button .absolute.inset-0,
#solutions a .absolute.inset-0 {
  border-radius: inherit;
}

/* Transform scale and translate for cards */
#solutions .bg-white.group,
#solutions .group.bg-white,
#solutions.animate-on-scroll.visible .bg-white.group,
#solutions.animate-on-scroll.visible .group.bg-white {
  transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: scale(1) translateY(0px) !important;
  transform-origin: center !important;
}

#solutions .bg-white.group:hover,
#solutions .group.bg-white:hover,
#solutions.animate-on-scroll.visible .bg-white.group:hover,
#solutions.animate-on-scroll.visible .group.bg-white:hover {
  transform: scale(1.05) translateY(-12px) !important;
  transition: transform 0.3s ease, transform 0.3s ease 0.3s !important;
}

#solutions .outline-none {
  --tw-outline-style: none;
  outline-style: none;
}

#solutions .disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

#solutions .disabled\:opacity-50:disabled {
  opacity: .5;
}

#solutions .has-\[\>svg\]\:px-3:has( > svg) {
  padding-inline: calc(var(--spacing) * 3);
}

#solutions .shrink-0 {
  flex-shrink: 0;
}

#solutions .focus-visible\:border-ring:focus-visible {
  border-color: var(--ring);
}

#solutions .focus-visible\:ring-\[3px\]:focus-visible {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}

#solutions .focus-visible\:ring-ring\/50:focus-visible {
  --tw-ring-color: var(--ring);
}

#solutions .aria-invalid\:border-destructive[aria-invalid="true"] {
  border-color: var(--destructive);
}

#solutions .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid="true"] {
  --tw-ring-color: var(--destructive);
}

#solutions .\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}

#solutions .\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}

#solutions .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*="size-"]) {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
}

/* Responsive breakpoints */
@media (width >= 40rem) {
  #solutions .sm\:py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  #solutions .sm\:py-40 {
    padding-block: calc(var(--spacing) * 40);
  }

  #solutions .sm\:py-48 {
    padding-block: calc(var(--spacing) * 48);
  }
  
  #solutions .sm\:px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  #solutions .sm\:p-8 {
    padding: calc(var(--spacing) * 8);
  }

  #solutions .sm\:p-10 {
    padding: calc(var(--spacing) * 10);
  }
  
  #solutions .sm\:mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  
  #solutions .sm\:mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  
  #solutions .sm\:px-0 {
    padding-inline: calc(var(--spacing) * 0);
  }
  
  #solutions .sm\:text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  
  #solutions .sm\:text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  
  #solutions .sm\:text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  
  #solutions .sm\:mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  
  #solutions .sm\:text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  
  #solutions .sm\:p-8 {
    padding: calc(var(--spacing) * 8);
  }
  
  #solutions .sm\:gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  
  #solutions .sm\:gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  
  #solutions .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  
  #solutions .sm\:w-8 {
    width: calc(var(--spacing) * 8);
  }
  
  #solutions .sm\:h-8 {
    height: calc(var(--spacing) * 8);
  }
  
  #solutions .sm\:w-auto {
    width: auto;
  }
  
  #solutions .sm\:px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
}

@media (width >= 48rem) {
  #solutions .md\:py-24 {
    padding-block: calc(var(--spacing) * 24);
  }

  #solutions .md\:py-48 {
    padding-block: calc(var(--spacing) * 48);
  }

  #solutions .md\:py-56 {
    padding-block: calc(var(--spacing) * 56);
  }
  
  #solutions .md\:px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  
  #solutions .md\:mb-20 {
    margin-bottom: calc(var(--spacing) * 20);
  }
  
  #solutions .md\:text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  
  #solutions .md\:text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  
  #solutions .md\:mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  
  #solutions .md\:text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
}

@media (width >= 64rem) {
  #solutions .lg\:py-32 {
    padding-block: calc(var(--spacing) * 32);
  }

  #solutions .lg\:py-64 {
    padding-block: calc(var(--spacing) * 64);
  }

  #solutions .lg\:py-72 {
    padding-block: calc(var(--spacing) * 72);
  }
  
  #solutions .lg\:px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }

  #solutions .lg\:p-10 {
    padding: calc(var(--spacing) * 10);
  }

  #solutions .lg\:p-12 {
    padding: calc(var(--spacing) * 12);
  }
  
  #solutions .lg\:text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }
  
  #solutions .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  
  #solutions .lg\:gap-10 {
    gap: calc(var(--spacing) * 10);
  }
}

/* Hover effects */
@media (hover: hover) {
  #solutions .group-hover\:text-blue-600:is(:where(.group):hover *) {
    color: var(--color-blue-600);
  }
  
  #solutions .group-hover\:text-gray-700:is(:where(.group):hover *) {
    color: var(--color-gray-700);
  }
  
  #solutions .group-hover\:opacity-100:is(:where(.group):hover *) {
    opacity: 1;
  }
  
          #solutions .group-hover\:opacity-20:is(:where(.group):hover *) {
            opacity: .2;
          }

          /* Specific hover for decorative corner circle */
          #solutions .group:hover .absolute.-top-2.-right-2 {
            opacity: 0.2;
          }
  
  #solutions .hover\:bg-gray-800:hover {
    background-color: var(--color-gray-800);
  }
  
  #solutions .hover\:shadow-xl:hover {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
}

/* Animation States */
#solutions.animate-on-scroll .text-center { opacity: 0; transform: none; }
#solutions.animate-on-scroll h2 { opacity: 0; transform: none; }
#solutions.animate-on-scroll p { opacity: 0; transform: none; }
#solutions.animate-on-scroll .grid { opacity: 0; }
#solutions.animate-on-scroll .bg-white:nth-child(1) { opacity: 0; transform: none; }
#solutions.animate-on-scroll .bg-white:nth-child(2) { opacity: 0; transform: none; }
#solutions.animate-on-scroll .bg-white:nth-child(3) { opacity: 0; transform: none; }
#solutions.animate-on-scroll .bg-white:nth-child(4) { opacity: 0; transform: none; }

#solutions.animate-on-scroll.visible .text-center { opacity: 1; transform: none; transition: opacity 1.2s ease 0.3s; }
#solutions.animate-on-scroll.visible h2 { opacity: 1; transform: none; transition: opacity 1.2s ease 0.5s; }
#solutions.animate-on-scroll.visible p { opacity: 1; transform: none; transition: opacity 1.2s ease 0.7s; }
#solutions.animate-on-scroll.visible .grid { opacity: 1; transition: opacity 1.2s ease 0.9s; }
#solutions.animate-on-scroll.visible .bg-white:nth-child(1) { opacity: 1; transform: none; transition: opacity 1.2s ease 1.1s; }
#solutions.animate-on-scroll.visible .bg-white:nth-child(2) { opacity: 1; transform: none; transition: opacity 1.2s ease 1.3s; }
#solutions.animate-on-scroll.visible .bg-white:nth-child(3) { opacity: 1; transform: none; transition: opacity 1.2s ease 1.5s; }
#solutions.animate-on-scroll.visible .bg-white:nth-child(4) { opacity: 1; transform: none; transition: opacity 1.2s ease 1.7s; }


#solutions .bg-black,
#solutions a.bg-black {
    color: var(--color-white) !important;
}

#solutions .text-white,
#solutions a.text-white {
    color: var(--color-white) !important;
}

/* Ensure button text stays white on hover */
#solutions a:hover .text-white,
#solutions a:focus .text-white,
#solutions a:active .text-white {
    color: var(--color-white) !important;
}