/* ═══════════════════════════════════════
   CÉLIBATAIRES CHRÉTIENS — ANIMATIONS
   Scroll reveals: handled by JS IntersectionObserver (inline styles)
   Hero entrance: CSS keyframes (fire on load, no JS needed)
═══════════════════════════════════════ */

/* ── HERO ENTRANCE KEYFRAMES ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes crossFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes scrollPulse {
  0%, 100% { opacity: 0.35; }
  50%       { opacity: 1; }
}
@keyframes dotPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(201,96,74,0.22); }
  50%       { box-shadow: 0 0 0 6px rgba(201,96,74,0); }
}

/* ── HERO — fires immediately on page load ── */
.hero-eyebrow {
  animation: fadeUp 0.9s 0.25s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.hero-title {
  animation: fadeUp 1.0s 0.45s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.hero-verse {
  animation: fadeUp 0.9s 0.68s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.hero-actions {
  animation: fadeUp 0.9s 0.88s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.hero-scroll {
  animation: fadeUp 0.7s 1.3s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.cross-float { animation: crossFade 1.2s 1.1s cubic-bezier(0.16,1,0.3,1) both; }
.cf2         { animation-delay: 1.4s; }
.scroll-line { animation: scrollPulse 2.2s ease infinite; }
.trust-dot   { animation: dotPulse 2.5s ease infinite; }

/* ── KEN-BURNS ── */
.hero-img {
  transition: transform 9s ease;
  transform: scale(1.03);
}
.hero-img.loaded { transform: scale(1); }

/* ── REDUCED MOTION — show everything immediately ── */
@media (prefers-reduced-motion: reduce) {
  .hero-eyebrow, .hero-title, .hero-verse,
  .hero-actions, .hero-scroll, .cross-float {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* ── SCROLL REVEAL (scrollytelling skill — progressive reveal pattern) ── */
.sr {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.sr.sr-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays for grouped elements */
.sr.sr-d1 { transition-delay: 0.10s; }
.sr.sr-d2 { transition-delay: 0.22s; }
.sr.sr-d3 { transition-delay: 0.34s; }
.sr.sr-d4 { transition-delay: 0.46s; }
.sr.sr-d5 { transition-delay: 0.58s; }

/* Reduced motion — show immediately */
@media (prefers-reduced-motion: reduce) {
  .sr { opacity: 1; transform: none; transition: none; }
}

/*8514.1.399.152.88445ab*/