/* Home page — scroll reveal & ambient motion */

/* Hero: hide extra slides only until Slick mounts (avoid stacked flash) */
.sum-hero-v8.sum-hero-clean .banner-slide-eight:not(.slick-initialized) .banner-slide:not(:first-child) {
  display: none;
}

.sum-hero-v8.sum-hero-clean .banner-slide-eight.slick-initialized .slick-list {
  overflow: hidden;
}

.sum-hero-v8.sum-hero-clean .banner-slide-eight.slick-initialized .slick-slide.slick-active {
  z-index: 1;
}

.sum-hero-v8.sum-hero-clean .banner-slide-eight.slick-initialized .banner-content,
.sum-hero-v8.sum-hero-clean .banner-slide-eight.slick-initialized .sum-hero-banner-img,
.sum-hero-v8.sum-hero-clean .banner-slide-eight.slick-initialized .banner-sec-info,
.sum-hero-v8.sum-hero-clean .banner-slide-eight.slick-initialized .banner-sec-info * {
  opacity: 1 !important;
  visibility: visible !important;
}

.sum-dept-browse__slider:not(.slick-initialized) {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 8px;
}

.sum-dept-browse__slider:not(.slick-initialized) .sum-dept-slide {
  flex: 0 0 min(280px, 85vw);
  scroll-snap-align: start;
}

.sum-home-corp-slider:not(.slick-initialized) {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.sum-home-corp-slider:not(.slick-initialized) .sum-home-corp-slide {
  flex: 0 0 min(200px, 70vw);
  scroll-snap-align: start;
}

.testi-slider-eight:not(.slick-initialized) .testi-info-eight:not(:first-child) {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .sum-home-reveal,
  .sum-home-reveal--left,
  .sum-home-reveal--right,
  .sum-home-reveal--scale {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .sum-home-float,
  .sum-home-glow-drift,
  .sum-home-pulse-ring,
  .sum-commitment-card__icon,
  .sum-commitment-card__icon i {
    animation: none !important;
  }
}

.sum-home-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.sum-home-reveal--left {
  transform: translateX(-36px);
}

.sum-home-reveal--right {
  transform: translateX(36px);
}

.sum-home-reveal--scale {
  transform: scale(0.96) translateY(20px);
}

.sum-home-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Commitment cards */
.sum-home-mobile-match .sum-commitment-card {
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.sum-home-mobile-match .sum-commitment-card:hover {
  transform: translateY(-8px);
  border-color: rgba(62, 201, 228, 0.35) !important;
  box-shadow: 0 20px 44px rgba(21, 39, 78, 0.12);
}

/* Department browse — drifting glow orbs */
@keyframes sumHomeGlowDrift {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
    opacity: 0.42;
  }
  50% {
    transform: translate(14px, -10px) scale(1.06);
    opacity: 0.58;
  }
}

.sum-home-mobile-match .sum-dept-browse__glow--1,
.sum-home-mobile-match .sum-home-corp__glow--1 {
  animation: sumHomeGlowDrift 9s ease-in-out infinite;
}

.sum-home-mobile-match .sum-dept-browse__glow--2,
.sum-home-mobile-match .sum-home-corp__glow--2 {
  animation: sumHomeGlowDrift 11s ease-in-out infinite reverse;
}

/* Facilities hub — gentle float */
@keyframes sumHomeFloat {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

@keyframes sumHomePulseRing {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(62, 201, 228, 0.28);
  }
  50% {
    box-shadow: 0 0 0 14px rgba(62, 201, 228, 0);
  }
}

.sum-home-mobile-match .sum-facilities-circle-wrap {
  border-radius: 50%;
  animation: sumHomeFloat 5.5s ease-in-out infinite, sumHomePulseRing 3s ease-in-out infinite;
}

.sum-home-mobile-match .sum-facilities-icon {
  animation: sumHomeFloat 4.8s ease-in-out infinite 0.4s;
}

/* Facility panel content swap */
.sum-home-mobile-match .sum-facility-panel.is-switching {
  opacity: 0;
  transform: translateY(8px);
}

.sum-home-mobile-match .sum-facility-panel {
  transition: opacity 0.28s ease, transform 0.28s ease;
}

/* Contact stat blocks */
.sum-home-mobile-match .service-section-ten .service-block-ten {
  transition:
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.32s ease,
    background 0.32s ease;
}

.sum-home-mobile-match .service-section-ten .service-block-ten:hover {
  transform: translateY(-6px) scale(1.02);
}

.sum-home-mobile-match .service-section-ten .ser-icon-ten img {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.sum-home-mobile-match .service-section-ten .service-block-ten:hover .ser-icon-ten img {
  transform: scale(1.12) rotate(-4deg);
}

/* Corp stat counter pop */
.sum-home-mobile-match .sum-home-corp__stat strong.is-counted {
  animation: sumHomeStatPop 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes sumHomeStatPop {
  0% {
    transform: scale(0.85);
    opacity: 0.5;
  }
  60% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Dept / corp cards shine on hover */
.sum-home-mobile-match .sum-dept-card,
.sum-home-mobile-match .sum-home-corp-card {
  position: relative;
  overflow: hidden;
}

.sum-home-mobile-match .sum-dept-card::after,
.sum-home-mobile-match .sum-home-corp-card::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 55%;
  height: 100%;
  background: linear-gradient(
    105deg,
    transparent 0%,
    rgba(255, 255, 255, 0.45) 48%,
    transparent 100%
  );
  transform: skewX(-18deg);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.sum-home-mobile-match .sum-dept-card:hover::after,
.sum-home-mobile-match .sum-home-corp-card:hover::after {
  opacity: 1;
  animation: sumHomeCardShine 0.75s ease forwards;
}

@keyframes sumHomeCardShine {
  to {
    left: 140%;
  }
}
