/* ========== BASE ========== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { display: block; max-width: 100%; }

/* ========== NAVBAR ========== */
#navbar { background: transparent; }
#navbar.scrolled { background: rgba(253, 242, 244, 0.95); backdrop-filter: blur(12px); box-shadow: 0 1px 0 rgba(140, 46, 72, 0.08); }

/* ========== MOBILE MENU ========== */
.mobile-link { border-bottom: 1px solid rgba(140, 46, 72, 0.08); }
.mobile-link:last-child { border-bottom: none; }

/* ========== FLOATING CARDS ========== */
.floating-card {
  animation: float 4s ease-in-out infinite;
}
.card-top { animation-delay: 0s; }
.card-mid { animation-delay: 1.3s; }
.card-bot { animation-delay: 2.6s; }

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

/* ========== SCROLL REVEAL ========== */
.scroll-reveal {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
@media (prefers-reduced-motion: no-preference) {
  .scroll-reveal {
    opacity: 0;
    transform: translateY(24px);
  }
  .scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
  }
}
