/* v20 — decorative large animated elements */
@keyframes glance-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-12px) scale(1.02); }
}
@keyframes glance-pulse-slow {
    0%, 100% { opacity: 0.15; }
    50% { opacity: 0.25; }
}

.glance-float { animation: glance-float 6s ease-in-out infinite; animation-delay: 1s; }
.glance-float-reverse { animation: glance-float-reverse 8s ease-in-out infinite; animation-delay: 2s; }
.glance-pulse-slow { animation: glance-pulse-slow 4s ease-in-out infinite; }

.glance-orb-one {
    top: -2rem;
    left: -2rem;
    width: 16rem;
    height: 16rem;
    filter: blur(3rem);
}

.glance-orb-three {
    bottom: -3rem;
    left: 25%;
    width: 14rem;
    height: 14rem;
}

.glance-spin-orb {
    top: 1rem;
    right: 1rem;
    width: 8rem;
    height: 8rem;
    animation-duration: 25s;
}

.glance-orb-four {
    bottom: 2rem;
    left: -1rem;
    width: 6rem;
    height: 6rem;
    transform: rotate(12deg);
}

.glance-cta-hover,
.glance-card-hover {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.glance-cta-hover:hover {
    transform: scale(1.05);
}

.glance-card-hover:hover {
    transform: translateY(-0.125rem);
    box-shadow: var(--bs-box-shadow-lg);
}

/* v30 checkerboard — icon container size (w-12 h-12 has no BS util) */
.perks-checker__icon {
    width: 3rem;
    height: 3rem;
    flex-shrink: 0;
}

/* team v23 — bento tiles */
.team-bento__item {
  position: relative;
  min-height: 15.625rem;
  height: 100%;
}

.team-bento__item--large {
  min-height: 21.875rem;
}

.team-bento__img {
  object-fit: cover;
  object-position: center;
}

.team-bento__shade {
  pointer-events: none;
}

.team-bento__blob {
  position: absolute;
  border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
}

.team-bento__blob--1 {
  width: 18rem;
  height: 18rem;
  top: -4rem;
  left: -4rem;
  background: var(--bs-primary);
  animation: team-bento-blob-morph 8s infinite;
}

.team-bento__blob--2 {
  width: 14rem;
  height: 14rem;
  bottom: -3rem;
  right: -3rem;
  background: var(--bs-primary);
  animation: team-bento-blob-morph 10s infinite 2s;
}

@keyframes team-bento-blob-morph {
  0%, 100% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; }
  50% { border-radius: 70% 30% 30% 70% / 70% 70% 30% 30%; }
}

@media (min-width: 992px) {
  .team-bento__item--large {
    min-height: 21.875rem;
  }
}

.staircase-cascade-quote__portrait {
    width: 5rem;
    height: 5rem;
}

.staircase-cascade-quote__step:nth-child(1) .staircase-cascade-quote__shadow {
    transform: translate(0, 0);
}

.staircase-cascade-quote__step:nth-child(2) .staircase-cascade-quote__shadow {
    transform: translate(16px, 16px);
}

.staircase-cascade-quote__step:nth-child(3) .staircase-cascade-quote__shadow {
    transform: translate(32px, 32px);
}

.staircase-cascade-quote__step:nth-child(4) .staircase-cascade-quote__shadow {
    transform: translate(48px, 48px);
}

.staircase-cascade-quote__step:nth-child(5) .staircase-cascade-quote__shadow {
    transform: translate(64px, 64px);
}

.staircase-cascade-quote__step:nth-child(6) .staircase-cascade-quote__shadow {
    transform: translate(80px, 80px);
}

.staircase-cascade-quote__step:nth-child(n + 7) .staircase-cascade-quote__shadow {
    transform: translate(96px, 96px);
}

