/* ============================================================
   animations-landscaping.css — Landscaping template animation states
   Initial hidden states, hover effects, reduced motion
   ============================================================ */

/* --- Hero initial states (CSS hides, GSAP reveals) --- */
.fr-hero-charlie .section__eyebrow-heading {
  opacity: 0;
  transform: translateY(20px);
}

.fr-hero-charlie .fr-hero-charlie__heading {
  opacity: 0;
  transform: translateY(40px);
  will-change: transform, opacity;
}

.fr-hero-charlie .fr-hero-charlie__cta-wrapper {
  opacity: 0;
  transform: translateY(30px);
}

/* --- Hover effects — feature cards --- */
.fr-feature-card-echo {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fr-feature-card-echo:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* --- Hover effects — testimonial cards --- */
.fr-testimonial-card-golf {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fr-testimonial-card-golf:hover {
  transform: translateY(-3px);
}

/* --- Hover effects — footer links --- */
.fr-footer-delta__nav-link {
  transition: color 0.2s ease;
}

.fr-social-alpha__icon-wrapper {
  transition: transform 0.2s ease;
}

.fr-social-alpha__icon-wrapper:hover {
  transform: translateY(-2px);
}

/* --- Fallback: if GSAP fails to load, reveal hero --- */
html.no-gsap .fr-hero-charlie .section__eyebrow-heading,
html.no-gsap .fr-hero-charlie .fr-hero-charlie__heading,
html.no-gsap .fr-hero-charlie .fr-hero-charlie__cta-wrapper {
  opacity: 1 !important;
  transform: none !important;
}

/* --- Accessibility: reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  .fr-hero-charlie .section__eyebrow-heading,
  .fr-hero-charlie .fr-hero-charlie__heading,
  .fr-hero-charlie .fr-hero-charlie__cta-wrapper {
    opacity: 1 !important;
    transform: none !important;
  }

  .fr-feature-card-echo,
  .fr-testimonial-card-golf,
  .fr-social-alpha__icon-wrapper {
    transition: none !important;
  }
}
