/* Solution: fulfillment & 3PL — motion + layout */

@keyframes cd-sol-fc-glow {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(52, 199, 89, 0);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(52, 199, 89, 0.08);
  }
}

@keyframes cd-sol-route-pulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scaleX(0.92);
  }
  50% {
    opacity: 1;
    transform: scaleX(1);
  }
}

@keyframes cd-sol-pipe-lift {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cd-sol-dot-ping {
  0% {
    transform: scale(1);
    opacity: 0.55;
  }
  70% {
    transform: scale(1.35);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.solution-fulfillment-lp .cd-sol-fc-visual {
  border-radius: var(--cd-apple-radius-lg, 18px);
  background: var(--cd-apple-bg-elevated, #fff);
  animation: cd-sol-fc-glow 4.5s ease-in-out infinite;
}

.solution-fulfillment-lp .cd-sol-ops-section {
  position: relative;
  background: linear-gradient(180deg, #eef2f6 0%, #f7f9fc 38%, #fafcfd 100%);
  overflow: hidden;
}

.solution-fulfillment-lp .cd-sol-ops-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 55% at 50% -20%, rgba(0, 113, 227, 0.07) 0%, transparent 55%);
  pointer-events: none;
}

.solution-fulfillment-lp .cd-sol-ops-section .container {
  position: relative;
  z-index: 1;
}

.solution-fulfillment-lp .cd-sol-ops-lead {
  max-width: 40rem;
  line-height: 1.55;
}

.solution-fulfillment-lp .cd-sol-ops-card {
  position: relative;
  border-radius: var(--cd-apple-radius-lg, 18px);
  background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow:
    0 0.4rem 1.4rem rgba(0, 40, 100, 0.06),
    0 0 0 1px rgba(255, 255, 255, 0.9) inset;
  overflow: hidden;
  transition:
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s ease,
    border-color 0.25s ease;
}

.solution-fulfillment-lp .cd-sol-ops-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  border-radius: 0 0 8px 8px;
  opacity: 0.95;
}

.solution-fulfillment-lp .cd-sol-ops-grid > [class*="col"]:nth-child(1) .cd-sol-ops-card::before {
  background: linear-gradient(90deg, #0071e3, #5aa7ff);
}

.solution-fulfillment-lp .cd-sol-ops-grid > [class*="col"]:nth-child(2) .cd-sol-ops-card::before {
  background: linear-gradient(90deg, #28a745, #6fdc9a);
}

.solution-fulfillment-lp .cd-sol-ops-grid > [class*="col"]:nth-child(3) .cd-sol-ops-card::before {
  background: linear-gradient(90deg, #e5a54b, #f5d06a);
}

.solution-fulfillment-lp .cd-sol-ops-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 1rem 2.5rem rgba(0, 40, 100, 0.11),
    0 0 0 1px rgba(255, 255, 255, 0.95) inset;
  border-color: rgba(52, 199, 89, 0.22);
}

.solution-fulfillment-lp .cd-sol-ops-card__body {
  padding: 1.5rem 1.4rem 1.55rem;
  padding-top: 1.35rem;
}

.solution-fulfillment-lp .cd-sol-ops-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  margin-bottom: 1rem;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.solution-fulfillment-lp .cd-sol-ops-card:hover .cd-sol-ops-icon {
  transform: scale(1.06);
}

.solution-fulfillment-lp .cd-sol-ops-icon--blue {
  background: linear-gradient(145deg, rgba(0, 113, 227, 0.16), rgba(0, 113, 227, 0.07));
  color: #0071e3;
}

.solution-fulfillment-lp .cd-sol-ops-icon--green {
  background: linear-gradient(145deg, rgba(52, 199, 89, 0.2), rgba(52, 199, 89, 0.08));
  color: #1d7a3d;
}

.solution-fulfillment-lp .cd-sol-ops-icon--amber {
  background: linear-gradient(145deg, rgba(229, 165, 75, 0.22), rgba(229, 165, 75, 0.09));
  color: #b8860b;
}

.solution-fulfillment-lp .cd-sol-ops-card__text {
  font-size: 0.9375rem;
  line-height: 1.62;
}

.solution-fulfillment-lp .cd-sol-ops-card__text .link-primary {
  font-weight: 500;
  text-underline-offset: 0.14em;
}

.solution-fulfillment-lp .cd-sol-kpi-tile {
  transition:
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.25s ease;
}

.solution-fulfillment-lp .cd-sol-kpi-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(52, 199, 89, 0.35) !important;
}

.solution-fulfillment-lp .cd-sol-route-line {
  display: flex;
  align-items: center;
  gap: 0;
  height: 8px;
}

.solution-fulfillment-lp .cd-sol-route-line__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #34c759;
  flex-shrink: 0;
  position: relative;
}

.solution-fulfillment-lp .cd-sol-route-line__dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #34c759;
  animation: cd-sol-dot-ping 2.4s ease-out infinite;
}

.solution-fulfillment-lp .cd-sol-route-line__dot--end::after {
  animation-delay: 0.6s;
}

.solution-fulfillment-lp .cd-sol-route-line__bar {
  flex: 1;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(52, 199, 89, 0.35), rgba(0, 113, 227, 0.35));
  transform-origin: left center;
  animation: cd-sol-route-pulse 2.8s ease-in-out infinite;
}

