/* Preserved card styles — solution, partner marquee, service cards */

.solution-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
}

@media (max-width: 880px) {
  .solution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .solution-grid {
    grid-template-columns: 1fr;
  }
}

.solution-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--r);
  background: #fff;
}

.solution-card h3 {
  margin-bottom: 0.6rem;
  color: var(--heading);
}

.solution-visual {
  position: relative;
  min-height: 185px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(0, 87, 255, 0.1), rgba(0, 20, 137, 0.35)),
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.8), transparent 32%),
    linear-gradient(120deg, rgba(0, 87, 255, 0.85), rgba(0, 20, 137, 0.95));
}

.solution-image {
  display: block;
  width: 100%;
  height: 185px;
  object-fit: cover;
}

.solution-visual span {
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
}

.solution-visual span:nth-child(1) {
  top: 18%;
  left: 10%;
  width: 42%;
  height: 18%;
}

.solution-visual span:nth-child(2) {
  right: 11%;
  bottom: 22%;
  width: 28%;
  height: 28%;
}

.solution-visual span:nth-child(3) {
  bottom: 12%;
  left: 16%;
  width: 52%;
  height: 10%;
}

.solution-body {
  padding: 1.25rem 1.25rem 1.45rem;
}

#partners {
  overflow-x: hidden;
}

#partners.trust {
  overflow: hidden;
  padding: 44px 0;
  border-bottom: 1px solid var(--border);
  background: var(--bg-alt);
}

#partners.trust .ticker-wrap {
  overflow: hidden;
  position: relative;
  width: 100%;
  margin-bottom: 4px;
  background: var(--bg-alt);
}

#partners.trust .ticker-wrap:last-child {
  margin-bottom: 0;
}

#partners.trust .ticker-wrap::before,
#partners.trust .ticker-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  width: 80px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

#partners.trust .ticker-wrap::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg-alt) 0%, rgba(240, 246, 255, 0) 100%);
}

#partners.trust .ticker-wrap::after {
  right: 0;
  background: linear-gradient(270deg, var(--bg-alt) 0%, rgba(240, 246, 255, 0) 100%);
}

.brand-marquee-stack {
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.brand-marquee {
  position: relative;
  overflow: hidden;
}

.brand-marquee-inner {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
  animation: brand-marquee-scroll 36s linear infinite;
}

.brand-marquee--slide-rtl .brand-marquee-inner,
.brand-marquee--forward .brand-marquee-inner {
  animation-direction: normal;
}

.brand-marquee--slide-ltr .brand-marquee-inner,
.brand-marquee--reverse .brand-marquee-inner {
  animation-direction: reverse;
}

.brand-marquee-stack > .ticker-wrap:nth-child(1) .brand-marquee-inner {
  animation-duration: 42s;
}

.brand-marquee-stack > .ticker-wrap:nth-child(2) .brand-marquee-inner {
  animation-duration: 36s;
}

.brand-marquee--stagger .brand-marquee-inner {
  animation-duration: 47s;
  animation-delay: -19s;
}

.brand-track {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 0;
  min-width: max-content;
  padding-right: 0;
}

#partners.trust .logo-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  height: 96px;
  min-width: 0;
}

#partners.trust .logo-pill img.partner-logo,
#partners.trust .partner-logo {
  display: block;
  width: auto;
  max-width: 300px;
  max-height: 72px;
  height: auto;
  object-fit: contain;
  background: var(--bg-alt);
}

#partners:not(.trust) .brand-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

#partners:not(.trust) .partner-logo {
  display: block;
  width: auto;
  max-width: 300px;
  height: 90px;
  object-fit: contain;
}

.service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.service-card {
  position: relative;
  padding-top: 4.2rem;
}

@media (min-width: 641px) {
  .service-card h3 {
    margin-top: 0.75rem;
  }
}

.service-card h3 {
  margin-bottom: 0.6rem;
  color: var(--heading);
}

.service-badge {
  position: absolute;
  top: 1.4rem;
  left: 1.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  height: 3rem;
  border-radius: 6px;
  background: #f0f6ff;
  color: var(--blue);
  font-weight: 800;
}

.service-icon {
  width: 1.7rem;
  height: 1.7rem;
  object-fit: contain;
}

.feature-list.compact {
  display: grid;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

@keyframes brand-marquee-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 640px) {
  #partners.trust .ticker-wrap {
    margin-bottom: 2px;
  }

  #partners.trust .ticker-wrap::before,
  #partners.trust .ticker-wrap::after {
    width: 40px;
  }

  #partners.trust .partner-logo,
  #partners.trust .logo-pill img.partner-logo {
    max-width: 200px;
    max-height: 54px;
  }

  #partners.trust .logo-pill {
    padding: 0 12px;
    min-width: 0;
    height: 72px;
  }

  .brand-marquee-stack {
    gap: 1rem;
  }

  #partners:not(.trust) .partner-logo {
    max-width: 210px;
    height: 64px;
  }

  .service-card {
    padding: 4.8rem 1.2rem 1.2rem;
  }

  .service-badge {
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
