.outline-orb-top {
    top: 0;
    right: 0;
    width: 18rem;
    height: 18rem;
    filter: blur(3rem);
}

.outline-orb-bottom {
    bottom: 0;
    left: 0;
    width: 18rem;
    height: 18rem;
    filter: blur(3rem);
}

.outline-media-group:hover .outline-image-hover {
    transform: scale(1.1);
}

.outline-image-hover {
    transition: transform 0.7s ease;
}

.outline-overlay-hover {
    transition: opacity 0.5s ease;
}

.outline-media-group:hover .outline-overlay-hover {
    opacity: 1;
}

.outline-float-star {
    top: -1rem;
    right: -1rem;
}

.outline-float-check {
    bottom: -1rem;
    left: -1rem;
}

@keyframes bounce-kf {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-25%); }
}

@keyframes pulse-kf {
    0%, 100% { opacity: 0.2; }
    50% { opacity: 0.35; }
}

.outline-bounce {
    animation: bounce-kf 1s infinite;
}

.outline-pulse {
    animation: pulse-kf 3s ease-in-out infinite;
}

.outline-card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.outline-card-group:hover .outline-card-hover {
    transform: scale(1.05);
    box-shadow: var(--bs-box-shadow-lg);
}

.outline-icon-rotate-hover {
    transition: transform 0.3s ease;
}

.outline-card-group:hover .outline-icon-rotate-hover {
    transform: rotate(12deg);
}

.outline-title-hover {
    transition: color 0.3s ease;
}

.outline-card-group:hover .outline-title-hover {
    color: var(--bs-primary);
}

.outline-sq-6  { width: 1.5rem;  height: 1.5rem;  flex-shrink: 0; }
.outline-sq-8  { width: 2rem;    height: 2rem;    flex-shrink: 0; }
.outline-sq-14 { width: 3.5rem;  height: 3.5rem;  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;
  }
}

/* awards — animated SVG mesh card backgrounds */
.awards-mesh__canvas {
  isolation: isolate;
}

/* BS-only canvas gradient (TW uses @sem gradient layer) */
.awards-mesh__canvas-bg {
  background: linear-gradient(
    to bottom right,
    color-mix(in srgb, var(--bs-primary) 55%, black),
    color-mix(in srgb, var(--bs-primary) 42%, black),
    var(--bs-primary)
  );
}

.dark .awards-mesh__canvas-bg,
[data-bs-theme="dark"] .awards-mesh__canvas-bg {
  background: linear-gradient(
    to bottom right,
    color-mix(in srgb, var(--bs-primary) 10%, black),
    color-mix(in srgb, var(--bs-primary) 22%, black),
    color-mix(in srgb, var(--bs-primary) 38%, black)
  );
}

.awards-mesh__svg {
  display: block;
}

.awards-mesh__orb {
  transform-origin: center;
  transform-box: fill-box;
}

.awards-mesh__orb--a {
  animation: awards-mesh-orb-drift-a 9s ease-in-out infinite;
}

.awards-mesh__orb--b {
  animation: awards-mesh-orb-drift-b 11s ease-in-out infinite;
  animation-delay: 1.5s;
}

.awards-mesh__orb--c {
  animation: awards-mesh-orb-pulse 6s ease-in-out infinite;
  animation-delay: 0.8s;
}

.awards-mesh__wave {
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: center;
}

.awards-mesh__wave--a {
  animation: awards-mesh-wave-slide 14s linear infinite;
}

.awards-mesh__wave--b {
  animation: awards-mesh-wave-slide 18s linear infinite reverse;
  animation-delay: 2s;
}

.awards-mesh__svg--1 .awards-mesh__orb--a {
  animation-delay: 0.5s;
}

.awards-mesh__svg--1 .awards-mesh__wave--a {
  animation-duration: 16s;
}

.awards-mesh__svg--2 .awards-mesh__orb--b {
  animation-delay: 2.5s;
}

.awards-mesh__svg--2 .awards-mesh__wave--b {
  animation-duration: 12s;
}

.awards-mesh__svg--3 .awards-mesh__orb--c {
  animation-delay: 1.2s;
}

@keyframes awards-mesh-orb-drift-a {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(12px, -10px) scale(1.08);
  }
}

@keyframes awards-mesh-orb-drift-b {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(-14px, 8px) scale(1.06);
  }
}

@keyframes awards-mesh-orb-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.75;
  }
}

@keyframes awards-mesh-wave-slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-40px);
  }
}

