/* Strategy Lab veil overrides. Separate file so Vite cannot serve a stale design-dna. */
html.rg-has-dark-veil body.rv-motion-custom .process-item.process-line-hide-top,
html.rg-has-dark-veil body.rv-motion-custom .process-item.process-line-hide-bottom {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none;
}
html.rg-has-dark-veil body.rv-motion-custom .process-line-ray {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}
html.rg-has-dark-veil body.rv-motion-custom .process-line-ray > .process-line {
  display: none !important;
}
html.rg-has-dark-veil body.rv-motion-custom .rg-process-line {
  position: absolute;
  top: 0;
  left: 50%;
  width: 4px;
  height: 0;
  transform: translateX(-50%);
  background-image: linear-gradient(
    180deg,
    var(--_color---hologram--0),
    var(--_color---hologram--25) 25%,
    var(--_color---hologram--50) 50%,
    var(--_color---hologram--75) 75%,
    var(--_color---hologram--100)
  );
}

/* Glass isolation + backdrop-filter flatten each card, so the
   hologram line (sibling, z-index 1) paints ON TOP of the dots
   and cuts them as it grows. Keep frost on the shine layer so
   .process-item-center can sit above the ray again. */
html.rg-has-dark-veil body.rv-motion-custom .process-item.rg-glass {
  isolation: auto;
  overflow: visible;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html.rg-has-dark-veil body.rv-motion-custom .process-item.rg-glass > .rg-glass__shine {
  -webkit-backdrop-filter: blur(5px) saturate(var(--glass-saturation, 1.15));
  backdrop-filter: blur(5px) saturate(var(--glass-saturation, 1.15));
}
html.rg-has-dark-veil body.rv-motion-custom .process-item,
html.rg-has-dark-veil body.rv-motion-custom .process-item-center {
  overflow: visible;
}
html.rg-has-dark-veil body.rv-motion-custom .process-item-center {
  z-index: 3;
}
/* Active used to widen the center column and reflow the rail
   the moment the glow reached a dot. */
html.rg-has-dark-veil body.rv-motion-custom .process-item.active {
  grid-template-columns: 1fr minmax(10rem, .35fr) 1fr;
}
html.rg-has-dark-veil body.rv-motion-custom .casestudy-card-brand-logo {
  filter: invert(1) brightness(1.15);
}
html.rg-has-dark-veil body.rv-motion-custom .casestudy-card a,
html.rg-has-dark-veil body.rv-motion-custom .casestudy-card a .button-inner,
html.rg-has-dark-veil body.rv-motion-custom .casestudy-card a .button-text,
html.rg-has-dark-veil body.rv-motion-custom .faqs-cta a.button,
html.rg-has-dark-veil body.rv-motion-custom .faqs-cta a.button .button-inner,
html.rg-has-dark-veil body.rv-motion-custom .faqs-cta a.button .button-text {
  color: #fff;
}
html.rg-has-dark-veil body.rv-motion-custom .casestudy-card .button-text:where(.w-variant-b2c15ccf-f3ee-7171-f43f-d5285af181db),
html.rg-has-dark-veil body.rv-motion-custom .faqs-cta .button-text:where(.w-variant-b2c15ccf-f3ee-7171-f43f-d5285af181db) {
  color: #fff;
  text-shadow: 0 -2em 0 #fff;
}
html.rg-has-dark-veil body.rv-motion-custom .casestudy-card .button-icon:where(.w-variant-b2c15ccf-f3ee-7171-f43f-d5285af181db),
html.rg-has-dark-veil body.rv-motion-custom .faqs-cta .button-icon:where(.w-variant-b2c15ccf-f3ee-7171-f43f-d5285af181db) {
  background-color: rgba(255, 255, 255, .16);
  color: #fff;
}
html.rg-has-dark-veil body.rv-motion-custom .intergration-circle,
html.rg-has-dark-veil body.rv-motion-custom .intergration-circle * {
  color: #fff;
}
html.rg-has-dark-veil body.rv-motion-custom .intergration-item-title {
  color: #1a1a1a;
}
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) {
  color: rgba(255, 255, 255, .68);
}
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-title,
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-price-wrap {
  color: #fff;
}
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-subtitle,
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-period,
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-content-list-title,
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-content-list-text,
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-content-list-item,
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-decimal {
  color: rgba(255, 255, 255, .68);
}
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-card-top {
  border-color: rgba(255, 255, 255, .12);
}
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .button-text {
  color: #fff;
  text-shadow: 0 -2em 0 #fff;
}
html.rg-has-dark-veil body.rv-motion-custom .pricing-table .pricing-card:not(._02) .pricing-tag-inner {
  color: #1a1a1a;
}
html.rg-has-dark-veil body.rv-motion-custom .faq-item-number {
  color: #0a0a0a;
  background-color: #fff;
  border-color: transparent;
}

