/* ============================================
   SCROLL REVEAL ANIMATIONS
   ============================================ */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children inside offer-grid and about-card-stack */
.offers-grid .offer-card:nth-child(2),
.about-card-stack .about-stat-card:nth-child(2) { transition-delay: 0.08s; }
.offers-grid .offer-card:nth-child(3),
.about-card-stack .about-stat-card:nth-child(3) { transition-delay: 0.16s; }
.about-card-stack .about-stat-card:nth-child(4) { transition-delay: 0.24s; }

/* About photo */
.about-photo {
  width: 100%;
  max-width: 420px;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lifted);
  object-fit: cover;
  object-position: center top;
  border: 3px solid var(--divider);
  margin: 0 auto;
}

/* Ensure no layout issues with reveal inside hero (already visible) */
.hero .reveal {
  opacity: 0;
  transform: translateY(20px);
}
.hero .reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}
.hero .hero-copy.reveal { transition-delay: 0.15s; }

/* Favicon SVG (reference only — actual file generated separately) */
