/* =========================================================
   FOREVER LIFE — SAFE SCROLL ANIMATIONS
   Visual effects only. No layout, width, grid, height,
   positioning, overflow or masonry rules are changed.
========================================================= */
:root{
  --fl-safe-ease:cubic-bezier(.22,1,.36,1);
  --fl-safe-duration:.78s;
}

.fl-safe-reveal{
  opacity:0;
  transition:
    opacity var(--fl-safe-duration) var(--fl-safe-ease),
    transform var(--fl-safe-duration) var(--fl-safe-ease),
    filter var(--fl-safe-duration) var(--fl-safe-ease);
  transition-delay:var(--fl-safe-delay,0ms);
  will-change:opacity,transform;
}

.fl-safe-fade-up{transform:translate3d(0,24px,0)}
.fl-safe-fade-left{transform:translate3d(-24px,0,0)}
.fl-safe-fade-right{transform:translate3d(24px,0,0)}
.fl-safe-scale{transform:scale(.97)}
.fl-safe-blur{filter:blur(2px)}

.fl-safe-reveal.fl-safe-visible{
  opacity:1;
  transform:none;
  filter:none;
}

/* Images retain their original dimensions and crop rules. */
.fl-safe-image{
  opacity:0;
  transition:opacity .9s var(--fl-safe-ease),filter .9s var(--fl-safe-ease);
  filter:brightness(.88) saturate(.90);
}
.fl-safe-image.fl-safe-visible{
  opacity:1;
  filter:none;
}

/* Cards only lift after reveal on hover. No entrance scaling. */
.fl-safe-card{
  opacity:0;
  transform:translate3d(0,18px,0);
  transition:
    opacity .72s var(--fl-safe-ease),
    transform .72s var(--fl-safe-ease),
    box-shadow .3s ease;
  transition-delay:var(--fl-safe-delay,0ms);
}
.fl-safe-card.fl-safe-visible{opacity:1;transform:none}

/* Never transform positioned hero/footer/gallery structures. */
.amp-hero .amp-cards .fl-safe-card,
.amp-hero .amp-bar.fl-safe-reveal,
.fg-grid .fl-safe-card,
.fl-footer .fl-safe-card{
  transform:none;
}

/* Gallery must remain visible and preserve its exact masonry engine. */
.fg-grid,
.fg-card,
.fg-card img,
.amp-gallery__grid,
.amp-gallery__item,
.amp-gallery__item img{
  animation:none !important;
}
.fg-card.fl-safe-card,
.amp-gallery__item.fl-safe-card{
  opacity:0;
  transform:none;
  transition:opacity .62s ease;
}
.fg-card.fl-safe-visible,
.amp-gallery__item.fl-safe-visible{opacity:1}

/* Navigation is never hidden by scroll animations. */
.fl-safe-nav,
.fl-safe-nav.fl-safe-visible,
nav,
header.nav,
.amp-nav,
.amb-nav,
.fg-nav{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
}

/* WhatsApp elder-care button animation. */
.fl-whatsapp-float{
  animation:fl-safe-whatsapp 2.8s ease-in-out infinite;
}
@keyframes fl-safe-whatsapp{
  0%,100%{box-shadow:0 12px 34px rgba(0,0,0,.18)}
  50%{box-shadow:0 12px 42px rgba(84,145,58,.42)}
}

@media(max-width:700px){
  :root{--fl-safe-duration:.58s}
  .fl-safe-fade-left,.fl-safe-fade-right,.fl-safe-fade-up{
    transform:translate3d(0,15px,0);
  }
}

@media(prefers-reduced-motion:reduce){
  .fl-safe-reveal,.fl-safe-card,.fl-safe-image,.fl-safe-nav{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
  .fl-whatsapp-float{animation:none !important}
}