.solution-fulfillment-lp .cd-sol-pipe-card {
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.25s ease;
}

.solution-fulfillment-lp .cd-sol-pipe-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 36px rgba(0, 40, 100, 0.09) !important;
  border-color: rgba(52, 199, 89, 0.28) !important;
}

.solution-fulfillment-lp .cd-sol-pipe-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 12px;
  background: rgba(52, 199, 89, 0.12);
  color: #1d7a3d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.solution-fulfillment-lp .cd-sol-pipe-card:hover .cd-sol-pipe-icon {
  transform: scale(1.08);
}

.solution-fulfillment-lp .cd-sol-compare {
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease;
}

.solution-fulfillment-lp .cd-sol-compare:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(0, 40, 100, 0.08);
}

.solution-fulfillment-lp .cd-sol-compare--pain {
  background: linear-gradient(165deg, rgba(255, 248, 245, 0.95) 0%, #fff 55%);
  border-color: rgba(220, 53, 69, 0.12) !important;
}

.solution-fulfillment-lp .cd-sol-compare--gain {
  background: linear-gradient(165deg, rgba(236, 253, 241, 0.9) 0%, #fff 55%);
  border-color: rgba(52, 199, 89, 0.22) !important;
}

.solution-fulfillment-lp .cd-sol-bento-cell--fc {
  border-radius: var(--cd-apple-radius-lg, 18px);
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: rgba(255, 255, 255, 0.88);
  padding: 1.35rem 1.25rem;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.25s ease;
}

.solution-fulfillment-lp .cd-sol-bento-cell--fc:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(52, 199, 89, 0.1);
  border-color: rgba(52, 199, 89, 0.25);
}

.solution-fulfillment-lp .cd-sol-quote {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(52, 199, 89, 0.08), rgba(0, 113, 227, 0.06)) !important;
}

.solution-fulfillment-lp .cd-sol-quote::before {
  content: "";
  position: absolute;
  inset: -50%;
  background: radial-gradient(circle at 70% 30%, rgba(255, 255, 255, 0.5), transparent 55%);
  animation: cd-sol-fc-glow 12s ease-in-out infinite;
  pointer-events: none;
}

.solution-fulfillment-lp .cd-sol-glass-panel--fc {
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: saturate(160%) blur(16px);
  -webkit-backdrop-filter: saturate(160%) blur(16px);
  border: 1px solid rgba(52, 199, 89, 0.12) !important;
}

.solution-fulfillment-lp .cd-sol-glass-panel__shine--green {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(52, 199, 89, 0.12) 50%, transparent 65%);
  animation: cd-sol-shine-pass 7s ease-in-out infinite;
  pointer-events: none;
}

