/*
 * Homepage-specific styles lifted verbatim from the legacy index.html inline
 * <style> block (Technology Partners marquee + hero height tweaks). These were
 * never in the shared style.css, so they must travel with the homepage.
 */

.minimal-partner-strip {
  background-color: #f8fcfd;
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.01) 25%,
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.01) 75%,
      rgba(0, 0, 0, 0.01)
    ),
    repeating-linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.01) 25%,
      #f8fcfd 25%,
      #f8fcfd 75%,
      rgba(0, 0, 0, 0.01) 75%,
      rgba(0, 0, 0, 0.01)
    );
  background-position:
    0 0,
    10px 10px;
  background-size: 20px 20px;
  padding: 100px 0 50px;
  border-top: 1px solid rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.03);
  position: relative;
  z-index: 2;
}

.minimal-partner-title {
  font-size: 36px;
  font-weight: 700;
  color: #1a1a1a;
  text-transform: capitalize;
  letter-spacing: normal;
  text-align: center;
  margin-bottom: 60px;
}

.minimal-partner-title .sub {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--theme-color);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 15px;
}

.minimal-partner-grid-wrapper {
  overflow: hidden;
  position: relative;
}

.minimal-partner-grid-wrapper::before,
.minimal-partner-grid-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  width: 15rem;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.minimal-partner-grid-wrapper::before {
  left: 0;
  background: linear-gradient(to right, #f8fcfd 0%, transparent 100%);
}

.minimal-partner-grid-wrapper::after {
  right: 0;
  background: linear-gradient(to left, #f8fcfd 0%, transparent 100%);
}

.minimal-partner-grid {
  display: flex;
  width: max-content;
  animation: minimalScroller 40s linear infinite;
}

.minimal-partner-grid:hover {
  animation-play-state: paused;
}

.minimal-partner-track {
  display: flex;
  align-items: center;
  gap: 120px;
  padding-right: 120px;
}

@keyframes minimalScroller {
  to {
    transform: translateX(-50%);
  }
}

.minimal-logo-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  transition: all 0.4s ease;
}

.minimal-logo-item:hover {
  transform: translateY(-5px);
}

.minimal-logo-img {
  object-fit: contain;
  filter: grayscale(100%) opacity(60%);
  transition: all 0.4s ease;
}

.minimal-logo-item:hover .minimal-logo-img {
  filter: grayscale(0%) opacity(100%);
}

/* Optical Balancing */
.logo-databricks {
  width: 240px;
  height: auto;
}

.logo-claude {
  width: 160px;
  height: auto;
}

.logo-timbr {
  width: 160px;
  height: auto;
}

@media (max-width: 768px) {
  .minimal-partner-strip {
    padding: 40px 0 40px;
    overflow: hidden;
  }

  .minimal-partner-title {
    font-size: 28px;
    margin-bottom: 30px;
  }

  .minimal-partner-title .sub {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .minimal-partner-grid-wrapper::before,
  .minimal-partner-grid-wrapper::after {
    width: 3rem;
  }

  .minimal-partner-track {
    gap: 50px;
    padding-right: 50px;
  }

  .minimal-partner-grid {
    animation-duration: 30s;
  }

  .minimal-logo-item {
    flex: 0 0 auto;
  }

  .logo-databricks {
    width: 180px;
  }

  .logo-claude {
    width: 120px;
  }

  .logo-timbr {
    width: 110px;
  }
}

/* Target: Reduce Hero Height to 80vh */
.hero-19 .hero-inner {
  min-height: 80vh;
  display: flex;
  align-items: center;
  padding-top: 80px;
}

.hero-19 .hero-style19,
.hero-19 .c_hero-style19_ext {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 1199px) {
  .hero-19 .hero-inner {
    min-height: auto;
    padding-top: 140px;
    padding-bottom: 60px;
  }
}
