/* ============================================
   Animations — Scroll Reveals, Parallax, Bees
   ============================================ */

/* --- Scroll Reveal --- */
[data-animate] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity var(--transition-reveal), transform var(--transition-reveal);
}

[data-animate="fade-left"]  { transform: translateX(-40px); }
[data-animate="fade-right"] { transform: translateX(40px); }
[data-animate="scale-up"]   { transform: scale(0.92); }
[data-animate="fade-up"]    { transform: translateY(30px); }

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0) translateX(0) scale(1);
}

/* Stagger children */
[data-animate-stagger] > [data-animate]:nth-child(1) { transition-delay: 0s; }
[data-animate-stagger] > [data-animate]:nth-child(2) { transition-delay: 0.15s; }
[data-animate-stagger] > [data-animate]:nth-child(3) { transition-delay: 0.3s; }
[data-animate-stagger] > [data-animate]:nth-child(4) { transition-delay: 0.45s; }
[data-animate-stagger] > [data-animate]:nth-child(5) { transition-delay: 0.6s; }
[data-animate-stagger] > [data-animate]:nth-child(6) { transition-delay: 0.75s; }

/* --- Hero Entry --- */
.hero__overline  { animation: hero-fade-up 0.8s ease-out 0.2s both; }
.hero__title     { animation: hero-fade-up 0.8s ease-out 0.4s both; }
.hero__subtitle  { animation: hero-fade-up 0.8s ease-out 0.6s both; }
.hero__actions   { animation: hero-fade-up 0.8s ease-out 0.8s both; }

@keyframes hero-fade-up {
  from { opacity: 0; transform: translateY(25px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* --- Animated Bees --- */
.animated-bee {
  position: absolute;
  width: 32px;
  height: 32px;
  z-index: 3;
  pointer-events: none;
  opacity: 0.6;
}

.animated-bee--1 {
  top: 25%;
  left: -5%;
  animation: bee-float-1 20s ease-in-out infinite alternate;
}

.animated-bee--2 {
  top: 65%;
  right: -5%;
  animation: bee-float-2 24s ease-in-out infinite alternate;
}

@keyframes bee-float-1 {
  0%   { transform: translate(0, 0) rotate(10deg); }
  20%  { transform: translate(15vw, -4vh) rotate(5deg); }
  40%  { transform: translate(30vw, 2vh) rotate(-5deg); }
  60%  { transform: translate(50vw, -3vh) rotate(8deg); }
  80%  { transform: translate(65vw, 1vh) rotate(-3deg); }
  100% { transform: translate(80vw, -1vh) rotate(5deg); }
}

@keyframes bee-float-2 {
  0%   { transform: translate(0, 0) rotate(-5deg); }
  25%  { transform: translate(-18vw, 3vh) rotate(5deg); }
  50%  { transform: translate(-35vw, -2vh) rotate(-8deg); }
  75%  { transform: translate(-55vw, 2vh) rotate(3deg); }
  100% { transform: translate(-70vw, -1vh) rotate(-5deg); }
}

.animated-bee .bee-wing {
  animation: bee-wings 0.12s ease-in-out infinite;
  transform-origin: bottom center;
}

@keyframes bee-wings {
  0%, 100% { transform: scaleY(1) rotate(0deg); }
  50%      { transform: scaleY(0.5) rotate(5deg); }
}

/* --- Decorative Page Bees (across all pages) --- */
.page-bee {
  position: absolute;
  width: 34px;
  height: 34px;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.page-bee.is-visible {
  opacity: 0.7;
}

.page-bee--a {
  top: 15%;
  right: 5%;
  animation: page-bee-a 18s ease-in-out infinite alternate;
}

.page-bee--b {
  bottom: 20%;
  left: 3%;
  animation: page-bee-b 22s ease-in-out infinite alternate;
}

.page-bee--c {
  top: 50%;
  right: 8%;
  animation: page-bee-c 25s ease-in-out infinite alternate;
}

@keyframes page-bee-a {
  0%   { transform: translate(0, 0) rotate(5deg) scale(1); }
  25%  { transform: translate(-6vw, 3vh) rotate(-8deg) scale(0.95); }
  50%  { transform: translate(-12vw, -2vh) rotate(10deg) scale(1.05); }
  75%  { transform: translate(-4vw, 5vh) rotate(-5deg) scale(0.9); }
  100% { transform: translate(-10vw, 1vh) rotate(8deg) scale(1); }
}

@keyframes page-bee-b {
  0%   { transform: translate(0, 0) rotate(-5deg); }
  20%  { transform: translate(5vw, -4vh) rotate(8deg); }
  40%  { transform: translate(10vw, 2vh) rotate(-3deg); }
  60%  { transform: translate(3vw, -5vh) rotate(10deg); }
  80%  { transform: translate(8vw, 3vh) rotate(-6deg); }
  100% { transform: translate(6vw, -1vh) rotate(5deg); }
}

@keyframes page-bee-c {
  0%   { transform: translate(0, 0) rotate(8deg); }
  33%  { transform: translate(-8vw, -3vh) rotate(-5deg); }
  66%  { transform: translate(-3vw, 4vh) rotate(12deg); }
  100% { transform: translate(-6vw, -2vh) rotate(-3deg); }
}

.page-bee .bee-wing {
  animation: bee-wings 0.12s ease-in-out infinite;
  transform-origin: bottom center;
}

/* Hide page bees on small screens for performance */
@media (max-width: 767px) {
  .page-bee { display: none; }
}

/* --- Reduced Motion --- */
@media (prefers-reduced-motion: reduce) {
  .animated-bee,
  .animated-bee .bee-wing,
  .page-bee,
  .page-bee .bee-wing {
    animation: none !important;
  }

  .animated-bee { opacity: 0.4; }
  .page-bee { display: none !important; }

  .hero__overline,
  .hero__title,
  .hero__subtitle,
  .hero__actions {
    animation: none !important;
    opacity: 1;
    transform: none;
  }

  .hero__scroll-link svg { animation: none !important; }

  [data-animate] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .card, .pricing-card, .btn { transition: none !important; }

  .hero__bg, .cta-banner__bg { background-attachment: scroll !important; }

  html { scroll-behavior: auto; }
}