@keyframes cd-sol-shine-pass {
  0% {
    transform: translateX(-120%) skewX(-10deg);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  100% {
    transform: translateX(200%) skewX(-10deg);
    opacity: 0;
  }
}

.solution-fulfillment-lp .cd-sol-cta--fc {
  background: linear-gradient(145deg, #0d7a3a 0%, #34c759 42%, #1d7a3d 100%) !important;
  box-shadow:
    var(--cd-apple-shadow-md, 0 4px 24px rgba(0, 0, 0, 0.06)),
    0 0 0 1px rgba(255, 255, 255, 0.12) inset !important;
}

.solution-fulfillment-lp .cd-sol-future-spotlight {
  position: relative;
  background: linear-gradient(165deg, #f4f7fb 0%, #ffffff 42%, #f2faf5 100%);
  overflow: hidden;
}

.solution-fulfillment-lp .cd-sol-future-spotlight::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 72% 50% at 92% 18%, rgba(52, 199, 89, 0.09) 0%, transparent 58%);
  pointer-events: none;
}

.solution-fulfillment-lp .cd-sol-future-spotlight .container {
  position: relative;
  z-index: 1;
}

.solution-fulfillment-lp .cd-sol-future-video {
  border-radius: var(--cd-apple-radius-lg, 18px);
  box-shadow:
    0 1.15rem 2.85rem rgba(0, 40, 100, 0.11),
    0 0 0 1px rgba(0, 0, 0, 0.045);
  background: #0a0a0a;
}

.solution-fulfillment-lp .cd-sol-future-video .ratio {
  border-radius: inherit;
  overflow: hidden;
}

.solution-fulfillment-lp .cd-sol-future-video iframe {
  border: 0;
}

main.solution-fulfillment-lp section.cd-reveal--visible.cd-sol-future-spotlight .cd-sol-future-copy {
  animation: cd-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

main.solution-fulfillment-lp section.cd-reveal--visible.cd-sol-future-spotlight .cd-sol-future-video {
  animation: cd-fade-up 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.08s backwards;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > .col,
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > [class*="col-"] {
  animation: cd-fade-up 0.65s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > .col:nth-child(1),
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > [class*="col-"]:nth-child(1) {
  animation-delay: 0.04s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > .col:nth-child(2),
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > [class*="col-"]:nth-child(2) {
  animation-delay: 0.1s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > .col:nth-child(3),
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > [class*="col-"]:nth-child(3) {
  animation-delay: 0.16s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > .col:nth-child(4),
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > [class*="col-"]:nth-child(4) {
  animation-delay: 0.22s;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-rise-card {
  animation: cd-fade-up 0.7s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-pipeline .cd-sol-pipe-card {
  animation: cd-sol-pipe-lift 0.65s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-pipeline > [class*="col-"]:nth-child(1) .cd-sol-pipe-card {
  animation-delay: 0.04s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-pipeline > [class*="col-"]:nth-child(2) .cd-sol-pipe-card {
  animation-delay: 0.1s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-pipeline > [class*="col-"]:nth-child(3) .cd-sol-pipe-card {
  animation-delay: 0.16s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-pipeline > [class*="col-"]:nth-child(4) .cd-sol-pipe-card {
  animation-delay: 0.22s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-pipeline > [class*="col-"]:nth-child(5) .cd-sol-pipe-card {
  animation-delay: 0.28s;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .cd-sol-bento-cell--fc {
  animation: cd-fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .col-md-6:nth-child(1) .cd-sol-bento-cell--fc {
  animation-delay: 0.02s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .col-md-6:nth-child(2) .cd-sol-bento-cell--fc {
  animation-delay: 0.08s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .col-md-6:nth-child(3) .cd-sol-bento-cell--fc {
  animation-delay: 0.14s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .col-md-6:nth-child(4) .cd-sol-bento-cell--fc {
  animation-delay: 0.2s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .col-md-6:nth-child(5) .cd-sol-bento-cell--fc {
  animation-delay: 0.26s;
}
main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .col-md-6:nth-child(6) .cd-sol-bento-cell--fc {
  animation-delay: 0.32s;
}

main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-hero-copy {
  animation: cd-fade-up 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.05s backwards;
}

@media (prefers-reduced-motion: reduce) {
  .solution-fulfillment-lp .cd-sol-fc-visual,
  .solution-fulfillment-lp .cd-sol-route-line__bar,
  .solution-fulfillment-lp .cd-sol-route-line__dot::after,
  .solution-fulfillment-lp .cd-sol-quote::before,
  .solution-fulfillment-lp .cd-sol-glass-panel__shine--green {
    animation: none !important;
  }

  .solution-fulfillment-lp .cd-sol-ops-card,
  .solution-fulfillment-lp .cd-sol-ops-card:hover,
  .solution-fulfillment-lp .cd-sol-ops-card .cd-sol-ops-icon,
  .solution-fulfillment-lp .cd-sol-ops-card:hover .cd-sol-ops-icon {
    transition: none !important;
    transform: none !important;
  }

  main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > .col,
  main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-stagger > [class*="col-"],
  main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-rise-card,
  main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-pipeline .cd-sol-pipe-card,
  main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-bento .cd-sol-bento-cell--fc,
  main.solution-fulfillment-lp section.cd-reveal--visible .cd-sol-hero-copy {
    animation: none !important;
  }

  main.solution-fulfillment-lp section.cd-reveal--visible.cd-sol-future-spotlight .cd-sol-future-copy,
  main.solution-fulfillment-lp section.cd-reveal--visible.cd-sol-future-spotlight .cd-sol-future-video {
    animation: none !important;
  }
}
