/* Swasthi — Custom Styles */

html {
  scroll-behavior: smooth;
}

/* Scroll reveal animation */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* Section alternation */
.section-alt {
  background-color: #F9FAFB;
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}

/* Mega-menu */
.mega-menu {
  display: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  width: 600px;
  z-index: 50;
}

.mega-menu-trigger:hover > .mega-menu,
.mega-menu-trigger:focus-within > .mega-menu {
  display: block;
}

/* Mobile nav */
.mobile-nav-open {
  overflow: hidden;
}

/* Card */
.card-custom {
  background-color: #FFFFFF;
  border: 1px solid #e5e7eb;
}

/* Smooth hover transitions */
a, button {
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

/* Button base */
.btn-primary {
  background-color: #0AA0E4;
  color: white;
}
.btn-primary:hover {
  background-color: #0990CC;
}

/* CTA button on blue backgrounds */
.btn-cta {
  background-color: #FFFFFF;
  color: #0AA0E4;
}
.btn-cta:hover {
  background-color: #E8F4FD;
}

/* Hub-and-spoke map */
.map-line {
  stroke-dasharray: 6 4;
  animation: map-pulse 3s ease-in-out infinite;
}
@keyframes map-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

/* Footer partner logo placeholder */
.partner-logo-placeholder {
  border: 2px dashed #0AA0E4;
  background: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  color: #0AA0E4;
  font-size: 0.75rem;
  text-align: center;
  min-width: 160px;
  min-height: 60px;
}
