/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { min-height: 100vh; }

/* ===== NAV ===== */
#site-header { height: 4.5rem; }
@media (max-width: 767px) { #site-header { height: 4rem; } }

/* ===== BLOBS ===== */
.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.5;
  animation: blobFloat 8s ease-in-out infinite alternate;
}
.blob-green  { background: #1B5E20; }
.blob-berry  { background: #8E24AA; }
.blob-mango  { background: #FFC107; }
.blob-cream  { background: #FAF5E8; }

.blob-1 { width: 420px; height: 420px; top: -10%; left: -8%; animation-delay: 0s; }
.blob-2 { width: 320px; height: 320px; top: 10%; right: -5%; animation-delay: -3s; }
.blob-3 { width: 260px; height: 260px; bottom: 5%; left: 20%; animation-delay: -5s; }
.blob-4 { width: 200px; height: 200px; bottom: 20%; right: 15%; animation-delay: -2s; }

@keyframes blobFloat {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(30px, -20px) scale(1.05); }
  100% { transform: translate(-20px, 20px) scale(0.95); }
}

/* ===== REVEAL ANIMATIONS (below-fold only) ===== */
.reveal-card {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease, transform 0.6s ease, box-shadow 0.3s ease;
}

@media (prefers-reduced-motion: no-preference) {
  .reveal-card {
    opacity: 0;
    transform: translateY(24px);
  }
  .reveal-card.revealed {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Stagger delays */
.reveal-card:nth-child(1) { transition-delay: 0.05s; }
.reveal-card:nth-child(2) { transition-delay: 0.12s; }
.reveal-card:nth-child(3) { transition-delay: 0.19s; }
.reveal-card:nth-child(4) { transition-delay: 0.26s; }
.reveal-card:nth-child(5) { transition-delay: 0.33s; }
.reveal-card:nth-child(6) { transition-delay: 0.40s; }

/* ===== MOBILE MENU ===== */
.mobile-link { display: block; }

/* ===== FOCUS ===== */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 2px solid #1B5E20;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #FFFCF5; }
::-webkit-scrollbar-thumb { background: #c5e1a5; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #66bb6a; }
