/* Animations & flower/petal motion */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); filter: blur(6px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes fadeIn {
  from { opacity: 0; } to { opacity: 1; }
}
@keyframes softGlow {
  0%, 100% { text-shadow: 0 0 12px rgba(212,175,55,0.25); }
  50% { text-shadow: 0 0 28px rgba(212,175,55,0.55), 0 0 60px rgba(178,58,90,0.25); }
}
@keyframes flowerFloat {
  0%, 100% { transform: translateY(0) rotate(var(--rot, 0deg)); }
  50% { transform: translateY(-12px) rotate(calc(var(--rot, 0deg) + 3deg)); }
}
@keyframes flowerSway {
  0%, 100% { transform: rotate(-4deg) scale(1); }
  50% { transform: rotate(5deg) scale(1.03); }
}
@keyframes petalFall {
  0% { transform: translate3d(0, -10vh, 0) rotate(0deg); opacity: 0; }
  10% { opacity: var(--op, 0.85); }
  100% { transform: translate3d(var(--drift, 40px), 110vh, 0) rotate(var(--spin, 360deg)); opacity: 0; }
}
@keyframes petalRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes heartRise {
  0% { transform: translate3d(0, 0, 0) scale(0.6) rotate(0deg); opacity: 0; }
  15% { opacity: var(--hop, 0.9); }
  100% { transform: translate3d(var(--hx, 20px), -110vh, 0) scale(1.15) rotate(var(--hr, 25deg)); opacity: 0; }
}
@keyframes pulseSoft {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}
@keyframes scaleBlurIn {
  from { opacity: 0; transform: scale(0.92); filter: blur(10px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes slideUpSoft {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: none; }
}

.home-flower {
  position: absolute;
  width: var(--size, 140px);
  height: var(--size, 140px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.85;
  animation: flowerFloat 7s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
  filter: drop-shadow(0 12px 20px rgba(0,0,0,0.35));
  pointer-events: none;
}
.home-flower.sway { animation: flowerSway 6s ease-in-out infinite; }

.petal {
  position: absolute;
  top: -5vh;
  left: var(--x, 50%);
  width: var(--size, 14px);
  height: calc(var(--size, 14px) * 1.35);
  border-radius: 70% 0 70% 0;
  background: radial-gradient(circle at 30% 30%, #fff, #f2a0b5 45%, #b23a5a);
  opacity: var(--op, 0.8);
  animation: petalFall var(--dur, 9s) linear infinite;
  animation-delay: var(--delay, 0s);
  will-change: transform, opacity;
}

.floating-heart {
  position: absolute;
  bottom: -5vh;
  left: var(--x, 50%);
  font-size: var(--size, 18px);
  animation: heartRise var(--dur, 8s) ease-out infinite;
  animation-delay: var(--delay, 0s);
  pointer-events: none;
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
