/* Hero typography base: style.css. Dark section overrides below. */
#works-banner-section .aptly-hero-heading {
  color: white;
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

#works-banner-section .aptly-hero-description {
  color: rgba(255, 255, 255, 0.95);
  max-width: 900px;
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

#works-banner-section .aptly-hero-heading.is-visible,
#works-banner-section .aptly-hero-description.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.work-banner-highlight::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(90.19deg, #0080EF -21.71%, #00A5A8 63.61%);
    -webkit-mask: linear-gradient(#fff, #fff) content-box, linear-gradient(#000, #000);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 0;
}

#vanta-globe-bg canvas {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
    pointer-events: none;
}

.animate-on-scroll {
    opacity: 0;
    transform: translateY(25px);
}

@keyframes slide-in-up {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-on-scroll.is-visible {
    animation: slide-in-up 1s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
