.banner--page .banner-background > .pin-spacer:has(> #gradient-canvas) {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

.banner--page .banner-background > .pin-spacer:has(> #gradient-canvas) > #gradient-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
}

html[data-uptale-storyblok-loading] [data-uptale-storyblok-page] {
  min-height: 100vh;
  opacity: 0;
  pointer-events: none;
}

html[data-uptale-storyblok-runtime] [data-uptale-storyblok-page] {
  transition: opacity 0.35s ease;
}

html[data-uptale-storyblok-ready] [data-uptale-storyblok-page] {
  opacity: 1;
}

html[data-uptale-storyblok-loading] .main-footer {
  display: none;
}

html[data-uptale-storyblok-theme-pending] .banner-background {
  opacity: 0;
}

html[data-uptale-static-theme-pending] .banner-background {
  opacity: 0;
}

html[data-uptale-static-theme-pending] .banner--vrbanner .banner-background,
html[data-uptale-static-theme-pending] .banner--vrbanner .vrbanner-wrapper,
html[data-uptale-static-theme-pending] .banner--vrbanner .vrbanner-wrapper--mobile {
  opacity: 0 !important;
  visibility: hidden !important;
}

.banner .wave:not(.wave--active) {
  visibility: hidden;
}

/* Dark aurora palette for the animated banner gradient. */
.gradient-canvas {
  --gradient-color-1: #ff9a78;
  --gradient-color-2: #b46aa5;
  --gradient-color-3: #5b5199;
  --gradient-color-4: #a9e5de;
  background-color: #a9e5de;
}

.banner-background {
  background-color: #a9e5de;
  background-image:
    radial-gradient(78% 105% at 28% 0%, rgba(255, 154, 120, 0.78) 0%, rgba(212, 117, 142, 0.48) 36%, rgba(91, 81, 153, 0.1) 72%, rgba(169, 229, 222, 0) 100%),
    radial-gradient(90% 115% at 18% 44%, rgba(183, 100, 159, 0.62) 0%, rgba(101, 77, 145, 0.42) 46%, rgba(169, 229, 222, 0) 78%),
    radial-gradient(90% 105% at 4% 86%, rgba(73, 53, 92, 0.5) 0%, rgba(83, 69, 126, 0.26) 42%, rgba(169, 229, 222, 0) 72%),
    radial-gradient(92% 120% at 96% 62%, rgba(169, 229, 222, 0.95) 0%, rgba(121, 198, 201, 0.72) 46%, rgba(93, 91, 161, 0.3) 82%, rgba(169, 229, 222, 0) 100%),
    linear-gradient(135deg, #b06683 0%, #76528d 38%, #5b5199 62%, #a9e5de 100%);
}

/* Reusable CMS accent for HTML fields:
   <em class="home2-title-accent">highlighted text</em> */
:where(.home-title-accent, .home2-title-accent) {
  position: relative;
  display: inline-block;
  font-style: normal;
  color: inherit;
  text-decoration: none;
  z-index: 1;
}

:where(.home-title-accent, .home2-title-accent)::after {
  content: "";
  position: absolute;
  left: -0.02em;
  right: -0.02em;
  bottom: -0.03em;
  height: 0.11em;
  border-radius: 999px;
  background: linear-gradient(90deg, #42d7d5 0%, #706bea 45%, #ff9478 72%, #42d7d5 100%);
  background-size: 220% 100%;
  box-shadow: 0 0.08em 0.25em rgba(112, 107, 234, 0.24);
  transform: scaleX(0);
  transform-origin: left center;
  animation: home2-title-underline-roll 900ms cubic-bezier(0.23, 1, 0.32, 1) 450ms forwards;
  z-index: -1;
}

@keyframes home2-title-underline-roll {
  from {
    transform: scaleX(0);
    background-position: 100% 50%;
  }

  to {
    transform: scaleX(1);
    background-position: 0 50%;
  }
}

/* Match the live site: the shared Clients block sits on a dark background. */
.bim-block.Clients {
  background-color: #0c2222;
  background-image:
    radial-gradient(80% 140% at 10% 20%, rgba(66, 215, 213, 0.3) 0%, rgba(66, 215, 213, 0) 55%),
    radial-gradient(75% 120% at 85% 15%, rgba(242, 55, 25, 0.22) 0%, rgba(242, 55, 25, 0) 50%),
    linear-gradient(135deg, #123636 0%, #0c2222 45%, #163737 100%),
    url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYWxxdWVfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNTIgNTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUyIDUyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGU+LnN0MHtvcGFjaXR5Oi4xO2ZpbGw6I2YwZjZmN308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMCA1MGgzNHYySDEweiIvPjxwYXRoIHRyYW5zZm9ybT0icm90YXRlKC05MCAxIDI1KSIgY2xhc3M9InN0MCIgZD0iTS0xNiAyNGgzNHYyaC0zNHoiLz48L3N2Zz4=");
  background-position: center, center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  background-size: auto, auto, auto, 52px 52px;
}
