/* Rainier View Systems — Custom Styles */

/* Hero gradient */
.hero-gradient {
  background: linear-gradient(135deg, #1a365d 0%, #234e82 50%, #2d6a4f 100%);
}

/* CTA / Footer gradient */
.cta-gradient {
  background: linear-gradient(135deg, #2d6a4f 0%, #1a5a3a 100%);
}

/* PNW divider bar */
.pnw-divider {
  width: 48px;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, #0d9488, #2d6a4f);
}

/* Scroll fade-in animation */
.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  /* Fallback: CSS animation guarantees content appears even if JS fails */
  animation: fadeInFallback 0.6s ease-out 1.5s forwards;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
  animation: none;
}

@keyframes fadeInFallback {
  to {
    opacity: 1;
    transform: none;
  }
}

/* Nav scrolled state */
.nav-scrolled {
  background: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.nav-scrolled .nav-link {
  color: #1a365d;
}

.nav-scrolled .nav-link:hover {
  color: #0d9488;
}

.nav-scrolled #nav-brand {
  color: #1a365d;
}

.nav-scrolled #nav-brand-accent {
  color: #0d9488;
}

.nav-scrolled #mobile-menu-btn {
  color: #1a365d;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Form focus ring color */
input:focus {
  --tw-ring-color: #0d9488;
  border-color: #0d9488;
}

/* Button loading state */
.btn-loading {
  opacity: 0.7;
  cursor: wait;
}