html.rg-has-dark-veil body.rv-motion-custom .cta-form-card-heading,
html.rg-has-dark-veil body.rv-motion-custom .cta-form-card .form-success-message-title {
  color: #fff;
}
html.rg-has-dark-veil body.rv-motion-custom .cta-form-card .subheading-text.on-cta-card {
  color: rgba(255, 255, 255, .68);
}
body.rv-motion-custom .cta-form-card.rg-glass {
  background-image: none !important;
  box-shadow: var(--glass-rim);
}
/* Lite glass: frost + rim, no SVG displacement. Wins over a stale design-dna. */
html.rg-has-dark-veil .rg-glass--fallback {
  background-image: none !important;
  background-color: hsl(0 0% 100% / calc(0.07 + var(--glass-frost, 0.08) * 0.45)) !important;
  -webkit-backdrop-filter: blur(5px) saturate(var(--glass-saturation, 1.15));
  backdrop-filter: blur(5px) saturate(var(--glass-saturation, 1.15));
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: var(--glass-rim);
}
html.rg-has-dark-veil .rg-glass--fallback.rg-glass--chip,
html.rg-has-dark-veil .rg-glass--fallback.rg-glass--dock {
  -webkit-backdrop-filter: blur(8px) saturate(1.25);
  backdrop-filter: blur(8px) saturate(1.25);
}
html.rg-has-dark-veil .rg-glass--fallback.rg-glass--bright {
  background-color: rgba(255, 255, 255, .84) !important;
  color: #0a0a0a;
}

.capabilities-card-image-first .capabilities-card-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

/* Empty Webflow price tags render as 2px hologram specks. */
.pricing-tag:empty,
.pricing-tag:not(:has(.pricing-tag-inner)) {
  display: none !important;
}
/* Icon tiles stay: hologram on ._02, white center circle on the rest. */
.pricing-card-icon,
.pricing-card-icon._02 {
  display: flex !important;
}
.pricing-card-icon .div-block-19 {
  display: block !important;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #fff;
}
/* "Most Popular" badge: keep the hologram rim, drop the dot grid. */
.pricing-tag-inner {
  background-image: none !important;
  background-color: #fff !important;
}
.pricing-table.rg-glass {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14),
              0 8px 28px rgba(17, 17, 26, .12);
}
.pricing-table.rg-glass > .rg-glass__shine {
  display: none;
}

.pricing-table.sl-door {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: stretch;
  align-items: stretch;
}
.pricing-table.sl-door .pricing-card {
  width: 100%;
  min-width: 0;
}
.pricing-table.sl-door .sl-door-lead {
  grid-column: 1 / -1;
}
.pricing-table.sl-door .pricing-card-period {
  font-size: 0.95rem;
  letter-spacing: -0.02em;
}
.pricing-table.sl-door .pricing-card-icon:not(._02):empty::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #fff;
}
@media (min-width: 992px) {
  .pricing-table.sl-door .sl-door-lead {
    display: grid;
    grid-template-columns: minmax(14rem, 0.8fr) minmax(18rem, 1.2fr);
    column-gap: 2.5rem;
    align-items: stretch;
  }
  .pricing-table.sl-door .sl-door-lead .pricing-card-top {
    border-bottom: 0;
    padding-bottom: 0;
  }
  .pricing-table.sl-door .pricing-card:not(.sl-door-lead) {
    padding: 1.75rem;
  }
}
@media (max-width: 991px) {
  .pricing-table.sl-door {
    grid-template-columns: minmax(0, 1fr);
  }
}
