
    * { font-family: 'Inter', system-ui, -apple-system, sans-serif; }
    /* fade-up animation */
    @keyframes fadeUp {
      0% { opacity: 0; transform: translateY(20px); }
      100% { opacity: 1; transform: translateY(0); }
    }
    .animate-fade-up {
      animation: fadeUp 0.7s cubic-bezier(0.15, 0.85, 0.35, 1) forwards;
    }
    /* staggered delays (for cards/images) */
    .stagger-1 { animation-delay: 0.1s; opacity: 0; animation-fill-mode: forwards; }
    .stagger-2 { animation-delay: 0.25s; opacity: 0; animation-fill-mode: forwards; }
    .stagger-3 { animation-delay: 0.4s; opacity: 0; animation-fill-mode: forwards; }
    .stagger-4 { animation-delay: 0.55s; opacity: 0; animation-fill-mode: forwards; }
    /* soft image reveal */
    @keyframes softReveal {
      0% { opacity: 0; transform: scale(0.96); }
      100% { opacity: 1; transform: scale(1); }
    }
    .img-reveal {
      animation: softReveal 0.9s ease-out forwards;
    }
    /* card hover lift */
    .lift-hover {
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .lift-hover:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 30px -10px rgba(0,70,60,0.15);
    }
    body { background-color: #fafcfc; }
    /* mobile menu overlay */
    .mobile-menu-open {
      transform: translateX(0);
      opacity: 1;
      visibility: visible;
    }
.slide-transition {
      transition: opacity 0.7s ease-in-out, visibility 0.7s ease-in-out;
    }