/* Base tweaks & utilities for ReThought Solutions */

html {
  scroll-behavior: smooth;
}

/* Ensure content isn't hidden behind fixed header for anchor jumps (older browsers) */
section {
  scroll-margin-top: 6rem;
}

/* Service cards */
.service-card {
  @apply rounded-2xl bg-slate-800/60 p-5 shadow-sm transition hover:-translate-y-1 hover:bg-slate-800 hover:shadow-lg;
}

.service-icon {
  @apply mb-3 inline-flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-rtPrimary to-rtTeal text-white;
}

.service-title {
  @apply mb-2 text-base font-semibold text-white;
}

.service-text {
  @apply mb-3 text-sm text-slate-300;
}

.service-list {
  @apply space-y-1 text-xs text-slate-300;
}

.service-list li::before {
  content: "• ";
  color: rgb(204, 34, 111); /* rtPrimary */
}

/* Approach steps */
.approach-step {
  @apply rounded-2xl bg-slate-100 p-5 shadow-sm;
}

.step-number {
  @apply mb-1 text-xs font-semibold uppercase tracking-[0.2em] text-rtPrimary;
}

.step-title {
  @apply mb-1 text-base font-semibold text-slate-900;
}

.step-text {
  @apply text-sm text-rtIndigo;
}

/* Logo ticker strip */
.ticker {
  overflow: hidden;
  position: relative;
}

.ticker-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 3rem;
  animation: tickerScroll 45s linear infinite;
  width: max-content;
}

.ticker-track:hover {
  animation-play-state: paused;
}

.ticker-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Logos themselves (grayscale by default) */
.client-logo-img {
  max-height: 2.5rem;
  width: auto;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: filter 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.client-logo-img:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: translateY(-2px);
}

@keyframes tickerScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* Mobile nav open/closed helpers */
#mobile-nav.nav-open {
  max-height: 320px;
  opacity: 1;
  pointer-events: auto;
  transition: max-height 0.25s ease, opacity 0.25s ease;
}

#mobile-nav.nav-closed {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition: max-height 0.2s ease, opacity 0.2s ease;
}

/* Active nav link (desktop + mobile) */
.nav-link-active {
  color: #cc226f; /* rtPrimary */
}

/* Fallback font stack */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
}

